18c2ecf20Sopenharmony_ci* ARM Versatile FPGA interrupt controller 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciOne or more FPGA IRQ controllers can be synthesized in an ARM reference board 48c2ecf20Sopenharmony_cisuch as the Integrator or Versatile family. The output of these different 58c2ecf20Sopenharmony_cicontrollers are OR:ed together and fed to the CPU tile's IRQ input. Each 68c2ecf20Sopenharmony_ciinstance can handle up to 32 interrupts. 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciRequired properties: 98c2ecf20Sopenharmony_ci- compatible: "arm,versatile-fpga-irq" or "oxsemi,ox810se-rps-irq" 108c2ecf20Sopenharmony_ci- interrupt-controller: Identifies the node as an interrupt controller 118c2ecf20Sopenharmony_ci- #interrupt-cells: The number of cells to define the interrupts. Must be 1 128c2ecf20Sopenharmony_ci as the FPGA IRQ controller has no configuration options for interrupt 138c2ecf20Sopenharmony_ci sources. The cell is a u32 and defines the interrupt number. 148c2ecf20Sopenharmony_ci- reg: The register bank for the FPGA interrupt controller. 158c2ecf20Sopenharmony_ci- clear-mask: a u32 number representing the mask written to clear all IRQs 168c2ecf20Sopenharmony_ci on the controller at boot for example. 178c2ecf20Sopenharmony_ci- valid-mask: a u32 number representing a bit mask determining which of 188c2ecf20Sopenharmony_ci the interrupts are valid. Unconnected/unused lines are set to 0, and 198c2ecf20Sopenharmony_ci the system till not make it possible for devices to request these 208c2ecf20Sopenharmony_ci interrupts. 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciExample: 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_cipic: pic@14000000 { 258c2ecf20Sopenharmony_ci compatible = "arm,versatile-fpga-irq"; 268c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 278c2ecf20Sopenharmony_ci interrupt-controller; 288c2ecf20Sopenharmony_ci reg = <0x14000000 0x100>; 298c2ecf20Sopenharmony_ci clear-mask = <0xffffffff>; 308c2ecf20Sopenharmony_ci valid-mask = <0x003fffff>; 318c2ecf20Sopenharmony_ci}; 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ciOptional properties: 348c2ecf20Sopenharmony_ci- interrupts: if the FPGA IRQ controller is cascaded, i.e. if its IRQ 358c2ecf20Sopenharmony_ci output is simply connected to the input of another IRQ controller, 368c2ecf20Sopenharmony_ci then the parent IRQ shall be specified in this property. 37