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

Commit d724d6ba authored by Linus Walleij's avatar Linus Walleij Committed by Andy Gross
Browse files

ARM: dts: Add gyro and accel to APQ8060 Dragonboard



This adds the MPU-3050 gyroscope and the KXSD9 accelerometer to
the Qualcomm APQ8060 Dragonboard. The KXSD9 is mounted beyond the
MPU-3050 and appear as a subdevice beyond it. We set up the
required GPIO and interrupt lines to make the devices work.

Acked-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
parent 97fdcaac
Loading
Loading
Loading
Loading
+52 −0
Original line number Diff line number Diff line
@@ -220,6 +220,14 @@
					function = "ebi2";
				};
			};

			/* Interrupt line for the KXSD9 accelerometer */
			dragon_kxsd9_gpios: kxsd9 {
				irq {
					pins = "gpio57"; /* IRQ line */
					bias-pull-up;
				};
			};
		};

		qcom,ssbi@500000 {
@@ -272,6 +280,15 @@
							power-source = <PM8058_GPIO_S3>;
						};
					};
					dragon_mpu3050_gpios: mpu3050-gpios {
						pinconf {
							pins = "gpio17";
							function = "normal";
							input-enable;
							bias-disable;
							power-source = <PM8058_GPIO_S3>;
						};
					};
					dragon_sdcc3_gpios: sdcc3-gpios {
						pinconf {
							pins = "gpio22";
@@ -389,6 +406,41 @@
					vddd-supply = <&pm8058_lvs0>; // 1.8V
					vdda-supply = <&pm8058_l14>; // 2.85V
				};
				mpu3050@68 {
					compatible = "invensense,mpu3050";
					reg = <0x68>;
					/*
					 * GPIO17 has interrupt 208 on the
					 * PM8058, it is pulled high by a 10k
					 * resistor to VLOGIC so needs to be
					 * active low/falling edge.
					 */
					interrupts-extended = <&pm8058 208 IRQ_TYPE_EDGE_FALLING>;
					pinctrl-names = "default";
					pinctrl-0 = <&dragon_mpu3050_gpios>;
					vlogic-supply = <&pm8058_lvs0>; // 1.8V
					vdd-supply = <&pm8058_l14>; // 2.85V

					/*
					 * The MPU-3050 acts as a hub for the
					 * accelerometer.
					 */
					i2c-gate {
						#address-cells = <1>;
						#size-cells = <0>;

						kxsd9@18 {
							compatible = "kionix,kxsd9";
							reg = <0x18>;
							interrupt-parent = <&tlmm>;
							interrupts = <57 IRQ_TYPE_EDGE_FALLING>;
							pinctrl-names = "default";
							pinctrl-0 = <&dragon_kxsd9_gpios>;
							iovdd-supply = <&pm8058_lvs0>; // 1.8V
							vdd-supply = <&pm8058_l14>; // 2.85V
						};
					};
				};
			};
		};