brcm,bcm2835-armctrl-ic.txt 1.9 KB

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