Hi, Geert, On 12.01.2024 15:55, Geert Uytterhoeven wrote: > Hi Claudiu, > > On Wed, Dec 27, 2023 at 2:08 PM Claudiu <claudiu.beznea@xxxxxxxxx> wrote: >> From: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> >> >> RZ SMARC Carrier II board has 3 user buttons called USER_SW1, USER_SW2, >> USER_SW3. Add a DT node in device tree to propertly instantiate the >> gpio-keys driver for these buttons. >> >> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> > > Thanks for your patch! > >> --- a/arch/arm64/boot/dts/renesas/rzg3s-smarc.dtsi >> +++ b/arch/arm64/boot/dts/renesas/rzg3s-smarc.dtsi >> @@ -6,6 +6,7 @@ >> */ >> >> #include <dt-bindings/gpio/gpio.h> >> +#include <dt-bindings/input/input.h> >> #include <dt-bindings/pinctrl/rzg2l-pinctrl.h> >> >> / { >> @@ -14,6 +15,37 @@ aliases { >> mmc1 = &sdhi1; >> }; >> >> + keys { > > Do you mind if I s/keys/keypad/ while applying? ... Is not actually a keypad... there are 3 buttons in a corner of the board... I see only 2 entries in arm64 and arm DTS directory following this pattern for gpio-keys compatible node: arch/arm/boot/dts/renesas/r8a7779-marzen.dts arch/arm/boot/dts/renesas/r8a7779-marzen.dts But if you prefer it like this, I have nothing against. Just asking, do you have a particular reason for naming it like this? > >> + compatible = "gpio-keys"; >> + >> + key-1 { >> + interrupts = <RZG2L_GPIO(18, 0) IRQ_TYPE_EDGE_FALLING>; > > Oh, the horror of interrupt controllers that don't support generating > interrupts on both edges... Yes. > >> + interrupt-parent = <&pinctrl>; > > ... and move these one level up, to avoid duplication? Moving it just near compatible will make the schema validation to fail with this (driver is working, though): arch/arm64/boot/dts/renesas/r9a08g045s33-smarc.dtb: keys: 'interrupt-parent' does not match any of the regexes: '^(button|event|key|switch|(button|event|key|switch)-[a-z0-9-]+|[a-z0-9-]+-(button|event|key|switch))$', 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/input/gpio-keys.yaml# Thank you, Claudiu Beznea > >> + linux,code = <KEY_1>; >> + label = "USER_SW1"; >> + wakeup-source; >> + debounce-interval = <20>; >> + }; >> + >> + key-2 { >> + interrupts = <RZG2L_GPIO(0, 1) IRQ_TYPE_EDGE_FALLING>; >> + interrupt-parent = <&pinctrl>; >> + linux,code = <KEY_2>; >> + label = "USER_SW2"; >> + wakeup-source; >> + debounce-interval = <20>; >> + }; >> + >> + key-3 { >> + interrupts = <RZG2L_GPIO(0, 3) IRQ_TYPE_EDGE_FALLING>; >> + interrupt-parent = <&pinctrl>; >> + linux,code = <KEY_3>; >> + label = "USER_SW3"; >> + wakeup-source; >> + debounce-interval = <20>; >> + }; >> + }; >> + >> vcc_sdhi1: regulator-vcc-sdhi1 { >> compatible = "regulator-fixed"; >> regulator-name = "SDHI1 Vcc"; > > Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > i.e. will queue in renesas-devel for v6.9, with the above fixed. > > Gr{oetje,eeting}s, > > Geert >