Sricharan R | 96ca848 | 2013-12-03 15:57:23 +0530 | [diff] [blame] | 1 | Some socs have a large number of interrupts requests to service |
| 2 | the needs of its many peripherals and subsystems. All of the |
| 3 | interrupt lines from the subsystems are not needed at the same |
| 4 | time, so they have to be muxed to the irq-controller appropriately. |
| 5 | In such places a interrupt controllers are preceded by an CROSSBAR |
| 6 | that provides flexibility in muxing the device requests to the controller |
| 7 | inputs. |
| 8 | |
| 9 | Required properties: |
| 10 | - compatible : Should be "ti,irq-crossbar" |
| 11 | - reg: Base address and the size of the crossbar registers. |
| 12 | - ti,max-irqs: Total number of irqs available at the interrupt controller. |
| 13 | - ti,reg-size: Size of a individual register in bytes. Every individual |
| 14 | register is assumed to be of same size. Valid sizes are 1, 2, 4. |
| 15 | - ti,irqs-reserved: List of the reserved irq lines that are not muxed using |
| 16 | crossbar. These interrupt lines are reserved in the soc, |
| 17 | so crossbar bar driver should not consider them as free |
| 18 | lines. |
| 19 | |
| 20 | Examples: |
| 21 | crossbar_mpu: @4a020000 { |
| 22 | compatible = "ti,irq-crossbar"; |
| 23 | reg = <0x4a002a48 0x130>; |
| 24 | ti,max-irqs = <160>; |
| 25 | ti,reg-size = <2>; |
| 26 | ti,irqs-reserved = <0 1 2 3 5 6 131 132 139 140>; |
| 27 | }; |