Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fe0082d4 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'qcom-dt-for-4.7' of...

Merge tag 'qcom-dt-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt

Merge "Qualcomm Device Tree Changes for v4.7" from Andy Gross:

* Add DB600C support
* Add IPQ4019 support
* Add additional nodes for APQ8064
* Fix APQ8064 pinctrls for i2c/spi
* Add MSM8974 nodes for smp2p and smd
* Modify MSM8974 memory reserve for rfsa and rmtfs
* Add support for BQ27541 on Nexus7

* tag 'qcom-dt-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: (30 commits)
  device-tree: nexus7: Add bq27541 battery interface to dts
  ARM: dts: db600c: add support to magnetometer
  ARM: dts: db600c: add spi support
  ARM: dts: db600c: add i2c support
  ARM: dts: db600c: Add on board leds support
  ARM: dts: db600c: add on board sata support.
  ARM: dts: db600c: add pcie support
  ARM: dts: db600c: add usb support
  ARM: dts: db600c: Add eMMC and SD card support
  ARM: dts: db600c: add pmic regulator supplies
  ARM: dts: db600c: add board support with serial
  ARM: dts: apq8064: add gsbi7 i2c support
  ARM: dts: apq8064: add support to gsbi1 uart
  ARM: dts: apq8064: fix the pinctrls for i2c and spi
  ARM: dts: qcom: apq8064: Add smd node and all edges
  ARM: dts: qcom: apq8064: Add complete smsm node
  ARM: dts: qcom: apq8064: Add syscon for sic-non-secure
  ARM: dts: msm8974: Add modem smp2p and smd nodes
  ARM: dts: msm8974: Add node for second i2c from blsp1
  ARM: dts: msm8974: Split efs in rfsa and rmtfs
  ...
parents 312ce1d1 3db63602
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -561,6 +561,7 @@ dtb-$(CONFIG_ARCH_ORION5X) += \
dtb-$(CONFIG_ARCH_PRIMA2) += \
	prima2-evb.dtb
dtb-$(CONFIG_ARCH_QCOM) += \
	qcom-apq8064-arrow-db600c.dtb \
	qcom-apq8064-cm-qs600.dtb \
	qcom-apq8064-ifc6410.dtb \
	qcom-apq8064-sony-xperia-yuga.dtb \
@@ -568,6 +569,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
	qcom-apq8074-dragonboard.dtb \
	qcom-apq8084-ifc6540.dtb \
	qcom-apq8084-mtp.dtb \
	qcom-ipq4019-ap.dk01.1-c1.dtb \
	qcom-ipq8064-ap148.dtb \
	qcom-msm8660-surf.dtb \
	qcom-msm8960-cdp.dtb \
+52 −0
Original line number Diff line number Diff line
&tlmm_pinmux {
	card_detect: card-detect {
		mux {
			pins = "gpio26";
			function = "gpio";
			bias-disable;
		};
	};

	pcie_pins: pcie-pinmux {
		mux {
			pins = "gpio27";
			function = "gpio";
		};
		conf {
			pins = "gpio27";
			drive-strength = <12>;
			bias-disable;
		};
	};

	user_leds: user-leds {
		mux {
			pins = "gpio3", "gpio7", "gpio10", "gpio11";
			function = "gpio";
		};

		conf {
			pins = "gpio3", "gpio7", "gpio10", "gpio11";
			function = "gpio";
			output-low;
		};
	};

	magneto_pins: magneto-pins {
		mux {
			pins = "gpio31", "gpio48";
			function = "gpio";
			bias-disable;
		};
	};
};

&pm8921_mpps {
	mpp_leds: mpp-leds {
		pinconf {
			pins = "mpp7", "mpp8";
			function = "digital";
			output-low;
		};
	};
};
+349 −0
Original line number Diff line number Diff line
#include "qcom-apq8064-v2.0.dtsi"
#include "qcom-apq8064-arrow-db600c-pins.dtsi"
#include <dt-bindings/gpio/gpio.h>

/ {
	model = "Arrow Electronics, APQ8064 DB600c";
	compatible = "arrow,db600c", "qcom,apq8064";

	aliases {
		serial0 = &gsbi7_serial;
		serial1 = &gsbi1_serial;
		i2c0 = &gsbi2_i2c;
		i2c1 = &gsbi3_i2c;
		i2c2 = &gsbi4_i2c;
		i2c3 = &gsbi7_i2c;
		spi0 = &gsbi5_spi;
	};

	regulators {
		compatible = "simple-bus";
		vph: regulator-fixed@1 {
			compatible = "regulator-fixed";
			regulator-min-microvolt = <4500000>;
			regulator-max-microvolt = <4500000>;
			regulator-name = "VPH";
			regulator-type = "voltage";
			regulator-boot-on;
		};

		/* on board fixed 3.3v supply */
		vcc3v3: vcc3v3 {
			compatible = "regulator-fixed";
			regulator-name = "VCC3V3";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};

	};

	soc {
		rpm@108000 {
			regulators {
				vdd_s1-supply = <&vph>;
				vdd_s2-supply = <&vph>;
				vdd_s3-supply = <&vph>;
				vdd_s4-supply = <&vph>;
				vdd_s5-supply = <&vph>;
				vdd_s6-supply = <&vph>;
				vdd_s7-supply = <&vph>;
				vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
				vdd_l3_l15_l17-supply = <&vph>;
				vdd_l4_l14-supply = <&vph>;
				vdd_l5_l8_l16-supply = <&vph>;
				vdd_l6_l7-supply = <&vph>;
				vdd_l9_l11-supply = <&vph>;
				vdd_l10_l22-supply = <&vph>;
				vdd_l21_l23_l29-supply = <&vph>;
				vdd_l24-supply = <&pm8921_s1>;
				vdd_l25-supply = <&pm8921_s1>;
				vdd_l26-supply = <&pm8921_s7>;
				vdd_l27-supply = <&pm8921_s7>;
				vdd_l28-supply = <&pm8921_s7>;
				vin_lvs1_3_6-supply = <&pm8921_s4>;
				vin_lvs2-supply = <&pm8921_s1>;
				vin_lvs4_5_7-supply = <&pm8921_s4>;

				s1 {
					regulator-always-on;
					regulator-min-microvolt = <1225000>;
					regulator-max-microvolt = <1225000>;
					qcom,switch-mode-frequency = <3200000>;
					bias-pull-down;
				};

				s3 {
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1400000>;
					qcom,switch-mode-frequency = <4800000>;
				};

				s4 {
					regulator-min-microvolt	= <1800000>;
					regulator-max-microvolt	= <1800000>;
					qcom,switch-mode-frequency = <3200000>;
					bias-pull-down;
					regulator-always-on;
				};

				s7 {
					regulator-min-microvolt = <1300000>;
					regulator-max-microvolt = <1300000>;
					qcom,switch-mode-frequency = <3200000>;
				 };

				l3 {
					regulator-min-microvolt = <3050000>;
					regulator-max-microvolt = <3300000>;
					bias-pull-down;
				};

				l4 {
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1800000>;
					bias-pull-down;
				};

				l5 {
					regulator-min-microvolt = <2750000>;
					regulator-max-microvolt = <3000000>;
					bias-pull-down;
					regulator-boot-on;
					regulator-always-on;
				};

				l6 {
					regulator-min-microvolt = <2950000>;
					regulator-max-microvolt = <2950000>;
					bias-pull-down;
				};

				l23 {
					regulator-min-microvolt = <1700000>;
					regulator-max-microvolt = <1900000>;
					bias-pull-down;
				};

				lvs6 {
					bias-pull-down;
				};

				lvs7 {
					bias-pull-down;
				};
			};
		};

		gsbi@12440000 {
			status = "okay";
			qcom,mode = <GSBI_PROT_UART_W_FC>;
			serial@12450000 {
				label = "LS-UART1";
				status = "okay";
				pinctrl-names = "default";
				pinctrl-0 = <&gsbi1_uart_4pins>;
			};
		};

		gsbi@12480000 {
			status = "okay";
			qcom,mode = <GSBI_PROT_I2C>;
			i2c@124a0000 {
				/* On Low speed expansion and Sensors */
				label = "LS-I2C0";
				status = "okay";
				lis3mdl_mag@1e {
					compatible = "st,lis3mdl-magn";
					reg = <0x1e>;
					vdd-supply = <&vcc3v3>;
					vddio-supply = <&pm8921_s4>;
					pinctrl-names = "default";
					pinctrl-0 = <&magneto_pins>;
					interrupt-parent = <&tlmm_pinmux>;

					st,drdy-int-pin = <2>;
					interrupts = <48 IRQ_TYPE_EDGE_RISING>, /* DRDY line */
						     <31 IRQ_TYPE_EDGE_RISING>; /* INT */
				};
			};
		};

		gsbi@16200000 {
			status = "okay";
			qcom,mode = <GSBI_PROT_I2C>;
			i2c@16280000 {
			/* On Low speed expansion */
				status = "okay";
				label = "LS-I2C1";
				clock-frequency = <200000>;
				eeprom@52 {
					compatible = "atmel,24c128";
					reg = <0x52>;
					pagesize = <64>;
				};
			};
		};

		gsbi@16300000 {
			status = "okay";
			qcom,mode = <GSBI_PROT_I2C>;
			i2c@16380000 {
				/* On High speed expansion */
				label = "HS-CAM-I2C3";
				status = "okay";
			};
		};

		gsbi@1a200000 {
			status = "okay";
			spi@1a280000 {
				/* On Low speed expansion */
				label = "LS-SPI0";
				status = "okay";
			};
		};

		/* DEBUG UART  */
		gsbi@16600000 {
			status = "okay";
			qcom,mode = <GSBI_PROT_I2C_UART>;
			serial@16640000 {
				label = "LS-UART0";
				status = "okay";
				pinctrl-names = "default";
				pinctrl-0 = <&gsbi7_uart_2pins>;
			};

			i2c@16680000 {
				/* On High speed expansion */
				status = "okay";
				label = "HS-CAM-I2C2";
			};
		};

		leds {
			pinctrl-names = "default";
			pinctrl-0 = <&user_leds>, <&mpp_leds>;

			compatible = "gpio-leds";

			user-led0 {
				label = "user0-led";
				gpios = <&tlmm_pinmux 3 GPIO_ACTIVE_HIGH>;
				linux,default-trigger = "heartbeat";
				default-state = "off";
			};

			user-led1 {
				label = "user1-led";
				gpios = <&tlmm_pinmux 7 GPIO_ACTIVE_HIGH>;
				linux,default-trigger = "mmc0";
				default-state = "off";
			};

			user-led2 {
				label = "user2-led";
				gpios = <&tlmm_pinmux 10 GPIO_ACTIVE_HIGH>;
				linux,default-trigger = "mmc1";
				default-state = "off";
			};

			user-led3 {
				label = "user3-led";
				gpios = <&tlmm_pinmux 11 GPIO_ACTIVE_HIGH>;
				linux,default-trigger = "none";
				default-state = "off";
			};

			wifi-led {
				label = "WiFi-led";
				gpios = <&pm8921_mpps 7 GPIO_ACTIVE_HIGH>;
				default-state = "off";
			};

			bt-led {
				label = "BT-led";
				gpios = <&pm8921_mpps 8 GPIO_ACTIVE_HIGH>;
				default-state = "off";
			};
		};

		pci@1b500000 {
			status = "okay";
			vdda-supply = <&pm8921_s3>;
			vdda_phy-supply = <&pm8921_lvs6>;
			vdda_refclk-supply = <&vcc3v3>;
			pinctrl-0 = <&pcie_pins>;
			pinctrl-names = "default";
			perst-gpio = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>;
		};

		phy@1b400000 {
			status = "okay";
		};

		sata@29000000 {
			status	= "okay";
			target-supply	= <&pm8921_lvs7>;
		};

		/* OTG */
		phy@12500000 {
			status		= "okay";
			dr_mode		= "peripheral";
			vddcx-supply	= <&pm8921_s3>;
			v3p3-supply	= <&pm8921_l3>;
			v1p8-supply	= <&pm8921_l4>;
		};

		phy@12520000 {
			status		= "okay";
			vddcx-supply	= <&pm8921_s3>;
			v3p3-supply	= <&pm8921_l3>;
			v1p8-supply	= <&pm8921_l23>;
		};

		phy@12530000 {
			status		= "okay";
			vddcx-supply	= <&pm8921_s3>;
			v3p3-supply	= <&pm8921_l3>;
			v1p8-supply	= <&pm8921_l23>;
		};

		gadget@12500000 {
			status = "okay";
		};

		/* OTG */
		usb@12500000 {
			status = "okay";
		};

		usb@12520000 {
			status = "okay";
		};

		usb@12530000 {
			status = "okay";
		};

		amba {
			/* eMMC */
			sdcc@12400000 {
				status = "okay";
				vmmc-supply = <&pm8921_l5>;
				vqmmc-supply = <&pm8921_s4>;
			};

			/* External micro SD card */
			sdcc@12180000 {
				status = "okay";
				vmmc-supply = <&pm8921_l6>;
				pinctrl-names	= "default";
				pinctrl-0	= <&card_detect>;
				cd-gpios	= <&tlmm_pinmux 26 GPIO_ACTIVE_HIGH>;
			};
		};
	};
};
+6 −0
Original line number Diff line number Diff line
@@ -224,6 +224,12 @@
					reg = <0x52>;
					pagesize = <32>;
				};

				bq27541@55 {
					compatible = "ti,bq27541";
					reg = <0x55>;
				};

			};
		};

+39 −0
Original line number Diff line number Diff line
@@ -39,6 +39,20 @@
		};
	};

	gsbi1_uart_2pins: gsbi1_uart_2pins {
		mux {
			pins = "gpio18", "gpio19";
			function = "gsbi1";
		};
	};

	gsbi1_uart_4pins: gsbi1_uart_4pins {
		mux {
			pins = "gpio18", "gpio19", "gpio20", "gpio21";
			function = "gsbi1";
		};
	};

	i2c2_pins: i2c2 {
		mux {
			pins = "gpio24", "gpio25";
@@ -205,4 +219,29 @@
			function = "gsbi7";
		};
	};

	i2c7_pins: i2c7 {
		mux {
			pins = "gpio84", "gpio85";
			function = "gsbi7";
		};

		pinconf {
			pins = "gpio84", "gpio85";
			drive-strength = <16>;
			bias-disable;
		};
	};

	i2c7_pins_sleep: i2c7_pins_sleep {
		mux {
			pins = "gpio84", "gpio85";
			function = "gpio";
		};
		pinconf {
			pins = "gpio84", "gpio85";
			drive-strength = <2>;
			bias-disable = <0>;
		};
	};
};
Loading