dt/bindings: Add bindings for Layerscape external irqs
authorRasmus Villemoes <linux@rasmusvillemoes.dk>
Thu, 7 Nov 2019 12:21:14 +0000 (13:21 +0100)
committerMarc Zyngier <maz@kernel.org>
Sun, 10 Nov 2019 18:47:48 +0000 (18:47 +0000)
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
Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.txt b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.txt
new file mode 100644 (file)
index 0000000..f0ad780
--- /dev/null
@@ -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>;