| * Freescale Layerscape external IRQs |
| |
| Some Layerscape SOCs (LS1021A, LS1043A, LS1046A |
| LS1088A, LS208xA, LX216xA) support inverting |
| the polarity of certain external interrupt lines. |
| |
| The device node must be a child of the node representing the |
| Supplemental Configuration Unit (SCFG). |
| |
| Required properties: |
| - compatible: should be "fsl,<soc-name>-extirq", e.g. "fsl,ls1021a-extirq". |
| "fsl,ls1043a-extirq": for LS1043A, LS1046A. |
| "fsl,ls1088a-extirq": for LS1088A, LS208xA, LX216xA. |
| - #interrupt-cells: Must be 2. The first element is the index of the |
| external interrupt line. The second element is the trigger type. |
| - #address-cells: Must be 0. |
| - interrupt-controller: Identifies the node as an interrupt controller |
| - reg: Specifies the Interrupt Polarity Control Register (INTPCR) in |
| the SCFG or the External Interrupt Control Register (IRQCR) in |
| the ISC. |
| - interrupt-map: Specifies the mapping from external interrupts to GIC |
| interrupts. |
| - interrupt-map-mask: Must be <0xffffffff 0>. |
| |
| Example: |
| scfg: scfg@1570000 { |
| compatible = "fsl,ls1021a-scfg", "syscon"; |
| reg = <0x0 0x1570000 0x0 0x10000>; |
| big-endian; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges = <0x0 0x0 0x1570000 0x10000>; |
| |
| extirq: interrupt-controller@1ac { |
| compatible = "fsl,ls1021a-extirq"; |
| #interrupt-cells = <2>; |
| #address-cells = <0>; |
| interrupt-controller; |
| reg = <0x1ac 4>; |
| interrupt-map = |
| <0 0 &gic GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, |
| <1 0 &gic GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>, |
| <2 0 &gic GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>, |
| <3 0 &gic GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>, |
| <4 0 &gic GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>, |
| <5 0 &gic GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-map-mask = <0xffffffff 0x0>; |
| }; |
| }; |
| |
| |
| interrupts-extended = <&gic GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, |
| <&extirq 1 IRQ_TYPE_LEVEL_LOW>; |