Back to home page

OSCL-LXR

 
 

    


0001 * ARC-HS Interrupt Distribution Unit
0002 
0003   This optional 2nd level interrupt controller can be used in SMP configurations
0004   for dynamic IRQ routing, load balancing of common/external IRQs towards core
0005   intc.
0006 
0007 Properties:
0008 
0009 - compatible: "snps,archs-idu-intc"
0010 - interrupt-controller: This is an interrupt controller.
0011 - #interrupt-cells: Must be <1> or <2>.
0012 
0013   Value of the first cell specifies the "common" IRQ from peripheral to IDU.
0014   Number N of the particular interrupt line of IDU corresponds to the line N+24
0015   of the core interrupt controller.
0016 
0017   The (optional) second cell specifies any of the following flags:
0018     - bits[3:0] trigger type and level flags
0019         1 = low-to-high edge triggered
0020         2 = NOT SUPPORTED (high-to-low edge triggered)
0021         4 = active high level-sensitive <<< DEFAULT
0022         8 = NOT SUPPORTED (active low level-sensitive)
0023   When no second cell is specified, the interrupt is assumed to be level
0024   sensitive.
0025 
0026   The interrupt controller is accessed via the special ARC AUX register
0027   interface, hence "reg" property is not specified.
0028 
0029 Example:
0030         core_intc: core-interrupt-controller {
0031                 compatible = "snps,archs-intc";
0032                 interrupt-controller;
0033                 #interrupt-cells = <1>;
0034         };
0035 
0036         idu_intc: idu-interrupt-controller {
0037                 compatible = "snps,archs-idu-intc";
0038                 interrupt-controller;
0039                 interrupt-parent = <&core_intc>;
0040                 #interrupt-cells = <1>;
0041         };
0042 
0043         some_device: serial@c0fc1000 {
0044                 interrupt-parent = <&idu_intc>;
0045                 interrupts = <0>;       /* upstream idu IRQ #24 */
0046         };