I'm testing software I'm writing for a custom target, using the UltraZedEV on the Avnet carrier card. Particularly, I'm using the SW5 DIP switches to stand in for switches on the target which should trigger interrupts on the rising transition. However, no interrupts are ever generated. I have the GPIO pins exported in sysfs as gpio504-511, the edge set to "rising", and open file descriptors on their "value" nodes, watched by poll() for POLLPRI. But poll() never returns events on those fd's revents fields. Further, /proc/interrupts shows no interrupts have been generated for them:
root@avnetuz:~# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
3: 10390 311753 2886 73304 GICv2 30 Level arch_timer
6: 0 0 0 0 GICv2 67 Level ff9905c0.mailbox
7: 0 0 0 0 GICv2 175 Level arm-pmu
8: 0 0 0 0 GICv2 176 Level arm-pmu
9: 0 0 0 0 GICv2 177 Level arm-pmu
10: 0 0 0 0 GICv2 178 Level arm-pmu
12: 0 0 0 0 GICv2 156 Level zynqmp-dma
13: 0 0 0 0 GICv2 157 Level zynqmp-dma
14: 0 0 0 0 GICv2 158 Level zynqmp-dma
15: 0 0 0 0 GICv2 159 Level zynqmp-dma
16: 0 0 0 0 GICv2 160 Level zynqmp-dma
17: 0 0 0 0 GICv2 161 Level zynqmp-dma
18: 0 0 0 0 GICv2 162 Level zynqmp-dma
19: 0 0 0 0 GICv2 163 Level zynqmp-dma
21: 0 0 0 0 GICv2 109 Level zynqmp-dma
22: 0 0 0 0 GICv2 110 Level zynqmp-dma
23: 0 0 0 0 GICv2 111 Level zynqmp-dma
24: 0 0 0 0 GICv2 112 Level zynqmp-dma
25: 0 0 0 0 GICv2 113 Level zynqmp-dma
26: 0 0 0 0 GICv2 114 Level zynqmp-dma
27: 0 0 0 0 GICv2 115 Level zynqmp-dma
28: 0 0 0 0 GICv2 116 Level zynqmp-dma
30: 0 0 0 0 GICv2 95 Level eth0, eth0
32: 49 0 0 0 GICv2 50 Level cdns-i2c
33: 0 0 0 0 GICv2 42 Level ff960000.memory-controller
34: 0 0 0 0 GICv2 57 Level axi-pmon
35: 0 0 0 0 GICv2 150 Level nwl_pcie:misc
40: 23 0 0 0 GICv2 47 Level ff0f0000.spi
41: 0 0 0 0 GICv2 58 Level ffa60000.rtc
42: 0 0 0 0 GICv2 59 Level ffa60000.rtc
43: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci]
44: 441 0 0 0 GICv2 80 Level mmc0
45: 2054 0 0 0 GICv2 81 Level mmc1
46: 7348 0 0 0 GICv2 53 Level xuartps
48: 0 0 0 0 GICv2 145 Edge fd4d0000.watchdog
49: 0 0 0 0 GICv2 88 Level ams-irq
50: 0 0 0 0 GICv2 154 Level fd4c0000.dma
51: 64 0 0 0 GICv2 151 Level fd4a0000.zynqmp-display
52: 0 0 0 0 xgpio 0 Edge gpiolib
53: 0 0 0 0 xgpio 1 Edge gpiolib
54: 0 0 0 0 xgpio 2 Edge gpiolib
55: 0 0 0 0 xgpio 3 Edge gpiolib
56: 0 0 0 0 xgpio 4 Edge gpiolib
57: 0 0 0 0 xgpio 5 Edge gpiolib
58: 0 0 0 0 xgpio 6 Edge gpiolib
59: 0 0 0 0 xgpio 7 Edge gpiolib
IPI0: 2421 2110 1330 2071 Rescheduling interrupts
IPI1: 8 6 11 5 Function call interrupts
IPI2: 0 0
Interrupts 52-59 are my GPIOs, but flipping the switches back and forth does nothing.
Is there something I'm missing from my device tree (attached) or something else I need to do to make these interrupts active?