Message ID | 20220730193617.1688563-1-bjorn.andersson@linaro.org |
---|---|
State | New |
Headers | show |
Series | arm64: dts: qcom: sc8280xp-lenovo-thinkpad-x13s: Add LID switch | expand |
On Sat, Jul 30, 2022 at 12:36:17PM -0700, Bjorn Andersson wrote: > Add gpio-keys for exposing the LID switch state. > > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > --- > .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 25 +++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts > index 84dc92dda0b8..f3246cc13d15 100644 > --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts > +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts > @@ -7,6 +7,8 @@ > /dts-v1/; > > #include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/input/gpio-keys.h> > +#include <dt-bindings/input/input.h> > #include <dt-bindings/regulator/qcom,rpmh-regulator.h> > > #include "sc8280xp.dtsi" > @@ -26,6 +28,21 @@ backlight { > pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>; > }; > > + gpio-keys { > + compatible = "gpio-keys"; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&hall_int_state>; > + > + switch-lid { > + gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; > + linux,input-type = <EV_SW>; > + linux,code = <SW_LID>; > + wakeup-source; > + wakeup-event-action = <EV_ACT_DEASSERTED>; > + }; > + }; > + > vreg_edp_bl: regulator-edp-bl { > compatible = "regulator-fixed"; > > @@ -347,6 +364,14 @@ reset { > }; > }; > > + hall_int_state: hall-int-state { This node should go before the keyboard node to maintain the sort order. Also, none of the other labels have a "state" suffix and the other active-low pin node names have a "-n" suffix. So I believe this should be hall_int_n: hall-int-n-state for consistency. > + pins = "gpio107"; > + function = "gpio"; > + Newline not needed (nor used in the other nodes). > + input-enable; > + bias-disable; > + }; > + > qup0_i2c4_default: qup0-i2c4-default-state { > pins = "gpio171", "gpio172"; > function = "qup4"; Looks good otherwise and appears to work as intended: Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Tested-by: Johan Hovold <johan+linaro@kernel.org> Johan
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts index 84dc92dda0b8..f3246cc13d15 100644 --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts @@ -7,6 +7,8 @@ /dts-v1/; #include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/gpio-keys.h> +#include <dt-bindings/input/input.h> #include <dt-bindings/regulator/qcom,rpmh-regulator.h> #include "sc8280xp.dtsi" @@ -26,6 +28,21 @@ backlight { pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>; }; + gpio-keys { + compatible = "gpio-keys"; + + pinctrl-names = "default"; + pinctrl-0 = <&hall_int_state>; + + switch-lid { + gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; + linux,input-type = <EV_SW>; + linux,code = <SW_LID>; + wakeup-source; + wakeup-event-action = <EV_ACT_DEASSERTED>; + }; + }; + vreg_edp_bl: regulator-edp-bl { compatible = "regulator-fixed"; @@ -347,6 +364,14 @@ reset { }; }; + hall_int_state: hall-int-state { + pins = "gpio107"; + function = "gpio"; + + input-enable; + bias-disable; + }; + qup0_i2c4_default: qup0-i2c4-default-state { pins = "gpio171", "gpio172"; function = "qup4";
Add gpio-keys for exposing the LID switch state. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> --- .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+)