agilex5_pinmux.h 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. /*
  2. * Copyright (c) 2019-2023, Intel Corporation. All rights reserved.
  3. * Copyright (c) 2024, Altera Corporation. All rights reserved.
  4. *
  5. * SPDX-License-Identifier: BSD-3-Clause
  6. */
  7. #ifndef AGX5_PINMUX_H
  8. #define AGX5_PINMUX_H
  9. #include "socfpga_handoff.h"
  10. /* PINMUX REGISTER ADDRESS */
  11. #define AGX5_PINMUX_PIN0SEL 0x10D13000
  12. #define AGX5_PINMUX_IO0CTRL 0x10D13130
  13. #define AGX5_PINMUX_EMAC0_USEFPGA 0x10D13300
  14. #define AGX5_PINMUX_IO0_DELAY 0x10D13400
  15. /* Macros */
  16. #define SOCFPGA_PINMUX_SEL_NAND (0x03)
  17. #define SOCFPGA_PINMUX_PIN0SEL (0x00)
  18. #define SOCFPGA_PINMUX_PIN1SEL (0x04)
  19. #define SOCFPGA_PINMUX_PIN2SEL (0x08)
  20. #define SOCFPGA_PINMUX_PIN3SEL (0x0C)
  21. #define SOCFPGA_PINMUX_PIN4SEL (0x10)
  22. #define SOCFPGA_PINMUX_PIN5SEL (0x14)
  23. #define SOCFPGA_PINMUX_PIN6SEL (0x18)
  24. #define SOCFPGA_PINMUX_PIN7SEL (0x1C)
  25. #define SOCFPGA_PINMUX_PIN8SEL (0x20)
  26. #define SOCFPGA_PINMUX_PIN9SEL (0x24)
  27. #define SOCFPGA_PINMUX_PIN10SEL (0x28)
  28. #define SOCFPGA_PINMUX_PIN11SEL (0x2C)
  29. #define SOCFPGA_PINMUX_PIN12SEL (0x30)
  30. #define SOCFPGA_PINMUX_PIN13SEL (0x34)
  31. #define SOCFPGA_PINMUX_PIN14SEL (0x38)
  32. #define SOCFPGA_PINMUX_PIN15SEL (0x3C)
  33. #define SOCFPGA_PINMUX_PIN16SEL (0x40)
  34. #define SOCFPGA_PINMUX_PIN17SEL (0x44)
  35. #define SOCFPGA_PINMUX_PIN18SEL (0x48)
  36. #define SOCFPGA_PINMUX_PIN19SEL (0x4C)
  37. #define SOCFPGA_PINMUX_PIN20SEL (0x50)
  38. #define SOCFPGA_PINMUX_PIN21SEL (0x54)
  39. #define SOCFPGA_PINMUX_PIN22SEL (0x58)
  40. #define SOCFPGA_PINMUX_PIN23SEL (0x5C)
  41. #define SOCFPGA_PINMUX_PIN24SEL (0x60)
  42. #define SOCFPGA_PINMUX_PIN25SEL (0x64)
  43. #define SOCFPGA_PINMUX_PIN26SEL (0x68)
  44. #define SOCFPGA_PINMUX_PIN27SEL (0x6C)
  45. #define SOCFPGA_PINMUX_PIN28SEL (0x70)
  46. #define SOCFPGA_PINMUX_PIN29SEL (0x74)
  47. #define SOCFPGA_PINMUX_PIN30SEL (0x78)
  48. #define SOCFPGA_PINMUX_PIN31SEL (0x7C)
  49. #define SOCFPGA_PINMUX_PIN32SEL (0x80)
  50. #define SOCFPGA_PINMUX_PIN33SEL (0x84)
  51. #define SOCFPGA_PINMUX_PIN34SEL (0x88)
  52. #define SOCFPGA_PINMUX_PIN35SEL (0x8C)
  53. #define SOCFPGA_PINMUX_PIN36SEL (0x90)
  54. #define SOCFPGA_PINMUX_PIN37SEL (0x94)
  55. #define SOCFPGA_PINMUX_PIN38SEL (0x98)
  56. #define SOCFPGA_PINMUX_PIN39SEL (0x9C)
  57. #define SOCFPGA_PINMUX_PIN40SEL (0x100)
  58. #define SOCFPGA_PINMUX_PIN41SEL (0x104)
  59. #define SOCFPGA_PINMUX_PIN42SEL (0x108)
  60. #define SOCFPGA_PINMUX_PIN43SEL (0x10C)
  61. #define SOCFPGA_PINMUX_PIN44SEL (0x110)
  62. #define SOCFPGA_PINMUX_PIN45SEL (0x114)
  63. #define SOCFPGA_PINMUX_PIN46SEL (0x118)
  64. #define SOCFPGA_PINMUX_PIN47SEL (0x11C)
  65. #define SOCFPGA_PINMUX_IO0CTRL (0x00)
  66. #define SOCFPGA_PINMUX_IO1CTRL (0x04)
  67. #define SOCFPGA_PINMUX_IO2CTRL (0x08)
  68. #define SOCFPGA_PINMUX_IO3CTRL (0x0C)
  69. #define SOCFPGA_PINMUX_IO4CTRL (0x10)
  70. #define SOCFPGA_PINMUX_IO5CTRL (0x14)
  71. #define SOCFPGA_PINMUX_IO6CTRL (0x18)
  72. #define SOCFPGA_PINMUX_IO7CTRL (0x1C)
  73. #define SOCFPGA_PINMUX_IO8CTRL (0x20)
  74. #define SOCFPGA_PINMUX_IO9CTRL (0x24)
  75. #define SOCFPGA_PINMUX_IO10CTRL (0x28)
  76. #define SOCFPGA_PINMUX_IO11CTRL (0x2C)
  77. #define SOCFPGA_PINMUX_IO12CTRL (0x30)
  78. #define SOCFPGA_PINMUX_IO13CTRL (0x34)
  79. #define SOCFPGA_PINMUX_IO14CTRL (0x38)
  80. #define SOCFPGA_PINMUX_IO15CTRL (0x3C)
  81. #define SOCFPGA_PINMUX_IO16CTRL (0x40)
  82. #define SOCFPGA_PINMUX_IO17CTRL (0x44)
  83. #define SOCFPGA_PINMUX_IO18CTRL (0x48)
  84. #define SOCFPGA_PINMUX_IO19CTRL (0x4C)
  85. #define SOCFPGA_PINMUX_IO20CTRL (0x50)
  86. #define SOCFPGA_PINMUX_IO21CTRL (0x54)
  87. #define SOCFPGA_PINMUX_IO22CTRL (0x58)
  88. #define SOCFPGA_PINMUX_IO23CTRL (0x5C)
  89. #define SOCFPGA_PINMUX_IO24CTRL (0x60)
  90. #define SOCFPGA_PINMUX_IO25CTRL (0x64)
  91. #define SOCFPGA_PINMUX_IO26CTRL (0x68)
  92. #define SOCFPGA_PINMUX_IO27CTRL (0x6C)
  93. #define SOCFPGA_PINMUX_IO28CTRL (0xD0)
  94. #define SOCFPGA_PINMUX_IO29CTRL (0xD4)
  95. #define SOCFPGA_PINMUX_IO30CTRL (0xD8)
  96. #define SOCFPGA_PINMUX_IO31CTRL (0xDC)
  97. #define SOCFPGA_PINMUX_IO32CTRL (0xE0)
  98. #define SOCFPGA_PINMUX_IO33CTRL (0xE4)
  99. #define SOCFPGA_PINMUX_IO34CTRL (0xE8)
  100. #define SOCFPGA_PINMUX_IO35CTRL (0xEC)
  101. #define SOCFPGA_PINMUX_IO36CTRL (0xF0)
  102. #define SOCFPGA_PINMUX_IO37CTRL (0xF4)
  103. #define SOCFPGA_PINMUX_IO38CTRL (0xF8)
  104. #define SOCFPGA_PINMUX_IO39CTRL (0xFC)
  105. #define SOCFPGA_PINMUX_IO40CTRL (0x100)
  106. #define SOCFPGA_PINMUX_IO41CTRL (0x104)
  107. #define SOCFPGA_PINMUX_IO42CTRL (0x108)
  108. #define SOCFPGA_PINMUX_IO43CTRL (0x10C)
  109. #define SOCFPGA_PINMUX_IO44CTRL (0x110)
  110. #define SOCFPGA_PINMUX_IO45CTRL (0x114)
  111. #define SOCFPGA_PINMUX_IO46CTRL (0x118)
  112. #define SOCFPGA_PINMUX_IO47CTRL (0x11C)
  113. #define SOCFPGA_PINMUX_EMAC0_USEFPGA (0x00)
  114. #define SOCFPGA_PINMUX_EMAC1_USEFPGA (0x04)
  115. #define SOCFPGA_PINMUX_EMAC2_USEFPGA (0x08)
  116. #define SOCFPGA_PINMUX_I2C0_USEFPGA (0x0C)
  117. #define SOCFPGA_PINMUX_I2C1_USEFPGA (0x10)
  118. #define SOCFPGA_PINMUX_I2C_EMAC0_USEFPGA (0x14)
  119. #define SOCFPGA_PINMUX_I2C_EMAC1_USEFPGA (0x18)
  120. #define SOCFPGA_PINMUX_I2C_EMAC2_USEFPGA (0x1C)
  121. #define SOCFPGA_PINMUX_NAND_USEFPGA (0x20)
  122. #define SOCFPGA_PINMUX_SPIM0_USEFPGA (0x28)
  123. #define SOCFPGA_PINMUX_SPIM1_USEFPGA (0x2C)
  124. #define SOCFPGA_PINMUX_SPIS0_USEFPGA (0x30)
  125. #define SOCFPGA_PINMUX_SPIS1_USEFPGA (0x34)
  126. #define SOCFPGA_PINMUX_UART0_USEFPGA (0x38)
  127. #define SOCFPGA_PINMUX_UART1_USEFPGA (0x3C)
  128. #define SOCFPGA_PINMUX_MDIO0_USEFPGA (0x40)
  129. #define SOCFPGA_PINMUX_MDIO1_USEFPGA (0x44)
  130. #define SOCFPGA_PINMUX_MDIO2_USEFPGA (0x48)
  131. #define SOCFPGA_PINMUX_JTAG_USEFPGA (0x50)
  132. #define SOCFPGA_PINMUX_SDMMC_USEFPGA (0x54)
  133. #define SOCFPGA_PINUMX_USEFPGA(_reg) (AGX5_PINMUX_EMAC0_USEFPGA \
  134. + SOCFPGA_PINMUX_##_reg)
  135. #define SOCFPGA_PINMUX_IO0DELAY (0x00)
  136. #define SOCFPGA_PINMUX_IO1DELAY (0x04)
  137. #define SOCFPGA_PINMUX_IO2DELAY (0x08)
  138. #define SOCFPGA_PINMUX_IO3DELAY (0x0C)
  139. #define SOCFPGA_PINMUX_IO4DELAY (0x10)
  140. #define SOCFPGA_PINMUX_IO5DELAY (0x14)
  141. #define SOCFPGA_PINMUX_IO6DELAY (0x18)
  142. #define SOCFPGA_PINMUX_IO7DELAY (0x1C)
  143. #define SOCFPGA_PINMUX_IO8DELAY (0x20)
  144. #define SOCFPGA_PINMUX_IO9DELAY (0x24)
  145. #define SOCFPGA_PINMUX_IO10DELAY (0x28)
  146. #define SOCFPGA_PINMUX_IO11DELAY (0x2C)
  147. #define SOCFPGA_PINMUX_IO12DELAY (0x30)
  148. #define SOCFPGA_PINMUX_IO13DELAY (0x34)
  149. #define SOCFPGA_PINMUX_IO14DELAY (0x38)
  150. #define SOCFPGA_PINMUX_IO15DELAY (0x3C)
  151. #define SOCFPGA_PINMUX_IO16DELAY (0x40)
  152. #define SOCFPGA_PINMUX_IO17DELAY (0x44)
  153. #define SOCFPGA_PINMUX_IO18DELAY (0x48)
  154. #define SOCFPGA_PINMUX_IO19DELAY (0x4C)
  155. #define SOCFPGA_PINMUX_IO20DELAY (0x50)
  156. #define SOCFPGA_PINMUX_IO21DELAY (0x54)
  157. #define SOCFPGA_PINMUX_IO22DELAY (0x58)
  158. #define SOCFPGA_PINMUX_IO23DELAY (0x5C)
  159. #define SOCFPGA_PINMUX_IO24DELAY (0x60)
  160. #define SOCFPGA_PINMUX_IO25DELAY (0x64)
  161. #define SOCFPGA_PINMUX_IO26DELAY (0x68)
  162. #define SOCFPGA_PINMUX_IO27DELAY (0x6C)
  163. #define SOCFPGA_PINMUX_IO28DELAY (0x70)
  164. #define SOCFPGA_PINMUX_IO29DELAY (0x74)
  165. #define SOCFPGA_PINMUX_IO30DELAY (0x78)
  166. #define SOCFPGA_PINMUX_IO31DELAY (0x7C)
  167. #define SOCFPGA_PINMUX_IO32DELAY (0x80)
  168. #define SOCFPGA_PINMUX_IO33DELAY (0x84)
  169. #define SOCFPGA_PINMUX_IO34DELAY (0x88)
  170. #define SOCFPGA_PINMUX_IO35DELAY (0x8C)
  171. #define SOCFPGA_PINMUX_IO36DELAY (0x90)
  172. #define SOCFPGA_PINMUX_IO37DELAY (0x94)
  173. #define SOCFPGA_PINMUX_IO38DELAY (0x98)
  174. #define SOCFPGA_PINMUX_IO39DELAY (0x9C)
  175. #define SOCFPGA_PINMUX_IO40DELAY (0xA0)
  176. #define SOCFPGA_PINMUX_IO41DELAY (0xA4)
  177. #define SOCFPGA_PINMUX_IO42DELAY (0xA8)
  178. #define SOCFPGA_PINMUX_IO43DELAY (0xAC)
  179. #define SOCFPGA_PINMUX_IO44DELAY (0xB0)
  180. #define SOCFPGA_PINMUX_IO45DELAY (0xB4)
  181. #define SOCFPGA_PINMUX_IO46DELAY (0xB8)
  182. #define SOCFPGA_PINMUX_IO47DELAY (0xBC)
  183. #define SOCFPGA_PINMUX_I3C0_USEFPGA (0xC0)
  184. #define SOCFPGA_PINMUX_I3C1_USEFPGA (0xC4)
  185. #define SOCFPGA_PINMUX(_reg) (SOCFPGA_PINMUX_REG_BASE \
  186. + (SOCFPGA_PINMUX_##_reg))
  187. void config_pinmux(handoff *handoff);
  188. #endif