arm64: dts: freescale: sl28: map GPIOs to input events
authorMichael Walle <michael@walle.cc>
Mon, 14 Sep 2020 21:43:38 +0000 (23:43 +0200)
committerShawn Guo <shawnguo@kernel.org>
Tue, 22 Sep 2020 09:06:04 +0000 (17:06 +0800)
Now that we have support for GPIO lines of the SMARC connector, map the
sleep, power and lid switch signals to the corresponding keys using the
gpio-keys and gpio-keys-polled drivers. The power and sleep signals have
dedicated interrupts, thus we use these ones. The lid switch is just
mapped to a GPIO input and needs polling.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts

index 5fdf4ec..f46eb47 100644 (file)
@@ -9,6 +9,8 @@
 /dts-v1/;
 #include "fsl-ls1028a.dtsi"
 #include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
 
 / {
        model = "Kontron SMARC-sAL28";
                spi1 = &dspi2;
        };
 
+       buttons0 {
+               compatible = "gpio-keys";
+
+               power-button {
+                       interrupts-extended = <&sl28cpld_intc
+                                              4 IRQ_TYPE_EDGE_BOTH>;
+                       linux,code = <KEY_POWER>;
+                       label = "Power";
+               };
+
+               sleep-button {
+                       interrupts-extended = <&sl28cpld_intc
+                                              5 IRQ_TYPE_EDGE_BOTH>;
+                       linux,code = <KEY_SLEEP>;
+                       label = "Sleep";
+               };
+       };
+
+       buttons1 {
+               compatible = "gpio-keys-polled";
+               poll-interval = <200>;
+
+               lid-switch {
+                       linux,input-type = <EV_SW>;
+                       linux,code = <SW_LID>;
+                       gpios = <&sl28cpld_gpio3 4 GPIO_ACTIVE_LOW>;
+                       label = "Lid";
+               };
+       };
+
        chosen {
                stdout-path = "serial0:115200n8";
        };