imx_io_mux.h 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652
  1. /*
  2. * Copyright 2018-2019, ARM Limited and Contributors. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #ifndef IMX_IO_MUX_H
  7. #define IMX_IO_MUX_H
  8. #include <stdint.h>
  9. #include <lib/utils_def.h>
  10. /*
  11. * i.MX 7Solo Applications Processor Reference Manual, Rev. 0.1, 08/2016
  12. * Section 8.2.7 IOMUXC Memory Map/Register Definition
  13. */
  14. #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO08_OFFSET 0x0014
  15. #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO09_OFFSET 0x0018
  16. #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO10_OFFSET 0x001C
  17. #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO11_OFFSET 0x0020
  18. #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO12_OFFSET 0x0024
  19. #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO13_OFFSET 0x0028
  20. #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO14_OFFSET 0x002C
  21. #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO14_ALT1_SD3_CD_B BIT(0)
  22. #define IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO15_OFFSET 0x0030
  23. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA00_OFFSET 0x0034
  24. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA01_OFFSET 0x0038
  25. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA02_OFFSET 0x003C
  26. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA03_OFFSET 0x0040
  27. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA04_OFFSET 0x0044
  28. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA05_OFFSET 0x0048
  29. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA06_OFFSET 0x004C
  30. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA07_OFFSET 0x0050
  31. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA08_OFFSET 0x0054
  32. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA09_OFFSET 0x0058
  33. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA10_OFFSET 0x005C
  34. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA11_OFFSET 0x0060
  35. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA12_OFFSET 0x0064
  36. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA13_OFFSET 0x0068
  37. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA14_OFFSET 0x006C
  38. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_DATA15_OFFSET 0x0070
  39. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCLK_OFFSET 0x0074
  40. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDLE_OFFSET 0x0078
  41. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDOE_OFFSET 0x007C
  42. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDSHR_OFFSET 0x0080
  43. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCE0_OFFSET 0x0084
  44. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCE1_OFFSET 0x0088
  45. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCE2_OFFSET 0x008C
  46. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCE3_OFFSET 0x0090
  47. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_GDCLK_OFFSET 0x0094
  48. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_GDOE_OFFSET 0x0098
  49. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_GDRL_OFFSET 0x009C
  50. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_GDSP_OFFSET 0x00A0
  51. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_BDR0_OFFSET 0x00A4
  52. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_BDR1_OFFSET 0x00A8
  53. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_PWR_COM_OFFSET 0x00AC
  54. #define IOMUXC_SW_MUX_CTL_PAD_EPDC_PWR_STAT_OFFSET 0x00B0
  55. #define IOMUXC_SW_MUX_CTL_PAD_LCD_CLK_OFFSET 0x00B4
  56. #define IOMUXC_SW_MUX_CTL_PAD_LCD_ENABLE_OFFSET 0x00B8
  57. #define IOMUXC_SW_MUX_CTL_PAD_LCD_HSYNC_OFFSET 0x00BC
  58. #define IOMUXC_SW_MUX_CTL_PAD_LCD_VSYNC_OFFSET 0x00C0
  59. #define IOMUXC_SW_MUX_CTL_PAD_LCD_RESET_OFFSET 0x00C4
  60. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA00_OFFSET 0x00C8
  61. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA01_OFFSET 0x00CC
  62. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA02_OFFSET 0x00D0
  63. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA03_OFFSET 0x00D4
  64. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA04_OFFSET 0x00D8
  65. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA05_OFFSET 0x00DC
  66. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA06_OFFSET 0x00E0
  67. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA07_OFFSET 0x00E4
  68. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA08_OFFSET 0x00E8
  69. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA09_OFFSET 0x00EC
  70. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA10_OFFSET 0x00F0
  71. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA11_OFFSET 0x00F4
  72. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA12_OFFSET 0x00F8
  73. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA13_OFFSET 0x00FC
  74. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA14_OFFSET 0x0100
  75. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA15_OFFSET 0x0104
  76. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA16_OFFSET 0x0108
  77. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA17_OFFSET 0x010C
  78. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA18_OFFSET 0x0110
  79. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA19_OFFSET 0x0114
  80. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA20_OFFSET 0x0118
  81. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA21_OFFSET 0x011C
  82. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA22_OFFSET 0x0120
  83. #define IOMUXC_SW_MUX_CTL_PAD_LCD_DATA23_OFFSET 0x0124
  84. #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_OFFSET 0x0128
  85. #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT0_UART1_RX_DATA 0x00
  86. #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT1_I2C1_SCL BIT(0)
  87. #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT2_PMIC_READY BIT(1)
  88. #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT3_ECSPI1_SS1 (BIT(1) | BIT(0))
  89. #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT4_ENET2_1588_EVENT0_IN BIT(3)
  90. #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT5_GPIO4_IO0 (BIT(2) | BIT(0))
  91. #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_ALT6_ENET1_MDIO (BIT(2) | BIT(1))
  92. #define IOMUXC_SW_MUX_CTL_PAD_UART1_RX_DATA_SION BIT(3)
  93. #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_OFFSET 0x012C
  94. #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT0_UART1_TX_DATA 0x00
  95. #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT1_I2C1_SDA BIT(0)
  96. #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT2_SAI3_MCLK BIT(1)
  97. #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT3_ECSPI1_SS2 (BIT(1) | BIT(0))
  98. #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT4_ENET2_1588_EVENT0_OUT BIT(3)
  99. #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT5_GPIO4_IO1 (BIT(2) | BIT(0))
  100. #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_ALT6_ENET1_MDC (BIT(2) | BIT(1))
  101. #define IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA_SION BIT(3)
  102. #define IOMUXC_SW_MUX_CTL_PAD_UART2_RX_DATA_OFFSET 0x0130
  103. #define IOMUXC_SW_MUX_CTL_PAD_UART2_TX_DATA_OFFSET 0x0134
  104. #define IOMUXC_SW_MUX_CTL_PAD_UART3_RX_DATA_OFFSET 0x0138
  105. #define IOMUXC_SW_MUX_CTL_PAD_UART3_TX_DATA_OFFSET 0x013C
  106. #define IOMUXC_SW_MUX_CTL_PAD_UART3_RTS_B_OFFSET 0x0140
  107. #define IOMUXC_SW_MUX_CTL_PAD_UART3_CTS_B_OFFSET 0x0144
  108. #define IOMUXC_SW_MUX_CTL_PAD_I2C1_SCL_OFFSET 0x0148
  109. #define IOMUXC_SW_MUX_CTL_PAD_I2C1_SDA_OFFSET 0x014C
  110. #define IOMUXC_SW_MUX_CTL_PAD_I2C2_SCL_OFFSET 0x0150
  111. #define IOMUXC_SW_MUX_CTL_PAD_I2C2_SDA_OFFSET 0x0154
  112. #define IOMUXC_SW_MUX_CTL_PAD_I2C3_SCL_OFFSET 0x0158
  113. #define IOMUXC_SW_MUX_CTL_PAD_I2C3_SDA_OFFSET 0x015C
  114. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_OFFSET 0x0160
  115. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT0_I2C4_SCL 0x0
  116. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT1_UART5_RX_DATA BIT(0)
  117. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT2_WDOG4_WDOG_B BIT(1)
  118. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT3_CSI_PIXCLK (BIT(1) | BIT(0))
  119. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT4_USB_OTG1_ID BIT(2)
  120. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT5_GPIO4_IO14 (BIT(2) | BIT(0))
  121. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SCL_ALT6_EPDC_VCOM0 (BIT(2) | BIT(1))
  122. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_OFFSET 0x0164
  123. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT0_I2C4_SDA 0x0
  124. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT1_UART5_TX_DATA BIT(0)
  125. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT2_WDOG4_WDOG_RST_B_DEB BIT(1)
  126. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT3_CSI_MCLK (BIT(1) | BIT(0))
  127. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT4_USB_OTG2_ID BIT(2)
  128. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT5_GPIO4_IO15 (BIT(1) | BIT(0))
  129. #define IOMUXC_SW_MUX_CTL_PAD_I2C4_SDA_ALT6_EPDC_VCOM1 (BIT(2) | BIT(1))
  130. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_OFFSET 0x0168
  131. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT0_ECSPI1_SCLK 0x00
  132. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT1_UART6_RX_DATA BIT(0)
  133. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT2_SD2_DATA4 BIT(1)
  134. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT3_CSI_DATA2 (BIT(1) | BIT(0))
  135. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT5_GPIO4_IO16 (BIT(2) | BIT(0))
  136. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SCLK_ALT6_EPDC_PWR_COM (BIT(2) | (BIT(1))
  137. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_OFFSET 0x016C
  138. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT0_ECSPI1_MOSI 0x00
  139. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT1_UART6_TX_DATA BIT(0)
  140. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT2_SD2_DATA5 BIT(1)
  141. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT3_CSI_DATA3 (BIT(1) | BIT(0))
  142. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT5_GPIO4_IO17 (BIT(2) | BIT(0))
  143. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MOSI_ALT6_EPDC_PWR_STAT (BIT(2) | (BIT(1))
  144. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_MISO_OFFSET 0x0170
  145. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI1_SS0_OFFSET 0x0174
  146. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI2_SCLK_OFFSET 0x0178
  147. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI2_MOSI_OFFSET 0x017C
  148. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI2_MISO_OFFSET 0x0180
  149. #define IOMUXC_SW_MUX_CTL_PAD_ECSPI2_SS0_OFFSET 0x0184
  150. #define IOMUXC_SW_MUX_CTL_PAD_SD1_CD_B_OFFSET 0x0188
  151. #define IOMUXC_SW_MUX_CTL_PAD_SD1_WP_OFFSET 0x018C
  152. #define IOMUXC_SW_MUX_CTL_PAD_SD1_RESET_B_OFFSET 0x0190
  153. #define IOMUXC_SW_MUX_CTL_PAD_SD1_CLK_OFFSET 0x0194
  154. #define IOMUXC_SW_MUX_CTL_PAD_SD1_CMD_OFFSET 0x0198
  155. #define IOMUXC_SW_MUX_CTL_PAD_SD1_DATA0_OFFSET 0x019C
  156. #define IOMUXC_SW_MUX_CTL_PAD_SD1_DATA1_OFFSET 0x01A0
  157. #define IOMUXC_SW_MUX_CTL_PAD_SD1_DATA2_OFFSET 0x01A4
  158. #define IOMUXC_SW_MUX_CTL_PAD_SD1_DATA3_OFFSET 0x01A8
  159. #define IOMUXC_SW_MUX_CTL_PAD_SD2_CD_B_OFFSET 0x01AC
  160. #define IOMUXC_SW_MUX_CTL_PAD_SD2_WP_OFFSET 0x01B0
  161. #define IOMUXC_SW_MUX_CTL_PAD_SD2_RESET_B_OFFSET 0x01B4
  162. #define IOMUXC_SW_MUX_CTL_PAD_SD2_CLK_OFFSET 0x01B8
  163. #define IOMUXC_SW_MUX_CTL_PAD_SD2_CMD_OFFSET 0x01BC
  164. #define IOMUXC_SW_MUX_CTL_PAD_SD2_DATA0_OFFSET 0x01C0
  165. #define IOMUXC_SW_MUX_CTL_PAD_SD2_DATA1_OFFSET 0x01C4
  166. #define IOMUXC_SW_MUX_CTL_PAD_SD2_DATA2_OFFSET 0x01C8
  167. #define IOMUXC_SW_MUX_CTL_PAD_SD2_DATA3_OFFSET 0x01CC
  168. #define IOMUXC_SW_MUX_CTL_PAD_SD3_CLK_OFFSET 0x01D0
  169. #define IOMUXC_SW_MUX_CTL_PAD_SD3_CMD_OFFSET 0x01D4
  170. #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA0_OFFSET 0x01D8
  171. #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA1_OFFSET 0x01DC
  172. #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA2_OFFSET 0x01E0
  173. #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA3_OFFSET 0x01E4
  174. #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA4_OFFSET 0x01E8
  175. #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA5_OFFSET 0x01EC
  176. #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA6_OFFSET 0x01F0
  177. #define IOMUXC_SW_MUX_CTL_PAD_SD3_DATA7_OFFSET 0x01F4
  178. #define IOMUXC_SW_MUX_CTL_PAD_SD3_STROBE_OFFSET 0x01F8
  179. #define IOMUXC_SW_MUX_CTL_PAD_SD3_RESET_B_OFFSET 0x01FC
  180. #define IOMUXC_SW_MUX_CTL_PAD_SAI1_RX_DATA_OFFSET 0x0200
  181. #define IOMUXC_SW_MUX_CTL_PAD_SAI1_TX_BCLK_OFFSET 0x0204
  182. #define IOMUXC_SW_MUX_CTL_PAD_SAI1_TX_SYNC_OFFSET 0x0208
  183. #define IOMUXC_SW_MUX_CTL_PAD_SAI1_TX_DATA_OFFSET 0x020C
  184. #define IOMUXC_SW_MUX_CTL_PAD_SAI1_RX_SYNC_OFFSET 0x0210
  185. #define IOMUXC_SW_MUX_CTL_PAD_SAI1_RX_BCLK_OFFSET 0x0214
  186. #define IOMUXC_SW_MUX_CTL_PAD_SAI1_MCLK_OFFSET 0x0218
  187. #define IOMUXC_SW_MUX_CTL_PAD_SAI2_TX_SYNC_OFFSET 0x021C
  188. #define IOMUXC_SW_MUX_CTL_PAD_SAI2_TX_BCLK_OFFSET 0x0220
  189. #define IOMUXC_SW_MUX_CTL_PAD_SAI2_RX_DATA_OFFSET 0x0224
  190. #define IOMUXC_SW_MUX_CTL_PAD_SAI2_TX_DATA_OFFSET 0x0228
  191. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RD0_OFFSET 0x022C
  192. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RD1_OFFSET 0x0230
  193. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RD2_OFFSET 0x0234
  194. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RD3_OFFSET 0x0238
  195. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RX_CTL_OFFSET 0x023C
  196. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_RXC_OFFSET 0x0240
  197. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TD0_OFFSET 0x0244
  198. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TD1_OFFSET 0x0248
  199. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TD2_OFFSET 0x024C
  200. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TD3_OFFSET 0x0250
  201. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TX_CTL_OFFSET 0x0254
  202. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RGMII_TXC_OFFSET 0x0258
  203. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_TX_CLK_OFFSET 0x025C
  204. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_RX_CLK_OFFSET 0x0260
  205. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_CRS_OFFSET 0x0264
  206. #define IOMUXC_SW_MUX_CTL_PAD_ENET1_COL_OFFSET 0x0268
  207. #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO08_OFFSET 0x026C
  208. #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO09_OFFSET 0x0270
  209. #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO10_OFFSET 0x0274
  210. #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO11_OFFSET 0x0278
  211. #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO12_OFFSET 0x027C
  212. #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO13_OFFSET 0x0280
  213. #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO14_OFFSET 0x0284
  214. #define IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO15_OFFSET 0x0288
  215. #define IOMUXC_SW_PAD_CTL_PAD_JTAG_MOD_OFFSET 0x028C
  216. #define IOMUXC_SW_PAD_CTL_PAD_JTAG_TCK_OFFSET 0x0290
  217. #define IOMUXC_SW_PAD_CTL_PAD_JTAG_TDI_OFFSET 0x0294
  218. #define IOMUXC_SW_PAD_CTL_PAD_JTAG_TDO_OFFSET 0x0298
  219. #define IOMUXC_SW_PAD_CTL_PAD_JTAG_TMS_OFFSET 0x029C
  220. #define IOMUXC_SW_PAD_CTL_PAD_JTAG_TRST_B_OFFSET 0x02A0
  221. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA00_OFFSET 0x02A4
  222. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA01_OFFSET 0x02A8
  223. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA02_OFFSET 0x02AC
  224. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA03_OFFSET 0x02B0
  225. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA04_OFFSET 0x02B4
  226. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA05_OFFSET 0x02B8
  227. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA06_OFFSET 0x02BC
  228. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA07_OFFSET 0x02C0
  229. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA08_OFFSET 0x02C4
  230. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA09_OFFSET 0x02C8
  231. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA10_OFFSET 0x02CC
  232. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA11_OFFSET 0x02D0
  233. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA12_OFFSET 0x02D4
  234. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA13_OFFSET 0x02D8
  235. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA14_OFFSET 0x02DC
  236. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_DATA15_OFFSET 0x02E0
  237. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCLK_OFFSET 0x02E4
  238. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDLE_OFFSET 0x02E8
  239. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDOE_OFFSET 0x02EC
  240. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDSHR_OFFSET 0x02F0
  241. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE0_OFFSET 0x02F4
  242. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE1_OFFSET 0x02F8
  243. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE2_OFFSET 0x02FC
  244. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE3_OFFSET 0x0300
  245. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_GDCLK_OFFSET 0x0304
  246. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_GDOE_OFFSET 0x0308
  247. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_GDRL_OFFSET 0x030C
  248. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_GDSP_OFFSET 0x0310
  249. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_BDR0_OFFSET 0x0314
  250. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_BDR1_OFFSET 0x0318
  251. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_PWR_COM_OFFSET 0x031C
  252. #define IOMUXC_SW_PAD_CTL_PAD_EPDC_PWR_STAT_OFFSET 0x0320
  253. #define IOMUXC_SW_PAD_CTL_PAD_LCD_CLK_OFFSET 0x0324
  254. #define IOMUXC_SW_PAD_CTL_PAD_LCD_ENABLE_OFFSET 0x0328
  255. #define IOMUXC_SW_PAD_CTL_PAD_LCD_HSYNC_OFFSET 0x032C
  256. #define IOMUXC_SW_PAD_CTL_PAD_LCD_VSYNC_OFFSET 0x0330
  257. #define IOMUXC_SW_PAD_CTL_PAD_LCD_RESET_OFFSET 0x0334
  258. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA00_OFFSET 0x0338
  259. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA01_OFFSET 0x033C
  260. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA02_OFFSET 0x0340
  261. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA03_OFFSET 0x0344
  262. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA04_OFFSET 0x0348
  263. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA05_OFFSET 0x034C
  264. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA06_OFFSET 0x0350
  265. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA07_OFFSET 0x0354
  266. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA08_OFFSET 0x0358
  267. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA09_OFFSET 0x035C
  268. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA10_OFFSET 0x0360
  269. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA11_OFFSET 0x0364
  270. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA12_OFFSET 0x0368
  271. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA13_OFFSET 0x036C
  272. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA14_OFFSET 0x0370
  273. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA15_OFFSET 0x0374
  274. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA16_OFFSET 0x0378
  275. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA17_OFFSET 0x037C
  276. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA18_OFFSET 0x0380
  277. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA19_OFFSET 0x0384
  278. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA20_OFFSET 0x0388
  279. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA21_OFFSET 0x038C
  280. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA22_OFFSET 0x0390
  281. #define IOMUXC_SW_PAD_CTL_PAD_LCD_DATA23_OFFSET 0x0394
  282. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_OFFSET 0x0398
  283. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_DSE_0_X1 0
  284. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_DSE_1_X4 BIT(0)
  285. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_DSE_2_X2 BIT(1)
  286. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_DSE_3_X6 (BIT(1) | BIT(0))
  287. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_SRE_FAST 0
  288. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_SRE_SLOW BIT(2)
  289. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_HYS_DIS 0
  290. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_HYS_EN BIT(3)
  291. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PE_DIS 0
  292. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PE_EN BIT(4)
  293. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PS_0_100K_PD 0
  294. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PS_1_5K_PU BIT(5)
  295. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PS_2_47K_PU BIT(6)
  296. #define IOMUXC_SW_PAD_CTL_PAD_UART1_RX_DATA_PS_3_100K_PU (BIT(6) | BIT(5))
  297. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_OFFSET 0x039C
  298. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_DSE_0_X1 0
  299. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_DSE_1_X4 BIT(0)
  300. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_DSE_2_X2 BIT(1)
  301. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_DSE_3_X6 (BIT(1) | BIT(0))
  302. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_SRE_FAST 0
  303. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_SRE_SLOW BIT(2)
  304. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_HYS_DIS 0
  305. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_HYS_EN BIT(3)
  306. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PE_DIS 0
  307. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PE_EN BIT(4)
  308. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PS_0_100K_PD 0
  309. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PS_1_5K_PU BIT(5)
  310. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PS_2_47K_PU BIT(6)
  311. #define IOMUXC_SW_PAD_CTL_PAD_UART1_TX_DATA_PS_3_100K_PU (BIT(6) | BIT(5))
  312. #define IOMUXC_SW_PAD_CTL_PAD_UART2_RX_DATA_OFFSET 0x03A0
  313. #define IOMUXC_SW_PAD_CTL_PAD_UART2_TX_DATA_OFFSET 0x03A4
  314. #define IOMUXC_SW_PAD_CTL_PAD_UART3_RX_DATA_OFFSET 0x03A8
  315. #define IOMUXC_SW_PAD_CTL_PAD_UART3_TX_DATA_OFFSET 0x03AC
  316. #define IOMUXC_SW_PAD_CTL_PAD_UART3_RTS_B_OFFSET 0x03B0
  317. #define IOMUXC_SW_PAD_CTL_PAD_UART3_CTS_B_OFFSET 0x03B4
  318. #define IOMUXC_SW_PAD_CTL_PAD_I2C1_SCL_OFFSET 0x03B8
  319. #define IOMUXC_SW_PAD_CTL_PAD_I2C1_SDA_OFFSET 0x03BC
  320. #define IOMUXC_SW_PAD_CTL_PAD_I2C2_SCL_OFFSET 0x03C0
  321. #define IOMUXC_SW_PAD_CTL_PAD_I2C2_SDA_OFFSET 0x03C4
  322. #define IOMUXC_SW_PAD_CTL_PAD_I2C3_SCL_OFFSET 0x03C8
  323. #define IOMUXC_SW_PAD_CTL_PAD_I2C3_SDA_OFFSET 0x03CC
  324. #define IOMUXC_SW_PAD_CTL_PAD_I2C4_SCL_OFFSET 0x03D0
  325. #define IOMUXC_SW_PAD_CTL_PAD_I2C4_SDA_OFFSET 0x03D4
  326. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_OFFSET 0x03D8
  327. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_DSE_0_X1 0
  328. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_DSE_1_X4 BIT(0)
  329. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_DSE_2_X2 BIT(1)
  330. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_DSE_3_X6 (BIT(1) | BIT(0))
  331. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_SRE_FAST 0
  332. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_SRE_SLOW BIT(2)
  333. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_HYS_DIS 0
  334. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_HYS_EN BIT(3)
  335. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PE_DIS 0
  336. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PE_EN BIT(4)
  337. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PS_0_100K_PD 0
  338. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PS_1_5K_PU BIT(5)
  339. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PS_2_47K_PU BIT(6)
  340. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SCLK_PS_3_100K_PU (BIT(6) | BIT(5))
  341. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_OFFSET 0x03DC
  342. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_DSE_0_X1 0
  343. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_DSE_1_X4 BIT(0)
  344. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_DSE_2_X2 BIT(1)
  345. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_DSE_3_X6 (BIT(1) | BIT(0))
  346. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_SRE_FAST 0
  347. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_SRE_SLOW BIT(2)
  348. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_HYS_DIS 0
  349. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_HYS_EN BIT(3)
  350. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PE_DIS 0
  351. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PE_EN BIT(4)
  352. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PS_0_100K_PD 0
  353. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PS_1_5K_PU BIT(5)
  354. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PS_2_47K_PU BIT(6)
  355. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MOSI_PS_3_100K_PU (BIT(6) | BIT(5))
  356. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_MISO_OFFSET 0x03E0
  357. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI1_SS0_OFFSET 0x03E4
  358. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI2_SCLK_OFFSET 0x03E8
  359. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI2_MOSI_OFFSET 0x03EC
  360. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI2_MISO_OFFSET 0x03F0
  361. #define IOMUXC_SW_PAD_CTL_PAD_ECSPI2_SS0_OFFSET 0x03F4
  362. #define IOMUXC_SW_PAD_CTL_PAD_SD1_CD_B_OFFSET 0x03F8
  363. #define IOMUXC_SW_PAD_CTL_PAD_SD1_WP_OFFSET 0x03FC
  364. #define IOMUXC_SW_PAD_CTL_PAD_SD1_RESET_B_OFFSET 0x0400
  365. #define IOMUXC_SW_PAD_CTL_PAD_SD1_CLK_OFFSET 0x0404
  366. #define IOMUXC_SW_PAD_CTL_PAD_SD1_CMD_OFFSET 0x0408
  367. #define IOMUXC_SW_PAD_CTL_PAD_SD1_DATA0_OFFSET 0x040C
  368. #define IOMUXC_SW_PAD_CTL_PAD_SD1_DATA1_OFFSET 0x0410
  369. #define IOMUXC_SW_PAD_CTL_PAD_SD1_DATA2_OFFSET 0x0414
  370. #define IOMUXC_SW_PAD_CTL_PAD_SD1_DATA3_OFFSET 0x0418
  371. #define IOMUXC_SW_PAD_CTL_PAD_SD2_CD_B_OFFSET 0x041C
  372. #define IOMUXC_SW_PAD_CTL_PAD_SD2_WP_OFFSET 0x0420
  373. #define IOMUXC_SW_PAD_CTL_PAD_SD2_RESET_B_OFFSET 0x0424
  374. #define IOMUXC_SW_PAD_CTL_PAD_SD2_CLK_OFFSET 0x0428
  375. #define IOMUXC_SW_PAD_CTL_PAD_SD2_CMD_OFFSET 0x042C
  376. #define IOMUXC_SW_PAD_CTL_PAD_SD2_DATA0_OFFSET 0x0430
  377. #define IOMUXC_SW_PAD_CTL_PAD_SD2_DATA1_OFFSET 0x0434
  378. #define IOMUXC_SW_PAD_CTL_PAD_SD2_DATA2_OFFSET 0x0438
  379. #define IOMUXC_SW_PAD_CTL_PAD_SD2_DATA3_OFFSET 0x043C
  380. #define IOMUXC_SW_PAD_CTL_PAD_SD3_CLK_OFFSET 0x0440
  381. #define IOMUXC_SW_PAD_CTL_PAD_SD3_CMD_OFFSET 0x0444
  382. #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA0_OFFSET 0x0448
  383. #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA1_OFFSET 0x044C
  384. #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA2_OFFSET 0x0450
  385. #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA3_OFFSET 0x0454
  386. #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA4_OFFSET 0x0458
  387. #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA5_OFFSET 0x045C
  388. #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA6_OFFSET 0x0460
  389. #define IOMUXC_SW_PAD_CTL_PAD_SD3_DATA7_OFFSET 0x0464
  390. #define IOMUXC_SW_PAD_CTL_PAD_SD3_STROBE_OFFSET 0x0468
  391. #define IOMUXC_SW_PAD_CTL_PAD_SD3_RESET_B_OFFSET 0x046C
  392. #define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_0_X1 0
  393. #define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_1_X4 BIT(0)
  394. #define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_2_X2 BIT(1)
  395. #define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_3_X6 (BIT(1) | BIT(0))
  396. #define IOMUXC_SW_PAD_CTL_PAD_SD3_DSE_1_X4 BIT(0)
  397. #define IOMUXC_SW_PAD_CTL_PAD_SD3_SLEW_SLOW BIT(2)
  398. #define IOMUXC_SW_PAD_CTL_PAD_SD3_SLEW_FAST 0
  399. #define IOMUXC_SW_PAD_CTL_PAD_SD3_HYS BIT(3)
  400. #define IOMUXC_SW_PAD_CTL_PAD_SD3_PE BIT(4)
  401. #define IOMUXC_SW_PAD_CTL_PAD_SD3_PD_100K (0 << 5)
  402. #define IOMUXC_SW_PAD_CTL_PAD_SD3_PU_5K (1 << 5)
  403. #define IOMUXC_SW_PAD_CTL_PAD_SD3_PU_47K (2 << 5)
  404. #define IOMUXC_SW_PAD_CTL_PAD_SD3_PU_100K (3 << 5)
  405. #define IOMUXC_SW_PAD_CTL_PAD_SAI1_RX_DATA_OFFSET 0x0470
  406. #define IOMUXC_SW_PAD_CTL_PAD_SAI1_TX_BCLK_OFFSET 0x0474
  407. #define IOMUXC_SW_PAD_CTL_PAD_SAI1_TX_SYNC_OFFSET 0x0478
  408. #define IOMUXC_SW_PAD_CTL_PAD_SAI1_TX_DATA_OFFSET 0x047C
  409. #define IOMUXC_SW_PAD_CTL_PAD_SAI1_RX_SYNC_OFFSET 0x0480
  410. #define IOMUXC_SW_PAD_CTL_PAD_SAI1_RX_BCLK_OFFSET 0x0484
  411. #define IOMUXC_SW_PAD_CTL_PAD_SAI1_MCLK_OFFSET 0x0488
  412. #define IOMUXC_SW_PAD_CTL_PAD_SAI2_TX_SYNC_OFFSET 0x048C
  413. #define IOMUXC_SW_PAD_CTL_PAD_SAI2_TX_BCLK_OFFSET 0x0490
  414. #define IOMUXC_SW_PAD_CTL_PAD_SAI2_RX_DATA_OFFSET 0x0494
  415. #define IOMUXC_SW_PAD_CTL_PAD_SAI2_TX_DATA_OFFSET 0x0498
  416. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RD0_OFFSET 0x049C
  417. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RD1_OFFSET 0x04A0
  418. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RD2_OFFSET 0x04A4
  419. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RD3_OFFSET 0x04A8
  420. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RX_CTL_OFFSET 0x04AC
  421. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_RXC_OFFSET 0x04B0
  422. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TD0_OFFSET 0x04B4
  423. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TD1_OFFSET 0x04B8
  424. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TD2_OFFSET 0x04BC
  425. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TD3_OFFSET 0x04C0
  426. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TX_CTL_OFFSET 0x04C4
  427. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RGMII_TXC_OFFSET 0x04C8
  428. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_TX_CLK_OFFSET 0x04CC
  429. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_RX_CLK_OFFSET 0x04D0
  430. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_CRS_OFFSET 0x04D4
  431. #define IOMUXC_SW_PAD_CTL_PAD_ENET1_COL_OFFSET 0x04D8
  432. #define IOMUXC_FLEXCAN1_RX_SELECT_INPUT_OFFSET 0x04DC
  433. #define IOMUXC_FLEXCAN2_RX_SELECT_INPUT_OFFSET 0x04E0
  434. #define IOMUXC_CCM_EXT_CLK_1_SELECT_INPUT_OFFSET 0x04E4
  435. #define IOMUXC_CCM_EXT_CLK_2_SELECT_INPUT_OFFSET 0x04E8
  436. #define IOMUXC_CCM_EXT_CLK_3_SELECT_INPUT_OFFSET 0x04EC
  437. #define IOMUXC_CCM_EXT_CLK_4_SELECT_INPUT_OFFSET 0x04F0
  438. #define IOMUXC_CCM_PMIC_READY_SELECT_INPUT_OFFSET 0x04F4
  439. #define IOMUXC_CSI_DATA2_SELECT_INPUT_OFFSET 0x04F8
  440. #define IOMUXC_CSI_DATA3_SELECT_INPUT_OFFSET 0x04FC
  441. #define IOMUXC_CSI_DATA4_SELECT_INPUT_OFFSET 0x0500
  442. #define IOMUXC_CSI_DATA5_SELECT_INPUT_OFFSET 0x0504
  443. #define IOMUXC_CSI_DATA6_SELECT_INPUT_OFFSET 0x0508
  444. #define IOMUXC_CSI_DATA7_SELECT_INPUT_OFFSET 0x050C
  445. #define IOMUXC_CSI_DATA8_SELECT_INPUT_OFFSET 0x0510
  446. #define IOMUXC_CSI_DATA9_SELECT_INPUT_OFFSET 0x0514
  447. #define IOMUXC_CSI_HSYNC_SELECT_INPUT_OFFSET 0x0518
  448. #define IOMUXC_CSI_PIXCLK_SELECT_INPUT_OFFSET 0x051C
  449. #define IOMUXC_CSI_VSYNC_SELECT_INPUT_OFFSET 0x0520
  450. #define IOMUXC_ECSPI1_SCLK_SELECT_INPUT_OFFSET 0x0524
  451. #define IOMUXC_ECSPI1_MISO_SELECT_INPUT_OFFSET 0x0528
  452. #define IOMUXC_ECSPI1_MOSI_SELECT_INPUT_OFFSET 0x052C
  453. #define IOMUXC_ECSPI1_SS0_B_SELECT_INPUT_OFFSET 0x0530
  454. #define IOMUXC_ECSPI2_SCLK_SELECT_INPUT_OFFSET 0x0534
  455. #define IOMUXC_ECSPI2_MISO_SELECT_INPUT_OFFSET 0x0538
  456. #define IOMUXC_ECSPI2_MOSI_SELECT_INPUT_OFFSET 0x053C
  457. #define IOMUXC_ECSPI2_SS0_B_SELECT_INPUT_OFFSET 0x0540
  458. #define IOMUXC_ECSPI3_SCLK_SELECT_INPUT_OFFSET 0x0544
  459. #define IOMUXC_ECSPI3_MISO_SELECT_INPUT_OFFSET 0x0548
  460. #define IOMUXC_ECSPI3_MOSI_SELECT_INPUT_OFFSET 0x054C
  461. #define IOMUXC_ECSPI3_SS0_B_SELECT_INPUT_OFFSET 0x0550
  462. #define IOMUXC_ECSPI4_SCLK_SELECT_INPUT_OFFSET 0x0554
  463. #define IOMUXC_ECSPI4_MISO_SELECT_INPUT_OFFSET 0x0558
  464. #define IOMUXC_ECSPI4_MOSI_SELECT_INPUT_OFFSET 0x055C
  465. #define IOMUXC_ECSPI4_SS0_B_SELECT_INPUT_OFFSET 0x0560
  466. #define IOMUXC_CCM_ENET1_REF_CLK_SELECT_INPUT_OFFSET 0x0564
  467. #define IOMUXC_ENET1_MDIO_SELECT_INPUT_OFFSET 0x0568
  468. #define IOMUXC_ENET1_RX_CLK_SELECT_INPUT_OFFSET 0x056C
  469. #define IOMUXC_CCM_ENET2_REF_CLK_SELECT_INPUT_OFFSET 0x0570
  470. #define IOMUXC_ENET2_MDIO_SELECT_INPUT_OFFSET 0x0574
  471. #define IOMUXC_ENET2_RX_CLK_SELECT_INPUT_OFFSET 0x0578
  472. #define IOMUXC_EPDC_PWR_IRQ_SELECT_INPUT_OFFSET 0x057C
  473. #define IOMUXC_EPDC_PWR_STAT_SELECT_INPUT_OFFSET 0x0580
  474. #define IOMUXC_FLEXTIMER1_CH0_SELECT_INPUT_OFFSET 0x0584
  475. #define IOMUXC_FLEXTIMER1_CH1_SELECT_INPUT_OFFSET 0x0588
  476. #define IOMUXC_FLEXTIMER1_CH2_SELECT_INPUT_OFFSET 0x058C
  477. #define IOMUXC_FLEXTIMER1_CH3_SELECT_INPUT_OFFSET 0x0590
  478. #define IOMUXC_FLEXTIMER1_CH4_SELECT_INPUT_OFFSET 0x0594
  479. #define IOMUXC_FLEXTIMER1_CH5_SELECT_INPUT_OFFSET 0x0598
  480. #define IOMUXC_FLEXTIMER1_CH6_SELECT_INPUT_OFFSET 0x059C
  481. #define IOMUXC_FLEXTIMER1_CH7_SELECT_INPUT_OFFSET 0x05A0
  482. #define IOMUXC_FLEXTIMER1_PHA_SELECT_INPUT_OFFSET 0x05A4
  483. #define IOMUXC_FLEXTIMER1_PHB_SELECT_INPUT_OFFSET 0x05A8
  484. #define IOMUXC_FLEXTIMER2_CH0_SELECT_INPUT_OFFSET 0x05AC
  485. #define IOMUXC_FLEXTIMER2_CH1_SELECT_INPUT_OFFSET 0x05B0
  486. #define IOMUXC_FLEXTIMER2_CH2_SELECT_INPUT_OFFSET 0x05B4
  487. #define IOMUXC_FLEXTIMER2_CH3_SELECT_INPUT_OFFSET 0x05B8
  488. #define IOMUXC_FLEXTIMER2_CH4_SELECT_INPUT_OFFSET 0x05BC
  489. #define IOMUXC_FLEXTIMER2_CH5_SELECT_INPUT_OFFSET 0x05C0
  490. #define IOMUXC_FLEXTIMER2_CH6_SELECT_INPUT_OFFSET 0x05C4
  491. #define IOMUXC_FLEXTIMER2_CH7_SELECT_INPUT_OFFSET 0x05C8
  492. #define IOMUXC_FLEXTIMER2_PHA_SELECT_INPUT_OFFSET 0x05CC
  493. #define IOMUXC_FLEXTIMER2_PHB_SELECT_INPUT_OFFSET 0x05D0
  494. #define IOMUXC_I2C1_SCL_SELECT_INPUT_OFFSET 0x05D4
  495. #define IOMUXC_I2C1_SDA_SELECT_INPUT_OFFSET 0x05D8
  496. #define IOMUXC_I2C2_SCL_SELECT_INPUT_OFFSET 0x05DC
  497. #define IOMUXC_I2C2_SDA_SELECT_INPUT_OFFSET 0x05E0
  498. #define IOMUXC_I2C3_SCL_SELECT_INPUT_OFFSET 0x05E4
  499. #define IOMUXC_I2C3_SDA_SELECT_INPUT_OFFSET 0x05E8
  500. #define IOMUXC_I2C4_SCL_SELECT_INPUT_OFFSET 0x05EC
  501. #define IOMUXC_I2C4_SDA_SELECT_INPUT_OFFSET 0x05F0
  502. #define IOMUXC_KPP_COL0_SELECT_INPUT_OFFSET 0x05F4
  503. #define IOMUXC_KPP_COL1_SELECT_INPUT_OFFSET 0x05F8
  504. #define IOMUXC_KPP_COL2_SELECT_INPUT_OFFSET 0x05FC
  505. #define IOMUXC_KPP_COL3_SELECT_INPUT_OFFSET 0x0600
  506. #define IOMUXC_KPP_COL4_SELECT_INPUT_OFFSET 0x0604
  507. #define IOMUXC_KPP_COL5_SELECT_INPUT_OFFSET 0x0608
  508. #define IOMUXC_KPP_COL6_SELECT_INPUT_OFFSET 0x060C
  509. #define IOMUXC_KPP_COL7_SELECT_INPUT_OFFSET 0x0610
  510. #define IOMUXC_KPP_ROW0_SELECT_INPUT_OFFSET 0x0614
  511. #define IOMUXC_KPP_ROW1_SELECT_INPUT_OFFSET 0x0618
  512. #define IOMUXC_KPP_ROW2_SELECT_INPUT_OFFSET 0x061C
  513. #define IOMUXC_KPP_ROW3_SELECT_INPUT_OFFSET 0x0620
  514. #define IOMUXC_KPP_ROW4_SELECT_INPUT_OFFSET 0x0624
  515. #define IOMUXC_KPP_ROW5_SELECT_INPUT_OFFSET 0x0628
  516. #define IOMUXC_KPP_ROW6_SELECT_INPUT_OFFSET 0x062C
  517. #define IOMUXC_KPP_ROW7_SELECT_INPUT_OFFSET 0x0630
  518. #define IOMUXC_LCD_BUSY_SELECT_INPUT_OFFSET 0x0634
  519. #define IOMUXC_LCD_DATA00_SELECT_INPUT_OFFSET 0x0638
  520. #define IOMUXC_LCD_DATA01_SELECT_INPUT_OFFSET 0x063C
  521. #define IOMUXC_LCD_DATA02_SELECT_INPUT_OFFSET 0x0640
  522. #define IOMUXC_LCD_DATA03_SELECT_INPUT_OFFSET 0x0644
  523. #define IOMUXC_LCD_DATA04_SELECT_INPUT_OFFSET 0x0648
  524. #define IOMUXC_LCD_DATA05_SELECT_INPUT_OFFSET 0x064C
  525. #define IOMUXC_LCD_DATA06_SELECT_INPUT_OFFSET 0x0650
  526. #define IOMUXC_LCD_DATA07_SELECT_INPUT_OFFSET 0x0654
  527. #define IOMUXC_LCD_DATA08_SELECT_INPUT_OFFSET 0x0658
  528. #define IOMUXC_LCD_DATA09_SELECT_INPUT_OFFSET 0x065C
  529. #define IOMUXC_LCD_DATA10_SELECT_INPUT_OFFSET 0x0660
  530. #define IOMUXC_LCD_DATA11_SELECT_INPUT_OFFSET 0x0664
  531. #define IOMUXC_LCD_DATA12_SELECT_INPUT_OFFSET 0x0668
  532. #define IOMUXC_LCD_DATA13_SELECT_INPUT_OFFSET 0x066C
  533. #define IOMUXC_LCD_DATA14_SELECT_INPUT_OFFSET 0x0670
  534. #define IOMUXC_LCD_DATA15_SELECT_INPUT_OFFSET 0x0674
  535. #define IOMUXC_LCD_DATA16_SELECT_INPUT_OFFSET 0x0678
  536. #define IOMUXC_LCD_DATA17_SELECT_INPUT_OFFSET 0x067C
  537. #define IOMUXC_LCD_DATA18_SELECT_INPUT_OFFSET 0x0680
  538. #define IOMUXC_LCD_DATA19_SELECT_INPUT_OFFSET 0x0684
  539. #define IOMUXC_LCD_DATA20_SELECT_INPUT_OFFSET 0x0688
  540. #define IOMUXC_LCD_DATA21_SELECT_INPUT_OFFSET 0x068C
  541. #define IOMUXC_LCD_DATA22_SELECT_INPUT_OFFSET 0x0690
  542. #define IOMUXC_LCD_DATA23_SELECT_INPUT_OFFSET 0x0694
  543. #define IOMUXC_LCD_VSYNC_SELECT_INPUT_OFFSET 0x0698
  544. #define IOMUXC_SAI1_RX_BCLK_SELECT_INPUT_OFFSET 0x069C
  545. #define IOMUXC_SAI1_RX_DATA_SELECT_INPUT_OFFSET 0x06A0
  546. #define IOMUXC_SAI1_RX_SYNC_SELECT_INPUT_OFFSET 0x06A4
  547. #define IOMUXC_SAI1_TX_BCLK_SELECT_INPUT_OFFSET 0x06A8
  548. #define IOMUXC_SAI1_TX_SYNC_SELECT_INPUT_OFFSET 0x06AC
  549. #define IOMUXC_SAI2_RX_BCLK_SELECT_INPUT_OFFSET 0x06B0
  550. #define IOMUXC_SAI2_RX_DATA_SELECT_INPUT_OFFSET 0x06B4
  551. #define IOMUXC_SAI2_RX_SYNC_SELECT_INPUT_OFFSET 0x06B8
  552. #define IOMUXC_SAI2_TX_BCLK_SELECT_INPUT_OFFSET 0x06BC
  553. #define IOMUXC_SAI2_TX_SYNC_SELECT_INPUT_OFFSET 0x06C0
  554. #define IOMUXC_SAI3_RX_BCLK_SELECT_INPUT_OFFSET 0x06C4
  555. #define IOMUXC_SAI3_RX_DATA_SELECT_INPUT_OFFSET 0x06C8
  556. #define IOMUXC_SAI3_RX_SYNC_SELECT_INPUT_OFFSET 0x06CC
  557. #define IOMUXC_SAI3_TX_BCLK_SELECT_INPUT_OFFSET 0x06D0
  558. #define IOMUXC_SAI3_TX_SYNC_SELECT_INPUT_OFFSET 0x06D4
  559. #define IOMUXC_SDMA_EVENTS0_SELECT_INPUT_OFFSET 0x06D8
  560. #define IOMUXC_SDMA_EVENTS1_SELECT_INPUT_OFFSET 0x06DC
  561. #define IOMUXC_SIM1_PORT1_PD_SELECT_INPUT_OFFSET 0x06E0
  562. #define IOMUXC_SIM1_PORT1_TRXD_SELECT_INPUT_OFFSET 0x06E4
  563. #define IOMUXC_SIM2_PORT1_PD_SELECT_INPUT_OFFSET 0x06E8
  564. #define IOMUXC_SIM2_PORT1_TRXD_SELECT_INPUT_OFFSET 0x06EC
  565. #define IOMUXC_UART1_RTS_B_SELECT_INPUT_OFFSET 0x06F0
  566. #define IOMUXC_UART1_RX_DATA_SELECT_INPUT_OFFSET 0x06F4
  567. #define IOMUXC_UART2_RTS_B_SELECT_INPUT_OFFSET 0x06F8
  568. #define IOMUXC_UART2_RX_DATA_SELECT_INPUT_OFFSET 0x06FC
  569. #define IOMUXC_UART3_RTS_B_SELECT_INPUT_OFFSET 0x0700
  570. #define IOMUXC_UART3_RX_DATA_SELECT_INPUT_OFFSET 0x0704
  571. #define IOMUXC_UART4_RTS_B_SELECT_INPUT_OFFSET 0x0708
  572. #define IOMUXC_UART4_RX_DATA_SELECT_INPUT_OFFSET 0x070C
  573. #define IOMUXC_UART5_RTS_B_SELECT_INPUT_OFFSET 0x0710
  574. #define IOMUXC_UART5_RX_DATA_SELECT_INPUT_OFFSET 0x0714
  575. #define IOMUXC_UART5_RX_DATA_SELECT_INPUT_I2C4_SCL_ALT1 0x00
  576. #define IOMUXC_UART5_RX_DATA_SELECT_INPUT_I2C4_SDA_ALT1 BIT(0)
  577. #define IOMUXC_UART5_RX_DATA_SELECT_INPUT_SAI1_RX_DATA_ALT2 BIT(1)
  578. #define IOMUXC_UART5_RX_DATA_SELECT_INPUT_SAI1_TX_BCLK_ALT2 (BIT(1) | BIT(0))
  579. #define IOMUXC_UART5_RX_DATA_SELECT_INPUT_GPIO1_IO06_ALT3 BIT(2)
  580. #define IOMUXC_UART5_RX_DATA_SELECT_INPUT_GPIO1_IO07_ALT3 (BIT(2) | BIT(1))
  581. #define IOMUXC_UART6_RTS_B_SELECT_INPUT_OFFSET 0x0718
  582. #define IOMUXC_UART6_RX_DATA_SELECT_INPUT_OFFSET 0x071C
  583. #define IOMUXC_UART7_RTS_B_SELECT_INPUT_OFFSET 0x0720
  584. #define IOMUXC_UART7_RX_DATA_SELECT_INPUT_OFFSET 0x0724
  585. #define IOMUXC_USB_OTG2_OC_SELECT_INPUT_OFFSET 0x0728
  586. #define IOMUXC_USB_OTG1_OC_SELECT_INPUT_OFFSET 0x072C
  587. #define IOMUXC_USB_OTG2_ID_SELECT_INPUT_OFFSET 0x0730
  588. #define IOMUXC_USB_OTG1_ID_SELECT_INPUT_OFFSET 0x0734
  589. #define IOMUXC_SD3_CD_B_SELECT_INPUT_OFFSET 0x0738
  590. #define IOMUXC_SD3_WP_SELECT_INPUT_OFFSET 0x073C
  591. /* Pad mux/feature set routines */
  592. void imx_io_muxc_set_pad_alt_function(uint32_t pad_mux_offset, uint32_t alt_function);
  593. void imx_io_muxc_set_pad_features(uint32_t pad_feature_offset, uint32_t pad_features);
  594. #endif /* IMX_IO_MUX_H */