diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-10 11:38:57 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-10 11:38:57 -0500 |
| commit | ecb50f0afd35a51ef487e8a54b976052eb03d729 (patch) | |
| tree | 27457f87d3dc2ce6c81e16d795f953e66c2fff45 /Documentation/devicetree/bindings/interrupt-controller | |
| parent | a157508c9790ccd1c8b5c6a828d6ba85bbe95aaa (diff) | |
| parent | 1655b0530d9502e69686220491ffb15ba0738c58 (diff) | |
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq core updates from Thomas Gleixner:
"This is the first (boring) part of irq updates:
- support for big endian I/O accessors in the generic irq chip
- cleanup of brcmstb/bcm7120 drivers so they can be reused for non
ARM SoCs
- the usual pile of fixes and updates for the various ARM irq chips"
* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits)
irqchip: dw-apb-ictl: Add PM support
irqchip: dw-apb-ictl: Enable IRQ_GC_MASK_CACHE_PER_TYPE
irqchip: dw-apb-ictl: Always use use {readl|writel}_relaxed
ARM: orion: convert the irq_reg_{readl,writel} calls to the new API
irqchip: atmel-aic: Add missing entry for rm9200 irq fixups
irqchip: atmel-aic: Rename at91sam9_aic_irq_fixup for naming consistency
irqchip: atmel-aic: Add specific irq fixup function for sam9g45 and sam9rl
irqchip: atmel-aic: Add irq fixups for at91sam926x SoCs
irqchip: atmel-aic: Add irq fixup for RTT block
irqchip: brcmstb-l2: Convert driver to use irq_reg_{readl,writel}
irqchip: bcm7120-l2: Convert driver to use irq_reg_{readl,writel}
irqchip: bcm7120-l2: Decouple driver from brcmstb-l2
irqchip: bcm7120-l2: Extend driver to support 64+ bit controllers
irqchip: bcm7120-l2: Use gc->mask_cache to simplify suspend/resume functions
irqchip: bcm7120-l2: Fix missing nibble in gc->unused mask
irqchip: bcm7120-l2: Make sure all register accesses use base+offset
irqchip: bcm7120-l2, brcmstb-l2: Remove ARM Kconfig dependency
irqchip: bcm7120-l2: Eliminate bad IRQ check
irqchip: brcmstb-l2: Eliminate dependency on ARM code
genirq: Generic chip: Add big endian I/O accessors
...
Diffstat (limited to 'Documentation/devicetree/bindings/interrupt-controller')
| -rw-r--r-- | Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt index ff812a8a82bc..bae1f2187226 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt +++ b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt | |||
| @@ -13,7 +13,12 @@ Such an interrupt controller has the following hardware design: | |||
| 13 | or if they will output an interrupt signal at this 2nd level interrupt | 13 | or if they will output an interrupt signal at this 2nd level interrupt |
| 14 | controller, in particular for UARTs | 14 | controller, in particular for UARTs |
| 15 | 15 | ||
| 16 | - not all 32-bits within the interrupt controller actually map to an interrupt | 16 | - typically has one 32-bit enable word and one 32-bit status word, but on |
| 17 | some hardware may have more than one enable/status pair | ||
| 18 | |||
| 19 | - no atomic set/clear operations | ||
| 20 | |||
| 21 | - not all bits within the interrupt controller actually map to an interrupt | ||
| 17 | 22 | ||
| 18 | The typical hardware layout for this controller is represented below: | 23 | The typical hardware layout for this controller is represented below: |
| 19 | 24 | ||
| @@ -48,7 +53,9 @@ The typical hardware layout for this controller is represented below: | |||
| 48 | Required properties: | 53 | Required properties: |
| 49 | 54 | ||
| 50 | - compatible: should be "brcm,bcm7120-l2-intc" | 55 | - compatible: should be "brcm,bcm7120-l2-intc" |
| 51 | - reg: specifies the base physical address and size of the registers | 56 | - reg: specifies the base physical address and size of the registers; |
| 57 | multiple pairs may be specified, with the first pair handling IRQ offsets | ||
| 58 | 0..31 and the second pair handling 32..63 | ||
| 52 | - interrupt-controller: identifies the node as an interrupt controller | 59 | - interrupt-controller: identifies the node as an interrupt controller |
| 53 | - #interrupt-cells: specifies the number of cells needed to encode an interrupt | 60 | - #interrupt-cells: specifies the number of cells needed to encode an interrupt |
| 54 | source, should be 1. | 61 | source, should be 1. |
| @@ -59,18 +66,21 @@ Required properties: | |||
| 59 | - brcm,int-map-mask: 32-bits bit mask describing how many and which interrupts | 66 | - brcm,int-map-mask: 32-bits bit mask describing how many and which interrupts |
| 60 | are wired to this 2nd level interrupt controller, and how they match their | 67 | are wired to this 2nd level interrupt controller, and how they match their |
| 61 | respective interrupt parents. Should match exactly the number of interrupts | 68 | respective interrupt parents. Should match exactly the number of interrupts |
| 62 | specified in the 'interrupts' property. | 69 | specified in the 'interrupts' property, multiplied by the number of |
| 70 | enable/status register pairs implemented by this controller. For | ||
| 71 | multiple parent IRQs with multiple enable/status words, this looks like: | ||
| 72 | <irq0_w0 irq0_w1 irq1_w0 irq1_w1 ...> | ||
| 63 | 73 | ||
| 64 | Optional properties: | 74 | Optional properties: |
| 65 | 75 | ||
| 66 | - brcm,irq-can-wake: if present, this means the L2 controller can be used as a | 76 | - brcm,irq-can-wake: if present, this means the L2 controller can be used as a |
| 67 | wakeup source for system suspend/resume. | 77 | wakeup source for system suspend/resume. |
| 68 | 78 | ||
| 69 | - brcm,int-fwd-mask: if present, a 32-bits bit mask to configure for the | 79 | - brcm,int-fwd-mask: if present, a bit mask to configure the interrupts which |
| 70 | interrupts which have a mux gate, typically UARTs. Setting these bits will | 80 | have a mux gate, typically UARTs. Setting these bits will make their |
| 71 | make their respective interrupts outputs bypass this 2nd level interrupt | 81 | respective interrupt outputs bypass this 2nd level interrupt controller |
| 72 | controller completely, it completely transparent for the interrupt controller | 82 | completely; it is completely transparent for the interrupt controller |
| 73 | parent | 83 | parent. This should have one 32-bit word per enable/status pair. |
| 74 | 84 | ||
| 75 | Example: | 85 | Example: |
| 76 | 86 | ||
