Unverified Commit 21200052 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'qcom-arm32-for-6.20-2' of...

Merge tag 'qcom-arm32-for-6.20-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt

More Qualcomm Arm32 DeviceTree updated for v6.20

MSM8226 is switched to generic RPMPD_ indices, to allow dropping the
duplicate platform-specific constants.

On MSM8960 two additional GSBIs and I2C controllers are introduced.
Accelerometer, Magnetometer, NFC and Light/Proximity sensors are then
enabled on the Samsung Galaxy Express.

* tag 'qcom-arm32-for-6.20-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux

:
  ARM: dts: qcom: switch to RPMPD_* indices
  ARM: dts: qcom: msm8960: expressatt: Add Accelerometer
  ARM: dts: qcom: msm8960: expressatt: Add Magnetometer
  ARM: dts: qcom: msm8960: expressatt: Add NFC
  ARM: dts: qcom: msm8960: expressatt: Add Light/Proximity Sensor
  ARM: dts: qcom: msm8960: Add GSBI2 & GSBI7

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents a1f4991d 4506cdf5
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -959,7 +959,7 @@ modem: remoteproc@fc880000 {
			resets = <&gcc GCC_MSS_RESTART>;
			reset-names = "mss_restart";

			power-domains = <&rpmpd MSM8226_VDDCX>;
			power-domains = <&rpmpd RPMPD_VDDCX>;
			power-domain-names = "cx";

			qcom,ext-bhs-reg = <&tcsr_regs_1 0x194>;
@@ -1372,7 +1372,7 @@ adsp: remoteproc@fe200000 {
					      <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
			interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";

			power-domains = <&rpmpd MSM8226_VDDCX>;
			power-domains = <&rpmpd RPMPD_VDDCX>;
			power-domain-names = "cx";

			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
+109 −0
Original line number Diff line number Diff line
@@ -54,6 +54,31 @@ key-volume-down {
	};
};

&gsbi2 {
	qcom,mode = <GSBI_PROT_I2C>;

	status = "okay";
};

&gsbi2_i2c {
	status = "okay";

	light-sensor@39 {
		compatible = "amstaos,tmd2772";
		reg = <0x39>;
		interrupts-extended = <&pm8921_gpio 6 IRQ_TYPE_EDGE_FALLING>;
		vdd-supply = <&pm8921_l9>;
		vddio-supply = <&pm8921_lvs4>;

		/* TODO: Proximity doesn't work */
		amstaos,proximity-diodes = <0>;
		led-max-microamp = <100000>;

		pinctrl-0 = <&prox_sensor_int>;
		pinctrl-names = "default";
	};
};

&gsbi5 {
	qcom,mode = <GSBI_PROT_I2C_UART>;
	status = "okay";
@@ -157,12 +182,45 @@ touchscreen: touchscreen-int-state {
		bias-disable;
		drive-strength = <2>;
	};

	nfc_default: nfc-default-state {
		irq-pins {
			pins = "gpio106";
			function = "gpio";
			drive-strength = <2>;
			bias-pull-down;
		};

		firmware-pins {
			pins = "gpio92";
			function = "gpio";
			drive-strength = <2>;
			bias-disable;
		};
	};
};

&pm8921 {
	interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>;
};

&pm8921_gpio {
	prox_sensor_int: prox-sensor-int-state {
		pins = "gpio6";
		function = "normal";
		input-enable;
		bias-disable;
	};

	nfc_enable: nfc-enable-state {
		pins = "gpio21";
		function = "normal";
		bias-disable;
		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
		power-source = <PM8921_GPIO_S4>;
	};
};

&rpm {
	regulators {
		compatible = "qcom,rpm-pm8921-regulators";
@@ -408,3 +466,54 @@ &usb1 {
	dr_mode = "otg";
	status = "okay";
};

&gsbi7 {
	qcom,mode = <GSBI_PROT_I2C>;

	status = "okay";
};

&gsbi7_i2c {
	status = "okay";

	nfc@2b {
		compatible = "nxp,pn544-i2c";
		reg = <0x2b>;
		interrupts-extended = <&tlmm 106 IRQ_TYPE_EDGE_RISING>;
		enable-gpios = <&pm8921_gpio 21 GPIO_ACTIVE_HIGH>;
		firmware-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>;

		pinctrl-0 = <&nfc_default &nfc_enable>;
		pinctrl-names = "default";
	};
};

&gsbi12 {
	qcom,mode = <GSBI_PROT_I2C>;

	status = "okay";
};

&gsbi12_i2c {
	status = "okay";

	accelerometer@18 {
		compatible = "bosch,bma254";
		reg = <0x18>;
		vdd-supply = <&pm8921_l9>;
		vddio-supply = <&pm8921_lvs4>;

		mount-matrix =  "-1", "0", "0",
				"0",  "-1", "0",
				"0",  "0", "1";
	};

	magnetometer@2e {
		compatible = "yamaha,yas532";
		reg = <0x2e>;
		vdd-supply = <&pm8921_l9>;
		iovdd-supply = <&pm8921_lvs4>;

		/* TODO: Figure out Mount Matrix */
	};
};
+96 −0
Original line number Diff line number Diff line
@@ -149,6 +149,24 @@ i2c1-pins {
				};
			};

			i2c2_default_state: i2c2-default-state {
				i2c2-pins {
					pins = "gpio12", "gpio13";
					function = "gsbi2";
					drive-strength = <8>;
					bias-disable;
				};
			};

			i2c2_sleep_state: i2c2-sleep-state {
				i2c2-pins {
					pins = "gpio12", "gpio13";
					function = "gpio";
					drive-strength = <2>;
					bias-bus-hold;
				};
			};

			i2c3_default_state: i2c3-default-state {
				i2c3-pins {
					pins = "gpio16", "gpio17";
@@ -167,6 +185,24 @@ i2c3-pins {
				};
			};

			i2c7_default_state: i2c7-default-state {
				i2c7-pins {
					pins = "gpio32", "gpio33";
					function = "gsbi7";
					drive-strength = <8>;
					bias-disable;
				};
			};

			i2c7_sleep_state: i2c7-sleep-state {
				i2c7-pins {
					pins = "gpio32", "gpio33";
					function = "gpio";
					drive-strength = <2>;
					bias-bus-hold;
				};
			};

			i2c8_default_state: i2c8-default-state {
				i2c8-pins {
					pins = "gpio36", "gpio37";
@@ -543,6 +579,36 @@ gsbi1_spi: spi@16080000 {
			};
		};

		gsbi2: gsbi@16100000 {
			compatible = "qcom,gsbi-v1.0.0";
			reg = <0x16100000 0x100>;
			ranges;
			cell-index = <2>;
			clocks = <&gcc GSBI2_H_CLK>;
			clock-names = "iface";
			#address-cells = <1>;
			#size-cells = <1>;

			status = "disabled";

			gsbi2_i2c: i2c@16180000 {
				compatible = "qcom,i2c-qup-v1.1.1";
				reg = <0x16180000 0x1000>;
				pinctrl-0 = <&i2c2_default_state>;
				pinctrl-1 = <&i2c2_sleep_state>;
				pinctrl-names = "default", "sleep";
				interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&gcc GSBI2_QUP_CLK>,
					 <&gcc GSBI2_H_CLK>;
				clock-names = "core",
					      "iface";
				#address-cells = <1>;
				#size-cells = <0>;

				status = "disabled";
			};
		};

		gsbi3: gsbi@16200000 {
			compatible = "qcom,gsbi-v1.0.0";
			reg = <0x16200000 0x100>;
@@ -600,6 +666,36 @@ gsbi5_serial: serial@16440000 {
			};
		};

		gsbi7: gsbi@16600000 {
			compatible = "qcom,gsbi-v1.0.0";
			reg = <0x16600000 0x100>;
			ranges;
			cell-index = <7>;
			clocks = <&gcc GSBI7_H_CLK>;
			clock-names = "iface";
			#address-cells = <1>;
			#size-cells = <1>;

			status = "disabled";

			gsbi7_i2c: i2c@16680000 {
				compatible = "qcom,i2c-qup-v1.1.1";
				reg = <0x16680000 0x1000>;
				pinctrl-0 = <&i2c7_default_state>;
				pinctrl-1 = <&i2c7_sleep_state>;
				pinctrl-names = "default", "sleep";
				interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&gcc GSBI7_QUP_CLK>,
					 <&gcc GSBI7_H_CLK>;
				clock-names = "core",
					      "iface";
				#address-cells = <1>;
				#size-cells = <0>;

				status = "disabled";
			};
		};

		gsbi8: gsbi@1a000000 {
			compatible = "qcom,gsbi-v1.0.0";
			reg = <0x1a000000 0x100>;