Re: [PATCH] arm64: dts: qcom: sdm845-oneplus-common: add Hall sensor
From: Konrad Dybcio
Date: Mon Mar 06 2023 - 12:47:42 EST
On 6.03.2023 18:41, Gergo Koteles wrote:
> Enable the Hall effect sensor (flip cover) for OnePlus 6/6T.
> The GPIO is mapped to SW_LID events as in msm8916, msm8994,
> msm8998 devices.
>
> Signed-off-by: Gergo Koteles <soyer@xxxxxx>
> ---
One fun thing I discovered is that if suspend is broken for whatever
reason and you get a magnet close to a device with it mapped to SW_LID,
you'll essentially get a hang or a reboot lol
Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
Konrad
> .../boot/dts/qcom/sdm845-oneplus-common.dtsi | 25 +++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
> index 64638ea94db7..b01542d79ae2 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
> @@ -29,6 +29,23 @@ chosen {
> stdout-path = "serial0:115200n8";
> };
>
> + gpio-hall-sensor {
> + compatible = "gpio-keys";
> + label = "Hall effect sensor";
> +
> + pinctrl-0 = <&hall_sensor_default>;
> + pinctrl-names = "default";
> +
> + event-hall-sensor {
> + gpios = <&tlmm 124 GPIO_ACTIVE_LOW>;
> + label = "Hall Effect Sensor";
> + linux,input-type = <EV_SW>;
> + linux,code = <SW_LID>;
> + linux,can-disable;
> + wakeup-source;
> + };
> + };
> +
> gpio-keys {
> compatible = "gpio-keys";
> label = "Volume keys";
> @@ -753,6 +770,14 @@ &usb_1_hsphy {
> &tlmm {
> gpio-reserved-ranges = <0 4>, <81 4>;
>
> + hall_sensor_default: hall-sensor-default-state {
> + pins = "gpio124";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + input-enable;
> + };
> +
> tri_state_key_default: tri-state-key-default-state {
> pins = "gpio40", "gpio42", "gpio26";
> function = "gpio";