19dbd90f1SSebastian HesselbarthMarvell Orion SoC interrupt controllers
29dbd90f1SSebastian Hesselbarth
39dbd90f1SSebastian Hesselbarth* Main interrupt controller
49dbd90f1SSebastian Hesselbarth
59dbd90f1SSebastian HesselbarthRequired properties:
69dbd90f1SSebastian Hesselbarth- compatible: shall be "marvell,orion-intc"
79dbd90f1SSebastian Hesselbarth- reg: base address(es) of interrupt registers starting with CAUSE register
89dbd90f1SSebastian Hesselbarth- interrupt-controller: identifies the node as an interrupt controller
99dbd90f1SSebastian Hesselbarth- #interrupt-cells: number of cells to encode an interrupt source, shall be 1
109dbd90f1SSebastian Hesselbarth
119dbd90f1SSebastian HesselbarthThe interrupt sources map to the corresponding bits in the interrupt
129dbd90f1SSebastian Hesselbarthregisters, i.e.
139dbd90f1SSebastian Hesselbarth- 0 maps to bit 0 of first base address,
149dbd90f1SSebastian Hesselbarth- 1 maps to bit 1 of first base address,
159dbd90f1SSebastian Hesselbarth- 32 maps to bit 0 of second base address, and so on.
169dbd90f1SSebastian Hesselbarth
179dbd90f1SSebastian HesselbarthExample:
189dbd90f1SSebastian Hesselbarth	intc: interrupt-controller {
199dbd90f1SSebastian Hesselbarth		compatible = "marvell,orion-intc";
209dbd90f1SSebastian Hesselbarth		interrupt-controller;
219dbd90f1SSebastian Hesselbarth		#interrupt-cells = <1>;
229dbd90f1SSebastian Hesselbarth		 /* Dove has 64 first level interrupts */
239dbd90f1SSebastian Hesselbarth		reg = <0x20200 0x10>, <0x20210 0x10>;
249dbd90f1SSebastian Hesselbarth	};
259dbd90f1SSebastian Hesselbarth
269dbd90f1SSebastian Hesselbarth* Bridge interrupt controller
279dbd90f1SSebastian Hesselbarth
289dbd90f1SSebastian HesselbarthRequired properties:
299dbd90f1SSebastian Hesselbarth- compatible: shall be "marvell,orion-bridge-intc"
309dbd90f1SSebastian Hesselbarth- reg: base address of bridge interrupt registers starting with CAUSE register
319dbd90f1SSebastian Hesselbarth- interrupts: bridge interrupt of the main interrupt controller
329dbd90f1SSebastian Hesselbarth- interrupt-controller: identifies the node as an interrupt controller
339dbd90f1SSebastian Hesselbarth- #interrupt-cells: number of cells to encode an interrupt source, shall be 1
349dbd90f1SSebastian Hesselbarth
359dbd90f1SSebastian HesselbarthOptional properties:
369dbd90f1SSebastian Hesselbarth- marvell,#interrupts: number of interrupts provided by bridge interrupt
379dbd90f1SSebastian Hesselbarth      controller, defaults to 32 if not set
389dbd90f1SSebastian Hesselbarth
399dbd90f1SSebastian HesselbarthExample:
409dbd90f1SSebastian Hesselbarth	bridge_intc: interrupt-controller {
419dbd90f1SSebastian Hesselbarth		compatible = "marvell,orion-bridge-intc";
429dbd90f1SSebastian Hesselbarth		interrupt-controller;
439dbd90f1SSebastian Hesselbarth		#interrupt-cells = <1>;
449dbd90f1SSebastian Hesselbarth		reg = <0x20110 0x8>;
459dbd90f1SSebastian Hesselbarth		interrupts = <0>;
469dbd90f1SSebastian Hesselbarth		/* Dove bridge provides 5 interrupts */
479dbd90f1SSebastian Hesselbarth		marvell,#interrupts = <5>;
489dbd90f1SSebastian Hesselbarth	};
49