Hi Geert-san, > From: Geert Uytterhoeven, Sent: Wednesday, July 26, 2023 11:45 PM > > Add an interrupt-controlled keyboard to test operation of the Interrupt > Controller for External Devices (INTC-EX) on the Spider development > board. > > Test procedure: > - Run "evtest" (select device event number "0"), > - Pull one of the following signals on the Spider Breakout Board low > to trigger the corresponding interrupt and keypress (key release is > automatic): > - Test point CP18 -> IRQ0 (KEY_0), > - Test point CP17 -> IRQ1 (KEY_1), > - CN37 pin 4 -> IRQ4 (KEY_4), > - CN37 pin 2 -> IRQ5 (KEY_5). > > GND is available on e.g. pin 8 of CN37 (MSIOF0 PIN HEADER). > > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > --- > Not intended for upstream merge. Thank you for the patch! I got it. > I do not have physical access to a Spider development board. > Thanks for testing! > > Note that this IRQ conflicts with operation of LED7, so do not apply the > LED patch while testing. I also tested on my Spider board about IRQ4 and IRQ5. Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> # For the record. My environment is Spider ES1.2 board which has a switch board. # Since the SW3 pin 7 of the switch board is low, we cannot use CN37. # However, we can use the SW3 pin 7 instead. Best regards, Yoshihiro Shimoda > --- > .../boot/dts/renesas/r8a779f0-spider.dts | 52 +++++++++++++++++++ > 1 file changed, 52 insertions(+) > > diff --git a/arch/arm64/boot/dts/renesas/r8a779f0-spider.dts b/arch/arm64/boot/dts/renesas/r8a779f0-spider.dts > index 7aac3f4d319c330c..a73251da1f215141 100644 > --- a/arch/arm64/boot/dts/renesas/r8a779f0-spider.dts > +++ b/arch/arm64/boot/dts/renesas/r8a779f0-spider.dts > @@ -6,12 +6,56 @@ > */ > > /dts-v1/; > + > +#include <dt-bindings/input/input.h> > + > #include "r8a779f0-spider-cpu.dtsi" > #include "r8a779f0-spider-ethernet.dtsi" > > / { > model = "Renesas Spider CPU and Breakout boards based on r8a779f0"; > compatible = "renesas,spider-breakout", "renesas,spider-cpu", "renesas,r8a779f0"; > + > + keyboard-irq { > + compatible = "gpio-keys"; > + > + pinctrl-0 = <&keyboard_irq_pins>; > + pinctrl-names = "default"; > + > + interrupt-parent = <&intc_ex>; > + > + key-0 { > + interrupts = <0 IRQ_TYPE_EDGE_FALLING>; > + linux,code = <KEY_0>; > + label = "Breakabout Board CP18"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + > + key-1 { > + interrupts = <1 IRQ_TYPE_EDGE_FALLING>; > + linux,code = <KEY_1>; > + label = "Breakabout Board CP17"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + > + key-4 { > + interrupts = <4 IRQ_TYPE_EDGE_FALLING>; > + linux,code = <KEY_4>; > + label = "Breakout Board CN37-4"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + > + key-5 { > + interrupts = <5 IRQ_TYPE_EDGE_FALLING>; > + linux,code = <KEY_5>; > + label = "Breakout Board CN37-2"; > + wakeup-source; > + debounce-interval = <20>; > + }; > + }; > }; > > &i2c4 { > @@ -22,3 +66,11 @@ eeprom@51 { > pagesize = <8>; > }; > }; > + > +&pfc { > + keyboard_irq_pins: keyboard-irq { > + groups = "intc_ex_irq0", "intc_ex_irq1", "intc_ex_irq4", > + "intc_ex_irq5"; > + function = "intc_ex"; > + }; > +}; > -- > 2.34.1