18c2ecf20Sopenharmony_ciMarvell Orion SoC interrupt controllers
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci* Main interrupt controller
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ciRequired properties:
68c2ecf20Sopenharmony_ci- compatible: shall be "marvell,orion-intc"
78c2ecf20Sopenharmony_ci- reg: base address(es) of interrupt registers starting with CAUSE register
88c2ecf20Sopenharmony_ci- interrupt-controller: identifies the node as an interrupt controller
98c2ecf20Sopenharmony_ci- #interrupt-cells: number of cells to encode an interrupt source, shall be 1
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciThe interrupt sources map to the corresponding bits in the interrupt
128c2ecf20Sopenharmony_ciregisters, i.e.
138c2ecf20Sopenharmony_ci- 0 maps to bit 0 of first base address,
148c2ecf20Sopenharmony_ci- 1 maps to bit 1 of first base address,
158c2ecf20Sopenharmony_ci- 32 maps to bit 0 of second base address, and so on.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciExample:
188c2ecf20Sopenharmony_ci	intc: interrupt-controller {
198c2ecf20Sopenharmony_ci		compatible = "marvell,orion-intc";
208c2ecf20Sopenharmony_ci		interrupt-controller;
218c2ecf20Sopenharmony_ci		#interrupt-cells = <1>;
228c2ecf20Sopenharmony_ci		 /* Dove has 64 first level interrupts */
238c2ecf20Sopenharmony_ci		reg = <0x20200 0x10>, <0x20210 0x10>;
248c2ecf20Sopenharmony_ci	};
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci* Bridge interrupt controller
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciRequired properties:
298c2ecf20Sopenharmony_ci- compatible: shall be "marvell,orion-bridge-intc"
308c2ecf20Sopenharmony_ci- reg: base address of bridge interrupt registers starting with CAUSE register
318c2ecf20Sopenharmony_ci- interrupts: bridge interrupt of the main interrupt controller
328c2ecf20Sopenharmony_ci- interrupt-controller: identifies the node as an interrupt controller
338c2ecf20Sopenharmony_ci- #interrupt-cells: number of cells to encode an interrupt source, shall be 1
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ciOptional properties:
368c2ecf20Sopenharmony_ci- marvell,#interrupts: number of interrupts provided by bridge interrupt
378c2ecf20Sopenharmony_ci      controller, defaults to 32 if not set
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ciExample:
408c2ecf20Sopenharmony_ci	bridge_intc: interrupt-controller {
418c2ecf20Sopenharmony_ci		compatible = "marvell,orion-bridge-intc";
428c2ecf20Sopenharmony_ci		interrupt-controller;
438c2ecf20Sopenharmony_ci		#interrupt-cells = <1>;
448c2ecf20Sopenharmony_ci		reg = <0x20110 0x8>;
458c2ecf20Sopenharmony_ci		interrupts = <0>;
468c2ecf20Sopenharmony_ci		/* Dove bridge provides 5 interrupts */
478c2ecf20Sopenharmony_ci		marvell,#interrupts = <5>;
488c2ecf20Sopenharmony_ci	};
49