aspeed-intc.rst 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. ===========================
  2. ASPEED Interrupt Controller
  3. ===========================
  4. AST2700
  5. -------
  6. There are a total of 480 interrupt sources in AST2700. Due to the limitation of
  7. interrupt numbers of processors, the interrupts are merged every 32 sources for
  8. interrupt numbers greater than 127.
  9. There are two levels of interrupt controllers, INTC (CPU Die) and INTCIO
  10. (I/O Die).
  11. Interrupt Mapping
  12. -----------------
  13. - INTC: Handles interrupt sources 0 - 127 and integrates signals from INTCIO.
  14. - INTCIO: Handles interrupt sources 128 - 319 independently.
  15. QEMU Support
  16. ------------
  17. Currently, only GIC 192 to 201 are supported, and their source interrupts are
  18. from INTCIO and connected to INTC at input pin 0 and output pins 0 to 9 for
  19. GIC 192-201.
  20. Design for GICINT 196
  21. ---------------------
  22. The orgate has interrupt sources ranging from 0 to 31, with its output pin
  23. connected to INTCIO "T0 GICINT_196". The output pin is then connected to INTC
  24. "GIC_192_201" at bit 4, and its bit 4 output pin is connected to GIC 196.
  25. INTC GIC_192_201 Output Pin Mapping
  26. -----------------------------------
  27. The design of INTC GIC_192_201 have 10 output pins, mapped as following:
  28. ==== ====
  29. Bit GIC
  30. ==== ====
  31. 0 192
  32. 1 193
  33. 2 194
  34. 3 195
  35. 4 196
  36. 5 197
  37. 6 198
  38. 7 199
  39. 8 200
  40. 9 201
  41. ==== ====
  42. AST2700 A0
  43. ----------
  44. It has only one INTC controller, and currently, only GIC 128-136 is supported.
  45. To support both AST2700 A1 and AST2700 A0, there are 10 OR gates in the INTC,
  46. with gates 1 to 9 supporting GIC 128-136.
  47. Design for GICINT 132
  48. ---------------------
  49. The orgate has interrupt sources ranging from 0 to 31, with its output pin
  50. connected to INTC. The output pin is then connected to GIC 132.
  51. Block Diagram of GICINT 196 for AST2700 A1 and GICINT 132 for AST2700 A0
  52. ------------------------------------------------------------------------
  53. .. code-block::
  54. |-------------------------------------------------------------------------------------------------------|
  55. | AST2700 A1 Design |
  56. | To GICINT196 |
  57. | |
  58. | ETH1 |-----------| |--------------------------| |--------------| |
  59. | -------->|0 | | INTCIO | | orgates[0] | |
  60. | ETH2 | 4| orgates[0]------>|inpin[0]-------->outpin[0]|------->| 0 | |
  61. | -------->|1 5| orgates[1]------>|inpin[1]-------->outpin[1]|------->| 1 | |
  62. | ETH3 | 6| orgates[2]------>|inpin[2]-------->outpin[2]|------->| 2 | |
  63. | -------->|2 19| orgates[3]------>|inpin[3]-------->outpin[3]|------->| 3 OR[0:9] |-----| |
  64. | UART0 | 20|-->orgates[4]------>|inpin[4]-------->outpin[4]|------->| 4 | | |
  65. | -------->|7 21| orgates[5]------>|inpin[5]-------->outpin[5]|------->| 5 | | |
  66. | UART1 | 22| orgates[6]------>|inpin[6]-------->outpin[6]|------->| 6 | | |
  67. | -------->|8 23| orgates[7]------>|inpin[7]-------->outpin[7]|------->| 7 | | |
  68. | UART2 | 24| orgates[8]------>|inpin[8]-------->outpin[8]|------->| 8 | | |
  69. | -------->|9 25| orgates[9]------>|inpin[9]-------->outpin[9]|------->| 9 | | |
  70. | UART3 | 26| |--------------------------| |--------------| | |
  71. | ---------|10 27| | |
  72. | UART5 | 28| | |
  73. | -------->|11 29| | |
  74. | UART6 | | | |
  75. | -------->|12 30| |-----------------------------------------------------------------------| |
  76. | UART7 | 31| | |
  77. | -------->|13 | | |
  78. | UART8 | OR[0:31] | | |------------------------------| |----------| |
  79. | -------->|14 | | | INTC | | GIC | |
  80. | UART9 | | | |inpin[0:0]--------->outpin[0] |---------->|192 | |
  81. | -------->|15 | | |inpin[0:1]--------->outpin[1] |---------->|193 | |
  82. | UART10 | | | |inpin[0:2]--------->outpin[2] |---------->|194 | |
  83. | -------->|16 | | |inpin[0:3]--------->outpin[3] |---------->|195 | |
  84. | UART11 | | |--------------> |inpin[0:4]--------->outpin[4] |---------->|196 | |
  85. | -------->|17 | |inpin[0:5]--------->outpin[5] |---------->|197 | |
  86. | UART12 | | |inpin[0:6]--------->outpin[6] |---------->|198 | |
  87. | -------->|18 | |inpin[0:7]--------->outpin[7] |---------->|199 | |
  88. | |-----------| |inpin[0:8]--------->outpin[8] |---------->|200 | |
  89. | |inpin[0:9]--------->outpin[9] |---------->|201 | |
  90. |-------------------------------------------------------------------------------------------------------|
  91. |-------------------------------------------------------------------------------------------------------|
  92. | ETH1 |-----------| orgates[1]------->|inpin[1]----------->outpin[10]|---------->|128 | |
  93. | -------->|0 | orgates[2]------->|inpin[2]----------->outpin[11]|---------->|129 | |
  94. | ETH2 | 4| orgates[3]------->|inpin[3]----------->outpin[12]|---------->|130 | |
  95. | -------->|1 5| orgates[4]------->|inpin[4]----------->outpin[13]|---------->|131 | |
  96. | ETH3 | 6|---->orgates[5]------->|inpin[5]----------->outpin[14]|---------->|132 | |
  97. | -------->|2 19| orgates[6]------->|inpin[6]----------->outpin[15]|---------->|133 | |
  98. | UART0 | 20| orgates[7]------->|inpin[7]----------->outpin[16]|---------->|134 | |
  99. | -------->|7 21| orgates[8]------->|inpin[8]----------->outpin[17]|---------->|135 | |
  100. | UART1 | 22| orgates[9]------->|inpin[9]----------->outpin[18]|---------->|136 | |
  101. | -------->|8 23| |------------------------------| |----------| |
  102. | UART2 | 24| |
  103. | -------->|9 25| AST2700 A0 Design |
  104. | UART3 | 26| |
  105. | -------->|10 27| |
  106. | UART5 | 28| |
  107. | -------->|11 29| GICINT132 |
  108. | UART6 | | |
  109. | -------->|12 30| |
  110. | UART7 | 31| |
  111. | -------->|13 | |
  112. | UART8 | OR[0:31] | |
  113. | -------->|14 | |
  114. | UART9 | | |
  115. | -------->|15 | |
  116. | UART10 | | |
  117. | -------->|16 | |
  118. | UART11 | | |
  119. | -------->|17 | |
  120. | UART12 | | |
  121. | -------->|18 | |
  122. | |-----------| |
  123. | |
  124. |-------------------------------------------------------------------------------------------------------|