Hi Laurent, thanks for your patch. On Sun, Aug 19, 2018 at 10:44:55PM +0300, Laurent Pinchart wrote: > The Salvator-X and XS boards have a 4 lines DIP switch and 3 push > buttons connected to SoC GPIOs, meant to be used as general-purpose test > keys. Add a corresponding node in DT, mapping (semi-randomly) the DIP Arbitrary may be a better word choice than random. > switch to keys 1-4 and the push buttons to keys A-C. > > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > --- > arch/arm64/boot/dts/renesas/salvator-common.dtsi | 63 ++++++++++++++++++++++++ > 1 file changed, 63 insertions(+) > > diff --git a/arch/arm64/boot/dts/renesas/salvator-common.dtsi b/arch/arm64/boot/dts/renesas/salvator-common.dtsi > index 7d3d866a0063..77d626baa9f3 100644 > --- a/arch/arm64/boot/dts/renesas/salvator-common.dtsi > +++ b/arch/arm64/boot/dts/renesas/salvator-common.dtsi > @@ -29,6 +29,7 @@ > */ > > #include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/input/input.h> > > / { > aliases { > @@ -86,6 +87,63 @@ > }; > }; > > + keys { > + compatible = "gpio-keys"; > + > + pinctrl-0 = <&keys_pins>; > + pinctrl-names = "default"; > + > + key-1 { > + gpios = <&gpio5 17 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_1>; > + label = "SW4-1"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + key-2 { > + gpios = <&gpio5 20 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_2>; > + label = "SW4-2"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + key-3 { > + gpios = <&gpio5 22 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_3>; > + label = "SW4-3"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + key-4 { > + gpios = <&gpio5 23 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_4>; > + label = "SW4-4"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + key-a { > + gpios = <&gpio6 11 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_A>; > + label = "TSW0"; What does the 'T' in 'TSW' stand for? Toggle? > + wakeup-source; > + debounce-interval = <20>; > + }; > + key-b { > + gpios = <&gpio6 12 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_B>; > + label = "TSW1"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + key-c { > + gpios = <&gpio6 13 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_C>; > + label = "TSW2"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + }; > + > reg_1p8v: regulator0 { > compatible = "regulator-fixed"; > regulator-name = "fixed-1.8V"; > @@ -567,6 +625,11 @@ > function = "intc_ex"; > }; > > + keys_pins: keys { > + pins = "GP_5_17", "GP_5_20", "GP_5_22"; I am curious to know why only some of the pins used above appear here. > + bias-pull-up; > + }; > + > pwm1_pins: pwm1 { > groups = "pwm1_a"; > function = "pwm1"; > -- > Regards, > > Laurent Pinchart >