brintos

brintos / linux-shallow public Read only

0
0
Text · 2.7 KiB · bdd1730 Raw
132 lines · plain
1BCM2835 Top-Level ("ARMCTRL") Interrupt Controller2 3The BCM2835 contains a custom top-level interrupt controller, which supports472 interrupt sources using a 2-level register scheme. The interrupt5controller, or the HW block containing it, is referred to occasionally6as "armctrl" in the SoC documentation, hence naming of this binding.7 8The BCM2836 contains the same interrupt controller with the same9interrupts, but the per-CPU interrupt controller is the root, and an10interrupt there indicates that the ARMCTRL has an interrupt to handle.11 12Required properties:13 14- compatible : should be "brcm,bcm2835-armctrl-ic" or15                 "brcm,bcm2836-armctrl-ic"16- reg : Specifies base physical address and size of the registers.17- interrupt-controller : Identifies the node as an interrupt controller18- #interrupt-cells : Specifies the number of cells needed to encode an19  interrupt source. The value shall be 2.20 21  The 1st cell is the interrupt bank; 0 for interrupts in the "IRQ basic22  pending" register, or 1/2 respectively for interrupts in the "IRQ pending23  1/2" register.24 25  The 2nd cell contains the interrupt number within the bank. Valid values26  are 0..7 for bank 0, and 0..31 for bank 1.27 28Additional required properties for brcm,bcm2836-armctrl-ic:29- interrupts : Specifies the interrupt on the parent for this interrupt30  controller to handle.31 32The interrupt sources are as follows:33 34Bank 0:350: ARM_TIMER361: ARM_MAILBOX372: ARM_DOORBELL_0383: ARM_DOORBELL_1394: VPU0_HALTED405: VPU1_HALTED416: ILLEGAL_TYPE0427: ILLEGAL_TYPE143 44Bank 1:450: TIMER0461: TIMER1472: TIMER2483: TIMER3494: CODEC0505: CODEC1516: CODEC2527: VC_JPEG538: ISP549: VC_USB5510: VC_3D5611: TRANSPOSER5712: MULTICORESYNC05813: MULTICORESYNC15914: MULTICORESYNC26015: MULTICORESYNC36116: DMA06217: DMA16318: VC_DMA26419: VC_DMA36520: DMA46621: DMA56722: DMA66823: DMA76924: DMA87025: DMA97126: DMA107227: DMA11-14 - shared interrupt for DMA 11 to 147328: DMAALL - triggers on all dma interrupts (including channel 15)7429: AUX7530: ARM7631: VPUDMA77 78Bank 2:790: HOSTPORT801: VIDEOSCALER812: CCP2TX823: SDC834: DSI0845: AVE856: CAM0867: CAM1878: HDMI0889: HDMI18910: PIXELVALVE19011: I2CSPISLV9112: DSI19213: PWA09314: PWA19415: CPR9516: SMI9617: GPIO09718: GPIO19819: GPIO29920: GPIO310021: VC_I2C10122: VC_SPI10223: VC_I2SPCM10324: VC_SDIO10425: VC_UART10526: SLIMBUS10627: VEC10728: CPG10829: RNG10930: VC_ARASANSDIO11031: AVSPMON111 112Example:113 114/* BCM2835, first level */115intc: interrupt-controller {116	compatible = "brcm,bcm2835-armctrl-ic";117	reg = <0x7e00b200 0x200>;118	interrupt-controller;119	#interrupt-cells = <2>;120};121 122/* BCM2836, second level */123intc: interrupt-controller {124	compatible = "brcm,bcm2836-armctrl-ic";125	reg = <0x7e00b200 0x200>;126	interrupt-controller;127	#interrupt-cells = <2>;128 129	interrupt-parent = <&local_intc>;130	interrupts = <8>;131};132