* ARC-HS Interrupt Distribution Unit

  This optional 2nd level interrupt controller can be used in SMP configurations
  for dynamic IRQ routing, load balancing of common/external IRQs towards core
  intc.

Properties:

- compatible: "snps,archs-idu-intc"
- interrupt-controller: This is an interrupt controller.
- #interrupt-cells: Must be <1> or <2>.

  Value of the first cell specifies the "common" IRQ from peripheral to IDU.
  Number N of the particular interrupt line of IDU corresponds to the line N+24
  of the core interrupt controller.

  The (optional) second cell specifies any of the following flags:
    - bits[3:0] trigger type and level flags
        1 = low-to-high edge triggered
        2 = NOT SUPPORTED (high-to-low edge triggered)
        4 = active high level-sensitive <<< DEFAULT
        8 = NOT SUPPORTED (active low level-sensitive)
  When no second cell is specified, the interrupt is assumed to be level
  sensitive.

  The interrupt controller is accessed via the special ARC AUX register
  interface, hence "reg" property is not specified.

Example:
	core_intc: core-interrupt-controller {
		compatible = "snps,archs-intc";
		interrupt-controller;
		#interrupt-cells = <1>;
	};

	idu_intc: idu-interrupt-controller {
		compatible = "snps,archs-idu-intc";
		interrupt-controller;
		interrupt-parent = <&core_intc>;
		#interrupt-cells = <1>;
	};

	some_device: serial@c0fc1000 {
		interrupt-parent = <&idu_intc>;
		interrupts = <0>;	/* upstream idu IRQ #24 */
	};
