xref: /linux/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt (revision 89214f009c1d38568456dcf997d93977928fe2c3)
1*89214f00SSimon ArlottBCM2835 Top-Level ("ARMCTRL") Interrupt Controller
2*89214f00SSimon Arlott
3*89214f00SSimon ArlottThe BCM2835 contains a custom top-level interrupt controller, which supports
4*89214f00SSimon Arlott72 interrupt sources using a 2-level register scheme. The interrupt
5*89214f00SSimon Arlottcontroller, or the HW block containing it, is referred to occasionally
6*89214f00SSimon Arlottas "armctrl" in the SoC documentation, hence naming of this binding.
7*89214f00SSimon Arlott
8*89214f00SSimon ArlottRequired properties:
9*89214f00SSimon Arlott
10*89214f00SSimon Arlott- compatible : should be "brcm,bcm2835-armctrl-ic.txt"
11*89214f00SSimon Arlott- reg : Specifies base physical address and size of the registers.
12*89214f00SSimon Arlott- interrupt-controller : Identifies the node as an interrupt controller
13*89214f00SSimon Arlott- #interrupt-cells : Specifies the number of cells needed to encode an
14*89214f00SSimon Arlott  interrupt source. The value shall be 2.
15*89214f00SSimon Arlott
16*89214f00SSimon Arlott  The 1st cell is the interrupt bank; 0 for interrupts in the "IRQ basic
17*89214f00SSimon Arlott  pending" register, or 1/2 respectively for interrupts in the "IRQ pending
18*89214f00SSimon Arlott  1/2" register.
19*89214f00SSimon Arlott
20*89214f00SSimon Arlott  The 2nd cell contains the interrupt number within the bank. Valid values
21*89214f00SSimon Arlott  are 0..7 for bank 0, and 0..31 for bank 1.
22*89214f00SSimon Arlott
23*89214f00SSimon ArlottThe interrupt sources are as follows:
24*89214f00SSimon Arlott
25*89214f00SSimon ArlottBank 0:
26*89214f00SSimon Arlott0: ARM_TIMER
27*89214f00SSimon Arlott1: ARM_MAILBOX
28*89214f00SSimon Arlott2: ARM_DOORBELL_0
29*89214f00SSimon Arlott3: ARM_DOORBELL_1
30*89214f00SSimon Arlott4: VPU0_HALTED
31*89214f00SSimon Arlott5: VPU1_HALTED
32*89214f00SSimon Arlott6: ILLEGAL_TYPE0
33*89214f00SSimon Arlott7: ILLEGAL_TYPE1
34*89214f00SSimon Arlott
35*89214f00SSimon ArlottBank 1:
36*89214f00SSimon Arlott0: TIMER0
37*89214f00SSimon Arlott1: TIMER1
38*89214f00SSimon Arlott2: TIMER2
39*89214f00SSimon Arlott3: TIMER3
40*89214f00SSimon Arlott4: CODEC0
41*89214f00SSimon Arlott5: CODEC1
42*89214f00SSimon Arlott6: CODEC2
43*89214f00SSimon Arlott7: VC_JPEG
44*89214f00SSimon Arlott8: ISP
45*89214f00SSimon Arlott9: VC_USB
46*89214f00SSimon Arlott10: VC_3D
47*89214f00SSimon Arlott11: TRANSPOSER
48*89214f00SSimon Arlott12: MULTICORESYNC0
49*89214f00SSimon Arlott13: MULTICORESYNC1
50*89214f00SSimon Arlott14: MULTICORESYNC2
51*89214f00SSimon Arlott15: MULTICORESYNC3
52*89214f00SSimon Arlott16: DMA0
53*89214f00SSimon Arlott17: DMA1
54*89214f00SSimon Arlott18: VC_DMA2
55*89214f00SSimon Arlott19: VC_DMA3
56*89214f00SSimon Arlott20: DMA4
57*89214f00SSimon Arlott21: DMA5
58*89214f00SSimon Arlott22: DMA6
59*89214f00SSimon Arlott23: DMA7
60*89214f00SSimon Arlott24: DMA8
61*89214f00SSimon Arlott25: DMA9
62*89214f00SSimon Arlott26: DMA10
63*89214f00SSimon Arlott27: DMA11
64*89214f00SSimon Arlott28: DMA12
65*89214f00SSimon Arlott29: AUX
66*89214f00SSimon Arlott30: ARM
67*89214f00SSimon Arlott31: VPUDMA
68*89214f00SSimon Arlott
69*89214f00SSimon ArlottBank 2:
70*89214f00SSimon Arlott0: HOSTPORT
71*89214f00SSimon Arlott1: VIDEOSCALER
72*89214f00SSimon Arlott2: CCP2TX
73*89214f00SSimon Arlott3: SDC
74*89214f00SSimon Arlott4: DSI0
75*89214f00SSimon Arlott5: AVE
76*89214f00SSimon Arlott6: CAM0
77*89214f00SSimon Arlott7: CAM1
78*89214f00SSimon Arlott8: HDMI0
79*89214f00SSimon Arlott9: HDMI1
80*89214f00SSimon Arlott10: PIXELVALVE1
81*89214f00SSimon Arlott11: I2CSPISLV
82*89214f00SSimon Arlott12: DSI1
83*89214f00SSimon Arlott13: PWA0
84*89214f00SSimon Arlott14: PWA1
85*89214f00SSimon Arlott15: CPR
86*89214f00SSimon Arlott16: SMI
87*89214f00SSimon Arlott17: GPIO0
88*89214f00SSimon Arlott18: GPIO1
89*89214f00SSimon Arlott19: GPIO2
90*89214f00SSimon Arlott20: GPIO3
91*89214f00SSimon Arlott21: VC_I2C
92*89214f00SSimon Arlott22: VC_SPI
93*89214f00SSimon Arlott23: VC_I2SPCM
94*89214f00SSimon Arlott24: VC_SDIO
95*89214f00SSimon Arlott25: VC_UART
96*89214f00SSimon Arlott26: SLIMBUS
97*89214f00SSimon Arlott27: VEC
98*89214f00SSimon Arlott28: CPG
99*89214f00SSimon Arlott29: RNG
100*89214f00SSimon Arlott30: VC_ARASANSDIO
101*89214f00SSimon Arlott31: AVSPMON
102*89214f00SSimon Arlott
103*89214f00SSimon ArlottExample:
104*89214f00SSimon Arlott
105*89214f00SSimon Arlottintc: interrupt-controller {
106*89214f00SSimon Arlott	compatible = "brcm,bcm2835-armctrl-ic";
107*89214f00SSimon Arlott	reg = <0x7e00b200 0x200>;
108*89214f00SSimon Arlott	interrupt-controller;
109*89214f00SSimon Arlott	#interrupt-cells = <2>;
110*89214f00SSimon Arlott};
111