| .. | .. |
|---|
| 2 | 2 | |
|---|
| 3 | 3 | Synopsys DesignWare provides interrupt controller IP for APB known as |
|---|
| 4 | 4 | dw_apb_ictl. The IP is used as secondary interrupt controller in some SoCs with |
|---|
| 5 | | -APB bus, e.g. Marvell Armada 1500. |
|---|
| 5 | +APB bus, e.g. Marvell Armada 1500. It can also be used as primary interrupt |
|---|
| 6 | +controller in some SoCs, e.g. Hisilicon SD5203. |
|---|
| 6 | 7 | |
|---|
| 7 | 8 | Required properties: |
|---|
| 8 | 9 | - compatible: shall be "snps,dw-apb-ictl" |
|---|
| .. | .. |
|---|
| 10 | 11 | region starting with ENABLE_LOW register |
|---|
| 11 | 12 | - interrupt-controller: identifies the node as an interrupt controller |
|---|
| 12 | 13 | - #interrupt-cells: number of cells to encode an interrupt-specifier, shall be 1 |
|---|
| 14 | + |
|---|
| 15 | +Additional required property when it's used as secondary interrupt controller: |
|---|
| 13 | 16 | - interrupts: interrupt reference to primary interrupt controller |
|---|
| 14 | 17 | |
|---|
| 15 | 18 | The interrupt sources map to the corresponding bits in the interrupt |
|---|
| .. | .. |
|---|
| 21 | 24 | - (optional) fast interrupts start at 64. |
|---|
| 22 | 25 | |
|---|
| 23 | 26 | Example: |
|---|
| 27 | + /* dw_apb_ictl is used as secondary interrupt controller */ |
|---|
| 24 | 28 | aic: interrupt-controller@3000 { |
|---|
| 25 | 29 | compatible = "snps,dw-apb-ictl"; |
|---|
| 26 | 30 | reg = <0x3000 0xc00>; |
|---|
| .. | .. |
|---|
| 29 | 33 | interrupt-parent = <&gic>; |
|---|
| 30 | 34 | interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 31 | 35 | }; |
|---|
| 36 | + |
|---|
| 37 | + /* dw_apb_ictl is used as primary interrupt controller */ |
|---|
| 38 | + vic: interrupt-controller@10130000 { |
|---|
| 39 | + compatible = "snps,dw-apb-ictl"; |
|---|
| 40 | + reg = <0x10130000 0x1000>; |
|---|
| 41 | + interrupt-controller; |
|---|
| 42 | + #interrupt-cells = <1>; |
|---|
| 43 | + }; |
|---|