From: Geert Uytterhoeven <geert+rene...@glider.be>

Add support for input switches SW1-3 on the Renesas RZ/A1 RSK+RZA1
development board.

Note that this uses the IRQ interrupts, as the RZ/A1 GPIO controller
does not include interrupt support.

Signed-off-by: Geert Uytterhoeven <geert+rene...@glider.be>
Signed-off-by: Simon Horman <horms+rene...@verge.net.au>
---
 arch/arm/boot/dts/r7s72100-rskrza1.dts | 38 ++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/arch/arm/boot/dts/r7s72100-rskrza1.dts 
b/arch/arm/boot/dts/r7s72100-rskrza1.dts
index ff24301dc1be..99acfe4fe11a 100644
--- a/arch/arm/boot/dts/r7s72100-rskrza1.dts
+++ b/arch/arm/boot/dts/r7s72100-rskrza1.dts
@@ -8,6 +8,7 @@
 /dts-v1/;
 #include "r7s72100.dtsi"
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
 #include <dt-bindings/pinctrl/r7s72100-pinctrl.h>
 
 / {
@@ -28,6 +29,37 @@
                reg = <0x08000000 0x02000000>;
        };
 
+       keyboard {
+               compatible = "gpio-keys";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&keyboard_pins>;
+
+               key-1 {
+                       interrupt-parent = <&irqc>;
+                       interrupts = <3 IRQ_TYPE_EDGE_BOTH>;
+                       linux,code = <KEY_1>;
+                       label = "SW1";
+                       wakeup-source;
+               };
+
+               key-2 {
+                       interrupt-parent = <&irqc>;
+                       interrupts = <2 IRQ_TYPE_EDGE_BOTH>;
+                       linux,code = <KEY_2>;
+                       label = "SW2";
+                       wakeup-source;
+               };
+
+               key-3 {
+                       interrupt-parent = <&irqc>;
+                       interrupts = <5 IRQ_TYPE_EDGE_BOTH>;
+                       linux,code = <KEY_3>;
+                       label = "SW3";
+                       wakeup-source;
+               };
+       };
+
        lbsc {
                #address-cells = <1>;
                #size-cells = <1>;
@@ -101,6 +133,12 @@
                         <RZA1_PINMUX(1, 7, 1)>;        /* RIIC3SDA */
        };
 
+       keyboard_pins: keyboard {
+               pinmux = <RZA1_PINMUX(1, 9, 3)>,        /* IRQ3 */
+                        <RZA1_PINMUX(1, 8, 3)>,        /* IRQ2 */
+                        <RZA1_PINMUX(1, 11, 3)>;       /* IRQ5 */
+       };
+
        /* Serial Console */
        scif2_pins: serial2 {
                pinmux = <RZA1_PINMUX(3, 0, 6)>,        /* TxD2 */
-- 
2.11.0

Reply via email to