~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 BCM2835 Top-Level ("ARMCTRL") Interrupt Controller
  2 
  3 The BCM2835 contains a custom top-level interrupt controller, which supports
  4 72 interrupt sources using a 2-level register scheme. The interrupt
  5 controller, or the HW block containing it, is referred to occasionally
  6 as "armctrl" in the SoC documentation, hence naming of this binding.
  7 
  8 The BCM2836 contains the same interrupt controller with the same
  9 interrupts, but the per-CPU interrupt controller is the root, and an
 10 interrupt there indicates that the ARMCTRL has an interrupt to handle.
 11 
 12 Required properties:
 13 
 14 - compatible : should be "brcm,bcm2835-armctrl-ic" or
 15                  "brcm,bcm2836-armctrl-ic"
 16 - reg : Specifies base physical address and size of the registers.
 17 - interrupt-controller : Identifies the node as an interrupt controller
 18 - #interrupt-cells : Specifies the number of cells needed to encode an
 19   interrupt source. The value shall be 2.
 20 
 21   The 1st cell is the interrupt bank; 0 for interrupts in the "IRQ basic
 22   pending" register, or 1/2 respectively for interrupts in the "IRQ pending
 23   1/2" register.
 24 
 25   The 2nd cell contains the interrupt number within the bank. Valid values
 26   are 0..7 for bank 0, and 0..31 for bank 1.
 27 
 28 Additional required properties for brcm,bcm2836-armctrl-ic:
 29 - interrupts : Specifies the interrupt on the parent for this interrupt
 30   controller to handle.
 31 
 32 The interrupt sources are as follows:
 33 
 34 Bank 0:
 35 0: ARM_TIMER
 36 1: ARM_MAILBOX
 37 2: ARM_DOORBELL_0
 38 3: ARM_DOORBELL_1
 39 4: VPU0_HALTED
 40 5: VPU1_HALTED
 41 6: ILLEGAL_TYPE0
 42 7: ILLEGAL_TYPE1
 43 
 44 Bank 1:
 45 0: TIMER0
 46 1: TIMER1
 47 2: TIMER2
 48 3: TIMER3
 49 4: CODEC0
 50 5: CODEC1
 51 6: CODEC2
 52 7: VC_JPEG
 53 8: ISP
 54 9: VC_USB
 55 10: VC_3D
 56 11: TRANSPOSER
 57 12: MULTICORESYNC0
 58 13: MULTICORESYNC1
 59 14: MULTICORESYNC2
 60 15: MULTICORESYNC3
 61 16: DMA0
 62 17: DMA1
 63 18: VC_DMA2
 64 19: VC_DMA3
 65 20: DMA4
 66 21: DMA5
 67 22: DMA6
 68 23: DMA7
 69 24: DMA8
 70 25: DMA9
 71 26: DMA10
 72 27: DMA11-14 - shared interrupt for DMA 11 to 14
 73 28: DMAALL - triggers on all dma interrupts (including channel 15)
 74 29: AUX
 75 30: ARM
 76 31: VPUDMA
 77 
 78 Bank 2:
 79 0: HOSTPORT
 80 1: VIDEOSCALER
 81 2: CCP2TX
 82 3: SDC
 83 4: DSI0
 84 5: AVE
 85 6: CAM0
 86 7: CAM1
 87 8: HDMI0
 88 9: HDMI1
 89 10: PIXELVALVE1
 90 11: I2CSPISLV
 91 12: DSI1
 92 13: PWA0
 93 14: PWA1
 94 15: CPR
 95 16: SMI
 96 17: GPIO0
 97 18: GPIO1
 98 19: GPIO2
 99 20: GPIO3
100 21: VC_I2C
101 22: VC_SPI
102 23: VC_I2SPCM
103 24: VC_SDIO
104 25: VC_UART
105 26: SLIMBUS
106 27: VEC
107 28: CPG
108 29: RNG
109 30: VC_ARASANSDIO
110 31: AVSPMON
111 
112 Example:
113 
114 /* BCM2835, first level */
115 intc: 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 */
123 intc: 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 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php