File Index
Files and directories
Sign in
FILE

brcm,bcm2835-armctrl-ic.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.yaml YAML
  1%YAML 1.2
  2---
  3$id: http://devicetree.org/schemas/interrupt-controller/brcm,bcm2835-armctrl-ic.yaml#
  4$schema: http://devicetree.org/meta-schemas/core.yaml#
  5
  6title: BCM2835 ARMCTRL Interrupt Controller
  7
  8maintainers:
  9  - Florian Fainelli <florian.fainelli@broadcom.com>
 10  - Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>
 11
 12description: >
 13  The BCM2835 contains a custom top-level interrupt controller, which supports
 14  72 interrupt sources using a 2-level register scheme. The interrupt
 15  controller, or the HW block containing it, is referred to occasionally as
 16  "armctrl" in the SoC documentation, hence naming of this binding.
 17
 18  The BCM2836 contains the same interrupt controller with the same interrupts,
 19  but the per-CPU interrupt controller is the root, and an interrupt there
 20  indicates that the ARMCTRL has an interrupt to handle.
 21
 22  The interrupt sources are as follows:
 23
 24  Bank 0:
 25    0: ARM_TIMER
 26    1: ARM_MAILBOX
 27    2: ARM_DOORBELL_0
 28    3: ARM_DOORBELL_1
 29    4: VPU0_HALTED
 30    5: VPU1_HALTED
 31    6: ILLEGAL_TYPE0
 32    7: ILLEGAL_TYPE1
 33
 34  Bank 1:
 35    0: TIMER0
 36    1: TIMER1
 37    2: TIMER2
 38    3: TIMER3
 39    4: CODEC0
 40    5: CODEC1
 41    6: CODEC2
 42    7: VC_JPEG
 43    8: ISP
 44    9: VC_USB
 45    10: VC_3D
 46    11: TRANSPOSER
 47    12: MULTICORESYNC0
 48    13: MULTICORESYNC1
 49    14: MULTICORESYNC2
 50    15: MULTICORESYNC3
 51    16: DMA0
 52    17: DMA1
 53    18: VC_DMA2
 54    19: VC_DMA3
 55    20: DMA4
 56    21: DMA5
 57    22: DMA6
 58    23: DMA7
 59    24: DMA8
 60    25: DMA9
 61    26: DMA10
 62    27: DMA11-14 - shared interrupt for DMA 11 to 14
 63    28: DMAALL - triggers on all dma interrupts (including channel 15)
 64    29: AUX
 65    30: ARM
 66    31: VPUDMA
 67
 68  Bank 2:
 69    0: HOSTPORT
 70    1: VIDEOSCALER
 71    2: CCP2TX
 72    3: SDC
 73    4: DSI0
 74    5: AVE
 75    6: CAM0
 76    7: CAM1
 77    8: HDMI0
 78    9: HDMI1
 79    10: PIXELVALVE1
 80    11: I2CSPISLV
 81    12: DSI1
 82    13: PWA0
 83    14: PWA1
 84    15: CPR
 85    16: SMI
 86    17: GPIO0
 87    18: GPIO1
 88    19: GPIO2
 89    20: GPIO3
 90    21: VC_I2C
 91    22: VC_SPI
 92    23: VC_I2SPCM
 93    24: VC_SDIO
 94    25: VC_UART
 95    26: SLIMBUS
 96    27: VEC
 97    28: CPG
 98    29: RNG
 99    30: VC_ARASANSDIO
100    31: AVSPMON
101
102properties:
103  compatible:
104    enum:
105      - brcm,bcm2835-armctrl-ic
106      - brcm,bcm2836-armctrl-ic
107
108  reg:
109    maxItems: 1
110
111  interrupt-controller: true
112
113  '#interrupt-cells':
114    const: 2
115    description: >
116      The 1st cell is the interrupt bank; 0 for interrupts in the "IRQ basic
117      pending" register, or 1/2 respectively for interrupts in the "IRQ pending
118      1/2" register.
119
120      The 2nd cell contains the interrupt number within the bank. Valid values
121      are 0..7 for bank 0, and 0..31 for bank 1.
122
123  interrupts:
124    maxItems: 1
125
126required:
127  - compatible
128  - reg
129  - interrupt-controller
130  - '#interrupt-cells'
131
132allOf:
133  - if:
134      properties:
135        compatible:
136          contains:
137            const: brcm,bcm2836-armctrl-ic
138    then:
139      required:
140        - interrupts
141    else:
142      properties:
143        interrupts: false
144
145additionalProperties: false
146
147examples:
148  - |
149    interrupt-controller@7e00b200 {
150        compatible = "brcm,bcm2835-armctrl-ic";
151        reg = <0x7e00b200 0x200>;
152        interrupt-controller;
153        #interrupt-cells = <2>;
154    };
155  - |
156    interrupt-controller@7e00b200 {
157        compatible = "brcm,bcm2836-armctrl-ic";
158        reg = <0x7e00b200 0x200>;
159        interrupt-controller;
160        #interrupt-cells = <2>;
161        interrupts = <8>;
162    };
~/ Read-only file preview.