162306a36Sopenharmony_ci* ARC-HS Interrupt Distribution Unit
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci  This optional 2nd level interrupt controller can be used in SMP configurations
462306a36Sopenharmony_ci  for dynamic IRQ routing, load balancing of common/external IRQs towards core
562306a36Sopenharmony_ci  intc.
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciProperties:
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci- compatible: "snps,archs-idu-intc"
1062306a36Sopenharmony_ci- interrupt-controller: This is an interrupt controller.
1162306a36Sopenharmony_ci- #interrupt-cells: Must be <1> or <2>.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci  Value of the first cell specifies the "common" IRQ from peripheral to IDU.
1462306a36Sopenharmony_ci  Number N of the particular interrupt line of IDU corresponds to the line N+24
1562306a36Sopenharmony_ci  of the core interrupt controller.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci  The (optional) second cell specifies any of the following flags:
1862306a36Sopenharmony_ci    - bits[3:0] trigger type and level flags
1962306a36Sopenharmony_ci        1 = low-to-high edge triggered
2062306a36Sopenharmony_ci        2 = NOT SUPPORTED (high-to-low edge triggered)
2162306a36Sopenharmony_ci        4 = active high level-sensitive <<< DEFAULT
2262306a36Sopenharmony_ci        8 = NOT SUPPORTED (active low level-sensitive)
2362306a36Sopenharmony_ci  When no second cell is specified, the interrupt is assumed to be level
2462306a36Sopenharmony_ci  sensitive.
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  The interrupt controller is accessed via the special ARC AUX register
2762306a36Sopenharmony_ci  interface, hence "reg" property is not specified.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciExample:
3062306a36Sopenharmony_ci	core_intc: core-interrupt-controller {
3162306a36Sopenharmony_ci		compatible = "snps,archs-intc";
3262306a36Sopenharmony_ci		interrupt-controller;
3362306a36Sopenharmony_ci		#interrupt-cells = <1>;
3462306a36Sopenharmony_ci	};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	idu_intc: idu-interrupt-controller {
3762306a36Sopenharmony_ci		compatible = "snps,archs-idu-intc";
3862306a36Sopenharmony_ci		interrupt-controller;
3962306a36Sopenharmony_ci		interrupt-parent = <&core_intc>;
4062306a36Sopenharmony_ci		#interrupt-cells = <1>;
4162306a36Sopenharmony_ci	};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci	some_device: serial@c0fc1000 {
4462306a36Sopenharmony_ci		interrupt-parent = <&idu_intc>;
4562306a36Sopenharmony_ci		interrupts = <0>;	/* upstream idu IRQ #24 */
4662306a36Sopenharmony_ci	};
47