On 11/25/20 12:08 AM, Bjorn Andersson wrote:
> The LID state can be read from GPIO 124 and the "tablet mode" from GPIO
> 95, expose these to the system using gpio-keys and mark the falling edge
> of the LID state as a wakeup-source - to wake the system from suspend.
>
> Signed-off-by: Bjorn Andersson <bjorn.anders...@linaro.org>
> ---
>  .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 39 +++++++++++++++++++
>  1 file changed, 39 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts 
> b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
> index bb314973eb0c..f956dbf664c1 100644
> --- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
> @@ -8,6 +8,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 <dt-bindings/sound/qcom,q6afe.h>
>  #include <dt-bindings/sound/qcom,q6asm.h>
> @@ -21,6 +23,27 @@ / {
>       aliases {
>               hsuart0 = &uart6;
>       };
> +
> +     gpio-keys {
> +             compatible = "gpio-keys";
> +
> +             pinctrl-names = "default";
> +             pinctrl-0 = <&lid_pin_active>, <&mode_pin_active>;
> +
> +             lid {
> +                     gpios = <&tlmm 124 GPIO_ACTIVE_HIGH>;
> +                     linux,input-type = <EV_SW>;
> +                     linux,code = <SW_LID>;
> +                     wakeup-source;
> +                     wakeup-event-action = <EV_ACT_DEASSERTED>;
> +             };
> +
> +             mode {
> +                     gpios = <&tlmm 95 GPIO_ACTIVE_HIGH>;
> +                     linux,input-type = <EV_SW>;
> +                     linux,code = <SW_TABLET_MODE>;
> +             };
> +     };
>  };
>  
>  &adsp_pas {
> @@ -466,6 +489,22 @@ wcd_intr_default: wcd_intr_default {
>               bias-pull-down;
>               drive-strength = <2>;
>       };
> +
> +     lid_pin_active: lid-pin {
> +             pins = "gpio124";
> +             function = "gpio";
> +
> +             input-enable;
> +             bias-disable;
> +     };
> +
> +     mode_pin_active: mode-pin {
> +             pins = "gpio95";
> +             function = "gpio";
> +
> +             input-enable;
> +             bias-disable;
> +     };
>  };
>  
>  &uart6 {


Tested-by: Steev Klimaszewski <st...@kali.org>


Reply via email to