arm64: dts: qcom: msm8916-acer-a1-724: Add accelerometer/magnetometer
authorLin, Meng-Bo <linmengbo0689@protonmail.com>
Wed, 23 Nov 2022 03:39:19 +0000 (03:39 +0000)
committerBjorn Andersson <andersson@kernel.org>
Wed, 28 Dec 2022 02:59:28 +0000 (20:59 -0600)
Iconia Talk S uses 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.

Signed-off-by: Lin, Meng-Bo <linmengbo0689@protonmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221123033830.149061-1-linmengbo0689@protonmail.com
arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts

index 593051e..bea0d02 100644 (file)
@@ -6,6 +6,7 @@
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/interrupt-controller/irq.h>
 
 /*
  * NOTE: The original firmware from Acer can only boot 32-bit kernels.
        };
 };
 
+&blsp_i2c2 {
+       status = "okay";
+
+       accelerometer@10 {
+               compatible = "bosch,bmc150_accel";
+               reg = <0x10>;
+               interrupt-parent = <&msmgpio>;
+               interrupts = <115 IRQ_TYPE_EDGE_RISING>;
+
+               vdd-supply = <&pm8916_l17>;
+               vddio-supply = <&pm8916_l6>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&accel_int_default>;
+
+               mount-matrix = "0", "-1", "0",
+                              "-1", "0", "0",
+                              "0", "0", "1";
+       };
+
+       magnetometer@12 {
+               compatible = "bosch,bmc150_magn";
+               reg = <0x12>;
+
+               vdd-supply = <&pm8916_l17>;
+               vddio-supply = <&pm8916_l6>;
+       };
+};
+
 &blsp1_uart2 {
        status = "okay";
 };
 };
 
 &msmgpio {
+       accel_int_default: accel-int-default-state {
+               pins = "gpio115";
+               function = "gpio";
+
+               drive-strength = <2>;
+               bias-disable;
+       };
+
        gpio_keys_default: gpio-keys-default-state {
                pins = "gpio107";
                function = "gpio";