arm64: dts: qcom: msm8994-octagon: Add gpio-keys and Hall sensor
authorGustave Monce <gustave.monce@outlook.com>
Sun, 31 Jan 2021 01:38:38 +0000 (02:38 +0100)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Tue, 2 Feb 2021 22:35:59 +0000 (16:35 -0600)
This enables tje hardware keys as well as the Hall sensor.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-8-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm64/boot/dts/qcom/msm8994-msft-lumia-octagon.dtsi

index eced5cf3e33f1eb964dc40c8df558e576a3252bb..840bc38a350c285b564df1bbbc33602ead9afdfd 100644 (file)
@@ -9,6 +9,9 @@
 
 #include "pm8994.dtsi"
 #include "pmi8994.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/gpio-keys.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 
 /*
  * Delete all generic (msm8994.dtsi) reserved
                ranges;
        };
 
+       gpio-keys {
+               compatible = "gpio-keys";
+               input-name = "gpio-keys";
+               autorepeat;
+
+               volupkey {
+                       label = "Volume Up";
+                       gpios = <&pm8994_gpios 3 GPIO_ACTIVE_LOW>;
+                       linux,input-type = <1>;
+                       linux,code = <KEY_VOLUMEUP>;
+                       wakeup-source;
+                       debounce-interval = <15>;
+               };
+
+               camsnapkey {
+                       label = "Camera Snapshot";
+                       gpios = <&pm8994_gpios 4 GPIO_ACTIVE_LOW>;
+                       linux,input-type = <1>;
+                       linux,code = <KEY_CAMERA>;
+                       wakeup-source;
+                       debounce-interval = <15>;
+               };
+
+               camfocuskey {
+                       label = "Camera Focus";
+                       gpios = <&pm8994_gpios 5 GPIO_ACTIVE_LOW>;
+                       linux,input-type = <1>;
+                       linux,code = <KEY_VOLUMEUP>;
+                       wakeup-source;
+                       debounce-interval = <15>;
+               };
+       };
+
+       gpio-hall-sensor {
+               compatible = "gpio-keys";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&hall_front_default &hall_back_default>;
+
+               label = "GPIO Hall Effect Sensor";
+
+               hall-front-sensor {
+                       label = "Hall Effect Front Sensor";
+                       gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
+                       linux,input-type = <EV_SW>;
+                       linux,code = <SW_LID>;
+                       linux,can-disable;
+               };
+
+               hall-back-sensor {
+                       label = "Hall Effect Back Sensor";
+                       gpios = <&tlmm 75 GPIO_ACTIVE_HIGH>;
+                       linux,input-type = <EV_SW>;
+                       linux,code = <SW_MACHINE_COVER>;
+                       linux,can-disable;
+               };
+       };
+
        reserved-memory {
                /*
                 * This device being a WP platform has a very different
 &sdhc1 {
        status = "okay";
 };
+
+&tlmm {
+       hall_front_default: hall-front-default {
+               pins = "gpio42";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       hall_back_default: hall-back-default {
+               pins = "gpio75";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+};