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