Message ID | 20210816123544.14027-1-stephan@gerhold.net (mailing list archive) |
---|---|
State | Accepted |
Commit | 51c7786f5d4201422e076b9a3650e543a61d36da |
Headers | show |
Series | arm64: dts: qcom: msm8916-longcheer-l8150: Add missing sensor interrupts | expand |
On Mon, 16 Aug 2021 14:35:44 +0200, Stephan Gerhold wrote: > So far there were no interrupts set up for the BMC150 accelerometer > + magnetometer combo because they were broken for some reason. > It turns out Longcheer L8150 actually has a BMC156 which is very similar > to BMC150, but only has an INT2 pin for the accelerometer part. > > This requires some minor changes in the bmc150-accel driver which is now > supported by using the more correct bosch,bmc156_accel compatible. > Unfortunately it looks like even INT2 is not functional on most boards > because the interrupt line is not actually connected to the BMC156. > However, there are two pads next to the chip that can be shorted > to make it work if needed. > > [...] Applied, thanks! [1/1] arm64: dts: qcom: msm8916-longcheer-l8150: Add missing sensor interrupts commit: 51c7786f5d4201422e076b9a3650e543a61d36da Best regards,
Hello: This patch was applied to qcom/linux.git (refs/heads/for-next): On Mon, 16 Aug 2021 14:35:44 +0200 you wrote: > So far there were no interrupts set up for the BMC150 accelerometer > + magnetometer combo because they were broken for some reason. > It turns out Longcheer L8150 actually has a BMC156 which is very similar > to BMC150, but only has an INT2 pin for the accelerometer part. > > This requires some minor changes in the bmc150-accel driver which is now > supported by using the more correct bosch,bmc156_accel compatible. > Unfortunately it looks like even INT2 is not functional on most boards > because the interrupt line is not actually connected to the BMC156. > However, there are two pads next to the chip that can be shorted > to make it work if needed. > > [...] Here is the summary with links: - arm64: dts: qcom: msm8916-longcheer-l8150: Add missing sensor interrupts https://git.kernel.org/qcom/c/51c7786f5d42 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts index 1e893c0b6fbc..30716eb8fb2d 100644 --- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts +++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts @@ -121,9 +121,21 @@ &blsp_i2c2 { status = "okay"; accelerometer@10 { - compatible = "bosch,bmc150_accel"; + compatible = "bosch,bmc156_accel"; reg = <0x10>; + /* + * For some reason the interrupt line is usually not connected + * to the BMC156. However, there are two pads next to the chip + * that can be shorted to make it work if needed. + * + * interrupt-parent = <&msmgpio>; + * interrupts = <116 IRQ_TYPE_EDGE_RISING>; + */ + + pinctrl-names = "default"; + pinctrl-0 = <&accel_int_default>; + vdd-supply = <&pm8916_l17>; vddio-supply = <&pm8916_l6>; @@ -133,9 +145,15 @@ accelerometer@10 { }; magnetometer@12 { - compatible = "bosch,bmc150_magn"; + compatible = "bosch,bmc156_magn"; reg = <0x12>; + interrupt-parent = <&msmgpio>; + interrupts = <113 IRQ_TYPE_EDGE_RISING>; + + pinctrl-names = "default"; + pinctrl-0 = <&magn_int_default>; + vdd-supply = <&pm8916_l17>; vddio-supply = <&pm8916_l6>; }; @@ -145,7 +163,8 @@ gyroscope@68 { reg = <0x68>; interrupt-parent = <&msmgpio>; - interrupts = <23 IRQ_TYPE_EDGE_RISING>; + interrupts = <23 IRQ_TYPE_EDGE_RISING>, + <22 IRQ_TYPE_EDGE_RISING>; pinctrl-names = "default"; pinctrl-0 = <&gyro_int_default>; @@ -336,6 +355,14 @@ l18 { }; &msmgpio { + accel_int_default: accel-int-default { + pins = "gpio116"; + function = "gpio"; + + drive-strength = <2>; + bias-disable; + }; + camera_flash_default: camera-flash-default { pins = "gpio31", "gpio32"; function = "gpio"; @@ -361,7 +388,15 @@ gpio_keys_default: gpio-keys-default { }; gyro_int_default: gyro-int-default { - pins = "gpio23"; + pins = "gpio22", "gpio23"; + function = "gpio"; + + drive-strength = <2>; + bias-disable; + }; + + magn_int_default: magn-int-default { + pins = "gpio113"; function = "gpio"; drive-strength = <2>;