xref: /freebsd-src/sys/contrib/device-tree/Bindings/interrupt-controller/marvell,orion-intc.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotMarvell Orion SoC interrupt controllers
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel Vadot* Main interrupt controller
4*c66ec88fSEmmanuel Vadot
5*c66ec88fSEmmanuel VadotRequired properties:
6*c66ec88fSEmmanuel Vadot- compatible: shall be "marvell,orion-intc"
7*c66ec88fSEmmanuel Vadot- reg: base address(es) of interrupt registers starting with CAUSE register
8*c66ec88fSEmmanuel Vadot- interrupt-controller: identifies the node as an interrupt controller
9*c66ec88fSEmmanuel Vadot- #interrupt-cells: number of cells to encode an interrupt source, shall be 1
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel VadotThe interrupt sources map to the corresponding bits in the interrupt
12*c66ec88fSEmmanuel Vadotregisters, i.e.
13*c66ec88fSEmmanuel Vadot- 0 maps to bit 0 of first base address,
14*c66ec88fSEmmanuel Vadot- 1 maps to bit 1 of first base address,
15*c66ec88fSEmmanuel Vadot- 32 maps to bit 0 of second base address, and so on.
16*c66ec88fSEmmanuel Vadot
17*c66ec88fSEmmanuel VadotExample:
18*c66ec88fSEmmanuel Vadot	intc: interrupt-controller {
19*c66ec88fSEmmanuel Vadot		compatible = "marvell,orion-intc";
20*c66ec88fSEmmanuel Vadot		interrupt-controller;
21*c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
22*c66ec88fSEmmanuel Vadot		 /* Dove has 64 first level interrupts */
23*c66ec88fSEmmanuel Vadot		reg = <0x20200 0x10>, <0x20210 0x10>;
24*c66ec88fSEmmanuel Vadot	};
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel Vadot* Bridge interrupt controller
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel VadotRequired properties:
29*c66ec88fSEmmanuel Vadot- compatible: shall be "marvell,orion-bridge-intc"
30*c66ec88fSEmmanuel Vadot- reg: base address of bridge interrupt registers starting with CAUSE register
31*c66ec88fSEmmanuel Vadot- interrupts: bridge interrupt of the main interrupt controller
32*c66ec88fSEmmanuel Vadot- interrupt-controller: identifies the node as an interrupt controller
33*c66ec88fSEmmanuel Vadot- #interrupt-cells: number of cells to encode an interrupt source, shall be 1
34*c66ec88fSEmmanuel Vadot
35*c66ec88fSEmmanuel VadotOptional properties:
36*c66ec88fSEmmanuel Vadot- marvell,#interrupts: number of interrupts provided by bridge interrupt
37*c66ec88fSEmmanuel Vadot      controller, defaults to 32 if not set
38*c66ec88fSEmmanuel Vadot
39*c66ec88fSEmmanuel VadotExample:
40*c66ec88fSEmmanuel Vadot	bridge_intc: interrupt-controller {
41*c66ec88fSEmmanuel Vadot		compatible = "marvell,orion-bridge-intc";
42*c66ec88fSEmmanuel Vadot		interrupt-controller;
43*c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
44*c66ec88fSEmmanuel Vadot		reg = <0x20110 0x8>;
45*c66ec88fSEmmanuel Vadot		interrupts = <0>;
46*c66ec88fSEmmanuel Vadot		/* Dove bridge provides 5 interrupts */
47*c66ec88fSEmmanuel Vadot		marvell,#interrupts = <5>;
48*c66ec88fSEmmanuel Vadot	};
49