diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-05 20:38:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-05 20:38:45 -0400 |
commit | 08d69a25714429850cf9ef71f22d8cdc9189d93f (patch) | |
tree | c03f4e91834b5280a4695f0c805b58c599e895cc /Documentation | |
parent | ed5c41d30ef2ce578fd6b6e2f7ec23f2a58b1eba (diff) | |
parent | c6f1224573c3b609bd8073b39f496637a16cc06f (diff) |
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq updates from Thomas Gleixner:
"Nothing spectacular from the irq department this time:
- overhaul of the crossbar chip driver
- overhaul of the spear shirq chip driver
- support for the atmel-aic chip
- code move from arch to drivers
- the usual tiny fixlets
- two reverts worth to mention which undo the too simple attempt of
supporting wakeup interrupts on shared interrupt lines"
* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits)
Revert "irq: Warn when shared interrupts do not match on NO_SUSPEND"
Revert "PM / sleep / irq: Do not suspend wakeup interrupts"
irq: Warn when shared interrupts do not match on NO_SUSPEND
irqchip: atmel-aic: Define irq fixups for atmel SoCs
irqchip: atmel-aic: Implement RTC irq fixup
irqchip: atmel-aic: Add irq fixup infrastructure
irqchip: atmel-aic: Add atmel AIC/AIC5 drivers
irqchip: atmel-aic: Move binding doc to interrupt-controller directory
genirq: generic chip: Export irq_map_generic_chip function
PM / sleep / irq: Do not suspend wakeup interrupts
irqchip: or1k-pic: Migrate from arch/openrisc/
irqchip: crossbar: Allow for quirky hardware with direct hardwiring of GIC
documentation: dt: omap: crossbar: Add description for interrupt consumer
irqchip: crossbar: Introduce centralized check for crossbar write
irqchip: crossbar: Introduce ti, max-crossbar-sources to identify valid crossbar mapping
irqchip: crossbar: Add kerneldoc for crossbar_domain_unmap callback
irqchip: crossbar: Set cb pointer to null in case of error
irqchip: crossbar: Change the goto naming
irqchip: crossbar: Return proper error value
irqchip: crossbar: Fix kerneldoc warning
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/devicetree/bindings/arm/omap/crossbar.txt | 36 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt (renamed from Documentation/devicetree/bindings/arm/atmel-aic.txt) | 0 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/interrupt-controller/opencores,or1k-pic.txt | 23 |
3 files changed, 59 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/arm/omap/crossbar.txt b/Documentation/devicetree/bindings/arm/omap/crossbar.txt index fb88585cfb93..4139db353d0a 100644 --- a/Documentation/devicetree/bindings/arm/omap/crossbar.txt +++ b/Documentation/devicetree/bindings/arm/omap/crossbar.txt | |||
@@ -10,6 +10,7 @@ Required properties: | |||
10 | - compatible : Should be "ti,irq-crossbar" | 10 | - compatible : Should be "ti,irq-crossbar" |
11 | - reg: Base address and the size of the crossbar registers. | 11 | - reg: Base address and the size of the crossbar registers. |
12 | - ti,max-irqs: Total number of irqs available at the interrupt controller. | 12 | - ti,max-irqs: Total number of irqs available at the interrupt controller. |
13 | - ti,max-crossbar-sources: Maximum number of crossbar sources that can be routed. | ||
13 | - ti,reg-size: Size of a individual register in bytes. Every individual | 14 | - 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 | 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 | - ti,irqs-reserved: List of the reserved irq lines that are not muxed using |
@@ -17,11 +18,46 @@ Required properties: | |||
17 | so crossbar bar driver should not consider them as free | 18 | so crossbar bar driver should not consider them as free |
18 | lines. | 19 | lines. |
19 | 20 | ||
21 | Optional properties: | ||
22 | - ti,irqs-skip: This is similar to "ti,irqs-reserved", but these are for | ||
23 | SOC-specific hard-wiring of those irqs which unexpectedly bypasses the | ||
24 | crossbar. These irqs have a crossbar register, but still cannot be used. | ||
25 | |||
26 | - ti,irqs-safe-map: integer which maps to a safe configuration to use | ||
27 | when the interrupt controller irq is unused (when not provided, default is 0) | ||
28 | |||
20 | Examples: | 29 | Examples: |
21 | crossbar_mpu: @4a020000 { | 30 | crossbar_mpu: @4a020000 { |
22 | compatible = "ti,irq-crossbar"; | 31 | compatible = "ti,irq-crossbar"; |
23 | reg = <0x4a002a48 0x130>; | 32 | reg = <0x4a002a48 0x130>; |
24 | ti,max-irqs = <160>; | 33 | ti,max-irqs = <160>; |
34 | ti,max-crossbar-sources = <400>; | ||
25 | ti,reg-size = <2>; | 35 | ti,reg-size = <2>; |
26 | ti,irqs-reserved = <0 1 2 3 5 6 131 132 139 140>; | 36 | ti,irqs-reserved = <0 1 2 3 5 6 131 132 139 140>; |
37 | ti,irqs-skip = <10 133 139 140>; | ||
27 | }; | 38 | }; |
39 | |||
40 | Consumer: | ||
41 | ======== | ||
42 | See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt and | ||
43 | Documentation/devicetree/bindings/arm/gic.txt for further details. | ||
44 | |||
45 | An interrupt consumer on an SoC using crossbar will use: | ||
46 | interrupts = <GIC_SPI request_number interrupt_level> | ||
47 | When the request number is between 0 to that described by | ||
48 | "ti,max-crossbar-sources", it is assumed to be a crossbar mapping. If the | ||
49 | request_number is greater than "ti,max-crossbar-sources", then it is mapped as a | ||
50 | quirky hardware mapping direct to GIC. | ||
51 | |||
52 | Example: | ||
53 | device_x@0x4a023000 { | ||
54 | /* Crossbar 8 used */ | ||
55 | interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; | ||
56 | ... | ||
57 | }; | ||
58 | |||
59 | device_y@0x4a033000 { | ||
60 | /* Direct mapped GIC SPI 1 used */ | ||
61 | interrupts = <GIC_SPI DIRECT_IRQ(1) IRQ_TYPE_LEVEL_HIGH>; | ||
62 | ... | ||
63 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/atmel-aic.txt b/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt index 2742e9cfd6b1..2742e9cfd6b1 100644 --- a/Documentation/devicetree/bindings/arm/atmel-aic.txt +++ b/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt | |||
diff --git a/Documentation/devicetree/bindings/interrupt-controller/opencores,or1k-pic.txt b/Documentation/devicetree/bindings/interrupt-controller/opencores,or1k-pic.txt new file mode 100644 index 000000000000..55c04faa3f3f --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/opencores,or1k-pic.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | OpenRISC 1000 Programmable Interrupt Controller | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible : should be "opencores,or1k-pic-level" for variants with | ||
6 | level triggered interrupt lines, "opencores,or1k-pic-edge" for variants with | ||
7 | edge triggered interrupt lines or "opencores,or1200-pic" for machines | ||
8 | with the non-spec compliant or1200 type implementation. | ||
9 | |||
10 | "opencores,or1k-pic" is also provided as an alias to "opencores,or1200-pic", | ||
11 | but this is only for backwards compatibility. | ||
12 | |||
13 | - interrupt-controller : Identifies the node as an interrupt controller | ||
14 | - #interrupt-cells : Specifies the number of cells needed to encode an | ||
15 | interrupt source. The value shall be 1. | ||
16 | |||
17 | Example: | ||
18 | |||
19 | intc: interrupt-controller { | ||
20 | compatible = "opencores,or1k-pic-level"; | ||
21 | interrupt-controller; | ||
22 | #interrupt-cells = <1>; | ||
23 | }; | ||