162306a36Sopenharmony_ci* ARM Versatile FPGA interrupt controller
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciOne or more FPGA IRQ controllers can be synthesized in an ARM reference board
462306a36Sopenharmony_cisuch as the Integrator or Versatile family. The output of these different
562306a36Sopenharmony_cicontrollers are OR:ed together and fed to the CPU tile's IRQ input. Each
662306a36Sopenharmony_ciinstance can handle up to 32 interrupts.
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciRequired properties:
962306a36Sopenharmony_ci- compatible: "arm,versatile-fpga-irq"
1062306a36Sopenharmony_ci- interrupt-controller: Identifies the node as an interrupt controller
1162306a36Sopenharmony_ci- #interrupt-cells: The number of cells to define the interrupts.  Must be 1
1262306a36Sopenharmony_ci  as the FPGA IRQ controller has no configuration options for interrupt
1362306a36Sopenharmony_ci  sources.  The cell is a u32 and defines the interrupt number.
1462306a36Sopenharmony_ci- reg: The register bank for the FPGA interrupt controller.
1562306a36Sopenharmony_ci- clear-mask: a u32 number representing the mask written to clear all IRQs
1662306a36Sopenharmony_ci  on the controller at boot for example.
1762306a36Sopenharmony_ci- valid-mask: a u32 number representing a bit mask determining which of
1862306a36Sopenharmony_ci  the interrupts are valid. Unconnected/unused lines are set to 0, and
1962306a36Sopenharmony_ci  the system till not make it possible for devices to request these
2062306a36Sopenharmony_ci  interrupts.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciThe "oxsemi,ox810se-rps-irq" compatible is deprecated.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciExample:
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_cipic: pic@14000000 {
2762306a36Sopenharmony_ci        compatible = "arm,versatile-fpga-irq";
2862306a36Sopenharmony_ci        #interrupt-cells = <1>;
2962306a36Sopenharmony_ci        interrupt-controller;
3062306a36Sopenharmony_ci        reg = <0x14000000 0x100>;
3162306a36Sopenharmony_ci        clear-mask = <0xffffffff>;
3262306a36Sopenharmony_ci        valid-mask = <0x003fffff>;
3362306a36Sopenharmony_ci};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ciOptional properties:
3662306a36Sopenharmony_ci- interrupts: if the FPGA IRQ controller is cascaded, i.e. if its IRQ
3762306a36Sopenharmony_ci  output is simply connected to the input of another IRQ controller,
3862306a36Sopenharmony_ci  then the parent IRQ shall be specified in this property.
39