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