mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
dt/bindings: Add bindings for Layerscape external irqs
This adds Device Tree binding documentation for the external interrupt lines with configurable polarity present on some Layerscape SOCs. Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20191107122115.6244-2-linux@rasmusvillemoes.dk
This commit is contained in:
committed by
Marc Zyngier
parent
96de80c14b
commit
87cd38dfd9
@@ -0,0 +1,49 @@
|
|||||||
|
* Freescale Layerscape external IRQs
|
||||||
|
|
||||||
|
Some Layerscape SOCs (LS1021A, LS1043A, LS1046A) 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".
|
||||||
|
- #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.
|
||||||
|
- 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>;
|
||||||
Reference in New Issue
Block a user