xref: /freebsd-src/sys/contrib/device-tree/Bindings/interrupt-controller/fsl,ls-extirq.txt (revision 5def4c47d4bd90b209b9b4a4ba9faec15846d8fd)
1c66ec88fSEmmanuel Vadot* Freescale Layerscape external IRQs
2c66ec88fSEmmanuel Vadot
3*5def4c47SEmmanuel VadotSome Layerscape SOCs (LS1021A, LS1043A, LS1046A
4*5def4c47SEmmanuel VadotLS1088A, LS208xA, LX216xA) support inverting
5c66ec88fSEmmanuel Vadotthe polarity of certain external interrupt lines.
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel VadotThe device node must be a child of the node representing the
8c66ec88fSEmmanuel VadotSupplemental Configuration Unit (SCFG).
9c66ec88fSEmmanuel Vadot
10c66ec88fSEmmanuel VadotRequired properties:
11c66ec88fSEmmanuel Vadot- compatible: should be "fsl,<soc-name>-extirq", e.g. "fsl,ls1021a-extirq".
12*5def4c47SEmmanuel Vadot  "fsl,ls1043a-extirq": for LS1043A, LS1046A.
13*5def4c47SEmmanuel Vadot  "fsl,ls1088a-extirq": for LS1088A, LS208xA, LX216xA.
14c66ec88fSEmmanuel Vadot- #interrupt-cells: Must be 2. The first element is the index of the
15c66ec88fSEmmanuel Vadot  external interrupt line. The second element is the trigger type.
16c66ec88fSEmmanuel Vadot- #address-cells: Must be 0.
17c66ec88fSEmmanuel Vadot- interrupt-controller: Identifies the node as an interrupt controller
18c66ec88fSEmmanuel Vadot- reg: Specifies the Interrupt Polarity Control Register (INTPCR) in
19*5def4c47SEmmanuel Vadot  the SCFG or the External Interrupt Control Register (IRQCR) in
20*5def4c47SEmmanuel Vadot  the ISC.
21c66ec88fSEmmanuel Vadot- interrupt-map: Specifies the mapping from external interrupts to GIC
22c66ec88fSEmmanuel Vadot  interrupts.
23c66ec88fSEmmanuel Vadot- interrupt-map-mask: Must be <0xffffffff 0>.
24c66ec88fSEmmanuel Vadot
25c66ec88fSEmmanuel VadotExample:
26c66ec88fSEmmanuel Vadot	scfg: scfg@1570000 {
27c66ec88fSEmmanuel Vadot		compatible = "fsl,ls1021a-scfg", "syscon";
28c66ec88fSEmmanuel Vadot		reg = <0x0 0x1570000 0x0 0x10000>;
29c66ec88fSEmmanuel Vadot		big-endian;
30c66ec88fSEmmanuel Vadot		#address-cells = <1>;
31c66ec88fSEmmanuel Vadot		#size-cells = <1>;
32c66ec88fSEmmanuel Vadot		ranges = <0x0 0x0 0x1570000 0x10000>;
33c66ec88fSEmmanuel Vadot
34c66ec88fSEmmanuel Vadot		extirq: interrupt-controller@1ac {
35c66ec88fSEmmanuel Vadot			compatible = "fsl,ls1021a-extirq";
36c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
37c66ec88fSEmmanuel Vadot			#address-cells = <0>;
38c66ec88fSEmmanuel Vadot			interrupt-controller;
39c66ec88fSEmmanuel Vadot			reg = <0x1ac 4>;
40c66ec88fSEmmanuel Vadot			interrupt-map =
41c66ec88fSEmmanuel Vadot				<0 0 &gic GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
42c66ec88fSEmmanuel Vadot				<1 0 &gic GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
43c66ec88fSEmmanuel Vadot				<2 0 &gic GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
44c66ec88fSEmmanuel Vadot				<3 0 &gic GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
45c66ec88fSEmmanuel Vadot				<4 0 &gic GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
46c66ec88fSEmmanuel Vadot				<5 0 &gic GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
47c66ec88fSEmmanuel Vadot			interrupt-map-mask = <0xffffffff 0x0>;
48c66ec88fSEmmanuel Vadot		};
49c66ec88fSEmmanuel Vadot	};
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadot
52c66ec88fSEmmanuel Vadot	interrupts-extended = <&gic GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
53c66ec88fSEmmanuel Vadot			      <&extirq 1 IRQ_TYPE_LEVEL_LOW>;
54