18c2ecf20Sopenharmony_ci* ARC-HS Interrupt Distribution Unit
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci  This optional 2nd level interrupt controller can be used in SMP configurations
48c2ecf20Sopenharmony_ci  for dynamic IRQ routing, load balancing of common/external IRQs towards core
58c2ecf20Sopenharmony_ci  intc.
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciProperties:
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci- compatible: "snps,archs-idu-intc"
108c2ecf20Sopenharmony_ci- interrupt-controller: This is an interrupt controller.
118c2ecf20Sopenharmony_ci- #interrupt-cells: Must be <1> or <2>.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci  Value of the first cell specifies the "common" IRQ from peripheral to IDU.
148c2ecf20Sopenharmony_ci  Number N of the particular interrupt line of IDU corresponds to the line N+24
158c2ecf20Sopenharmony_ci  of the core interrupt controller.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci  The (optional) second cell specifies any of the following flags:
188c2ecf20Sopenharmony_ci    - bits[3:0] trigger type and level flags
198c2ecf20Sopenharmony_ci        1 = low-to-high edge triggered
208c2ecf20Sopenharmony_ci        2 = NOT SUPPORTED (high-to-low edge triggered)
218c2ecf20Sopenharmony_ci        4 = active high level-sensitive <<< DEFAULT
228c2ecf20Sopenharmony_ci        8 = NOT SUPPORTED (active low level-sensitive)
238c2ecf20Sopenharmony_ci  When no second cell is specified, the interrupt is assumed to be level
248c2ecf20Sopenharmony_ci  sensitive.
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci  The interrupt controller is accessed via the special ARC AUX register
278c2ecf20Sopenharmony_ci  interface, hence "reg" property is not specified.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciExample:
308c2ecf20Sopenharmony_ci	core_intc: core-interrupt-controller {
318c2ecf20Sopenharmony_ci		compatible = "snps,archs-intc";
328c2ecf20Sopenharmony_ci		interrupt-controller;
338c2ecf20Sopenharmony_ci		#interrupt-cells = <1>;
348c2ecf20Sopenharmony_ci	};
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci	idu_intc: idu-interrupt-controller {
378c2ecf20Sopenharmony_ci		compatible = "snps,archs-idu-intc";
388c2ecf20Sopenharmony_ci		interrupt-controller;
398c2ecf20Sopenharmony_ci		interrupt-parent = <&core_intc>;
408c2ecf20Sopenharmony_ci		#interrupt-cells = <1>;
418c2ecf20Sopenharmony_ci	};
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci	some_device: serial@c0fc1000 {
448c2ecf20Sopenharmony_ci		interrupt-parent = <&idu_intc>;
458c2ecf20Sopenharmony_ci		interrupts = <0>;	/* upstream idu IRQ #24 */
468c2ecf20Sopenharmony_ci	};
47