arm64: dts: qcom: msm8916-samsung-a2015: Add accelerometer/magnetometer
authorStephan Gerhold <stephan@gerhold.net>
Mon, 22 Jun 2020 15:17:51 +0000 (17:17 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Thu, 16 Jul 2020 05:00:53 +0000 (22:00 -0700)
A3U/A5U both use a Bosch BMC150 accelerometer/magnetometer combo.
The chip provides two separate I2C devices for the accelerometer
and magnetometer that are already supported by the bmc150-accel
and bmc150-magn driver.

The only difference between A3U/A5U is the way the sensor is
mounted on the mainboard - set the mount-matrix in the
device-specific device tree part to handle that difference.

Co-developed-by: Michael Srba <michael.srba@seznam.cz>
Signed-off-by: Michael Srba <michael.srba@seznam.cz>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20200622151751.408995-5-stephan@gerhold.net
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dts
arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dts

index 58485d0..a0c00d9 100644 (file)
        };
 };
 
+&blsp_i2c2 {
+       status = "okay";
+
+       accelerometer: accelerometer@10 {
+               compatible = "bosch,bmc150_accel";
+               reg = <0x10>;
+               interrupt-parent = <&msmgpio>;
+               interrupts = <115 IRQ_TYPE_EDGE_RISING>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&accel_int_default>;
+       };
+
+       magnetometer@12 {
+               compatible = "bosch,bmc150_magn";
+               reg = <0x12>;
+       };
+};
+
 &spmi_bus {
        pm8916@0 {
                pon@800 {
 };
 
 &msmgpio {
+       accel_int_default: accel-int-default {
+               pins = "gpio115";
+               function = "gpio";
+
+               drive-strength = <2>;
+               bias-disable;
+       };
+
        gpio_keys_default: gpio-keys-default {
                pins = "gpio107", "gpio109";
                function = "gpio";
index 33160a3..410c7d1 100644 (file)
        };
 };
 
+&accelerometer {
+       mount-matrix = "0", "1", "0",
+                      "1", "0", "0",
+                      "0", "0", "1";
+};
+
 &dsi0 {
        panel@0 {
                reg = <0>;
index e4b6fa1..e39c04d 100644 (file)
@@ -9,6 +9,12 @@
        compatible = "samsung,a5u-eur", "qcom,msm8916";
 };
 
+&accelerometer {
+       mount-matrix = "-1", "0", "0",
+                       "0", "1", "0",
+                       "0", "0", "1";
+};
+
 &blsp_i2c5 {
        status = "okay";