esai_iomux_config.c 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808
  1. /*
  2. * Copyright (c) 2012, Freescale Semiconductor, Inc.
  3. * All rights reserved.
  4. *
  5. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
  6. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  7. * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  8. * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
  9. * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  10. * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  11. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
  12. * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  13. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  14. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  15. */
  16. // File: esai_iomux_config.c
  17. /* ------------------------------------------------------------------------------
  18. * <auto-generated>
  19. * This code was generated by a tool.
  20. * Runtime Version:3.4.0.0
  21. *
  22. * Changes to this file may cause incorrect behavior and will be lost if
  23. * the code is regenerated.
  24. * </auto-generated>
  25. * ------------------------------------------------------------------------------
  26. */
  27. #include "iomux_config.h"
  28. #include "registers/regsiomuxc.h"
  29. // Function to configure IOMUXC for esai module.
  30. void esai_iomux_config(void)
  31. {
  32. // Config esai.ESAI_RX_CLK to pad ENET_MDIO(V23)
  33. // HW_IOMUXC_SW_MUX_CTL_PAD_ENET_MDIO_WR(0x00000002);
  34. // HW_IOMUXC_SW_PAD_CTL_PAD_ENET_MDIO_WR(0x0001B0B0);
  35. // HW_IOMUXC_ESAI_RX_CLK_SELECT_INPUT_WR(0x00000000);
  36. // Mux Register:
  37. // IOMUXC_SW_MUX_CTL_PAD_ENET_MDIO(0x020E01EC)
  38. // SION [4] - Software Input On Field Reset: DISABLED
  39. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  40. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  41. // ENABLED (1) - Force input path of pad.
  42. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  43. // Select iomux modes to be used for pad.
  44. // ALT1 (1) - Select instance: enet signal: ENET_MDIO
  45. // ALT2 (2) - Select instance: esai signal: ESAI_RX_CLK
  46. // ALT4 (4) - Select instance: enet signal: ENET_1588_EVENT1_OUT
  47. // ALT5 (5) - Select instance: gpio1 signal: GPIO1_IO22
  48. // ALT6 (6) - Select instance: spdif signal: SPDIF_LOCK
  49. HW_IOMUXC_SW_MUX_CTL_PAD_ENET_MDIO_WR(
  50. BF_IOMUXC_SW_MUX_CTL_PAD_ENET_MDIO_SION_V(DISABLED) |
  51. BF_IOMUXC_SW_MUX_CTL_PAD_ENET_MDIO_MUX_MODE_V(ALT2));
  52. // Pad Control Register:
  53. // IOMUXC_SW_PAD_CTL_PAD_ENET_MDIO(0x020E05BC)
  54. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  55. // DISABLED (0) - CMOS input
  56. // ENABLED (1) - Schmitt trigger input
  57. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  58. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  59. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  60. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  61. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  62. // PUE [13] - Pull / Keep Select Field Reset: PULL
  63. // KEEP (0) - Keeper Enabled
  64. // PULL (1) - Pull Enabled
  65. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  66. // DISABLED (0) - Pull/Keeper Disabled
  67. // ENABLED (1) - Pull/Keeper Enabled
  68. // ODE [11] - Open Drain Enable Field Reset: DISABLED
  69. // Enables open drain of the pin.
  70. // DISABLED (0) - Output is CMOS.
  71. // ENABLED (1) - Output is Open Drain.
  72. // SPEED [7:6] - Speed Field Reset: 100MHZ
  73. // RESERVED0 (0) - Reserved
  74. // 50MHZ (1) - Low (50 MHz)
  75. // 100MHZ (2) - Medium (100 MHz)
  76. // 200MHZ (3) - Maximum (200 MHz)
  77. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  78. // HIZ (0) - HI-Z
  79. // 240_OHM (1) - 240 Ohm
  80. // 120_OHM (2) - 120 Ohm
  81. // 80_OHM (3) - 80 Ohm
  82. // 60_OHM (4) - 60 Ohm
  83. // 48_OHM (5) - 48 Ohm
  84. // 40_OHM (6) - 40 Ohm
  85. // 34_OHM (7) - 34 Ohm
  86. // SRE [0] - Slew Rate Field Reset: SLOW
  87. // Slew rate control.
  88. // SLOW (0) - Slow Slew Rate
  89. // FAST (1) - Fast Slew Rate
  90. HW_IOMUXC_SW_PAD_CTL_PAD_ENET_MDIO_WR(
  91. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDIO_HYS_V(ENABLED) |
  92. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDIO_PUS_V(100K_OHM_PU) |
  93. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDIO_PUE_V(PULL) |
  94. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDIO_PKE_V(ENABLED) |
  95. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDIO_ODE_V(DISABLED) |
  96. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDIO_SPEED_V(100MHZ) |
  97. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDIO_DSE_V(40_OHM) |
  98. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDIO_SRE_V(SLOW));
  99. // Pad ENET_MDIO is involved in Daisy Chain.
  100. // Input Select Register:
  101. // IOMUXC_ESAI_RX_CLK_SELECT_INPUT(0x020E083C)
  102. // DAISY [0] - MUX Mode Select Field Reset: ENET_MDIO_ALT2
  103. // Selecting Pads Involved in Daisy Chain.
  104. // ENET_MDIO_ALT2 (0) - Select signal esai ESAI_RX_CLK as input from pad ENET_MDIO(ALT2).
  105. // GPIO01_ALT0 (1) - Select signal esai ESAI_RX_CLK as input from pad GPIO01(ALT0).
  106. HW_IOMUXC_ESAI_RX_CLK_SELECT_INPUT_WR(
  107. BF_IOMUXC_ESAI_RX_CLK_SELECT_INPUT_DAISY_V(ENET_MDIO_ALT2));
  108. // Config esai.ESAI_RX_FS to pad GPIO09(T2)
  109. // HW_IOMUXC_SW_MUX_CTL_PAD_GPIO09_WR(0x00000000);
  110. // HW_IOMUXC_SW_PAD_CTL_PAD_GPIO09_WR(0x0001B0B0);
  111. // HW_IOMUXC_ESAI_RX_FS_SELECT_INPUT_WR(0x00000001);
  112. // Mux Register:
  113. // IOMUXC_SW_MUX_CTL_PAD_GPIO09(0x020E0240)
  114. // SION [4] - Software Input On Field Reset: DISABLED
  115. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  116. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  117. // ENABLED (1) - Force input path of pad.
  118. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  119. // Select iomux modes to be used for pad.
  120. // ALT0 (0) - Select instance: esai signal: ESAI_RX_FS
  121. // ALT1 (1) - Select instance: wdog1 signal: WDOG1_B
  122. // ALT2 (2) - Select instance: kpp signal: KEY_COL6
  123. // ALT3 (3) - Select instance: ccm signal: CCM_REF_EN_B
  124. // ALT4 (4) - Select instance: pwm1 signal: PWM1_OUT
  125. // ALT5 (5) - Select instance: gpio1 signal: GPIO1_IO09
  126. // ALT6 (6) - Select instance: usdhc1 signal: SD1_WP
  127. HW_IOMUXC_SW_MUX_CTL_PAD_GPIO09_WR(
  128. BF_IOMUXC_SW_MUX_CTL_PAD_GPIO09_SION_V(DISABLED) |
  129. BF_IOMUXC_SW_MUX_CTL_PAD_GPIO09_MUX_MODE_V(ALT0));
  130. // Pad Control Register:
  131. // IOMUXC_SW_PAD_CTL_PAD_GPIO09(0x020E0610)
  132. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  133. // DISABLED (0) - CMOS input
  134. // ENABLED (1) - Schmitt trigger input
  135. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  136. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  137. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  138. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  139. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  140. // PUE [13] - Pull / Keep Select Field Reset: PULL
  141. // KEEP (0) - Keeper Enabled
  142. // PULL (1) - Pull Enabled
  143. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  144. // DISABLED (0) - Pull/Keeper Disabled
  145. // ENABLED (1) - Pull/Keeper Enabled
  146. // ODE [11] - Open Drain Enable Field Reset: DISABLED
  147. // Enables open drain of the pin.
  148. // DISABLED (0) - Output is CMOS.
  149. // ENABLED (1) - Output is Open Drain.
  150. // SPEED [7:6] - Speed Field Reset: 100MHZ
  151. // RESERVED0 (0) - Reserved
  152. // 50MHZ (1) - Low (50 MHz)
  153. // 100MHZ (2) - Medium (100 MHz)
  154. // 200MHZ (3) - Maximum (200 MHz)
  155. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  156. // HIZ (0) - HI-Z
  157. // 240_OHM (1) - 240 Ohm
  158. // 120_OHM (2) - 120 Ohm
  159. // 80_OHM (3) - 80 Ohm
  160. // 60_OHM (4) - 60 Ohm
  161. // 48_OHM (5) - 48 Ohm
  162. // 40_OHM (6) - 40 Ohm
  163. // 34_OHM (7) - 34 Ohm
  164. // SRE [0] - Slew Rate Field Reset: SLOW
  165. // Slew rate control.
  166. // SLOW (0) - Slow Slew Rate
  167. // FAST (1) - Fast Slew Rate
  168. HW_IOMUXC_SW_PAD_CTL_PAD_GPIO09_WR(
  169. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO09_HYS_V(ENABLED) |
  170. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO09_PUS_V(100K_OHM_PU) |
  171. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO09_PUE_V(PULL) |
  172. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO09_PKE_V(ENABLED) |
  173. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO09_ODE_V(DISABLED) |
  174. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO09_SPEED_V(100MHZ) |
  175. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO09_DSE_V(40_OHM) |
  176. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO09_SRE_V(SLOW));
  177. // Pad GPIO09 is involved in Daisy Chain.
  178. // Input Select Register:
  179. // IOMUXC_ESAI_RX_FS_SELECT_INPUT(0x020E082C)
  180. // DAISY [0] - MUX Mode Select Field Reset: ENET_REF_CLK_ALT2
  181. // Selecting Pads Involved in Daisy Chain.
  182. // ENET_REF_CLK_ALT2 (0) - Select signal esai ESAI_RX_FS as input from pad ENET_REF_CLK(ALT2).
  183. // GPIO09_ALT0 (1) - Select signal esai ESAI_RX_FS as input from pad GPIO09(ALT0).
  184. HW_IOMUXC_ESAI_RX_FS_SELECT_INPUT_WR(
  185. BF_IOMUXC_ESAI_RX_FS_SELECT_INPUT_DAISY_V(GPIO09_ALT0));
  186. // Config esai.ESAI_TX0 to pad GPIO17(R1)
  187. // HW_IOMUXC_SW_MUX_CTL_PAD_GPIO17_WR(0x00000000);
  188. // HW_IOMUXC_SW_PAD_CTL_PAD_GPIO17_WR(0x0001B0B0);
  189. // HW_IOMUXC_ESAI_SDO0_SELECT_INPUT_WR(0x00000000);
  190. // Mux Register:
  191. // IOMUXC_SW_MUX_CTL_PAD_GPIO17(0x020E0218)
  192. // SION [4] - Software Input On Field Reset: DISABLED
  193. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  194. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  195. // ENABLED (1) - Force input path of pad.
  196. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  197. // Select iomux modes to be used for pad.
  198. // ALT0 (0) - Select instance: esai signal: ESAI_TX0
  199. // ALT1 (1) - Select instance: enet signal: ENET_1588_EVENT3_IN
  200. // ALT2 (2) - Select instance: ccm signal: CCM_PMIC_READY
  201. // ALT3 (3) - Select instance: sdma signal: SDMA_EXT_EVENT0
  202. // ALT4 (4) - Select instance: spdif signal: SPDIF_OUT
  203. // ALT5 (5) - Select instance: gpio7 signal: GPIO7_IO12
  204. HW_IOMUXC_SW_MUX_CTL_PAD_GPIO17_WR(
  205. BF_IOMUXC_SW_MUX_CTL_PAD_GPIO17_SION_V(DISABLED) |
  206. BF_IOMUXC_SW_MUX_CTL_PAD_GPIO17_MUX_MODE_V(ALT0));
  207. // Pad Control Register:
  208. // IOMUXC_SW_PAD_CTL_PAD_GPIO17(0x020E05E8)
  209. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  210. // DISABLED (0) - CMOS input
  211. // ENABLED (1) - Schmitt trigger input
  212. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  213. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  214. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  215. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  216. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  217. // PUE [13] - Pull / Keep Select Field Reset: PULL
  218. // KEEP (0) - Keeper Enabled
  219. // PULL (1) - Pull Enabled
  220. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  221. // DISABLED (0) - Pull/Keeper Disabled
  222. // ENABLED (1) - Pull/Keeper Enabled
  223. // ODE [11] - Open Drain Enable Field Reset: DISABLED
  224. // Enables open drain of the pin.
  225. // DISABLED (0) - Output is CMOS.
  226. // ENABLED (1) - Output is Open Drain.
  227. // SPEED [7:6] - Speed Field Reset: 100MHZ
  228. // NOTE: Read Only Field
  229. // The value of this field is fixed and cannot be changed.
  230. // RESERVED0 (0) - Reserved
  231. // 50MHZ (1) - Low (50 MHz)
  232. // 100MHZ (2) - Medium (100 MHz)
  233. // 200MHZ (3) - Maximum (200 MHz)
  234. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  235. // HIZ (0) - HI-Z
  236. // 240_OHM (1) - 240 Ohm
  237. // 120_OHM (2) - 120 Ohm
  238. // 80_OHM (3) - 80 Ohm
  239. // 60_OHM (4) - 60 Ohm
  240. // 48_OHM (5) - 48 Ohm
  241. // 40_OHM (6) - 40 Ohm
  242. // 34_OHM (7) - 34 Ohm
  243. // SRE [0] - Slew Rate Field Reset: SLOW
  244. // Slew rate control.
  245. // SLOW (0) - Slow Slew Rate
  246. // FAST (1) - Fast Slew Rate
  247. HW_IOMUXC_SW_PAD_CTL_PAD_GPIO17_WR(
  248. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO17_HYS_V(ENABLED) |
  249. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO17_PUS_V(100K_OHM_PU) |
  250. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO17_PUE_V(PULL) |
  251. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO17_PKE_V(ENABLED) |
  252. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO17_ODE_V(DISABLED) |
  253. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO17_DSE_V(40_OHM) |
  254. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO17_SRE_V(SLOW));
  255. // Pad GPIO17 is involved in Daisy Chain.
  256. // Input Select Register:
  257. // IOMUXC_ESAI_SDO0_SELECT_INPUT(0x020E0844)
  258. // DAISY [0] - MUX Mode Select Field Reset: GPIO17_ALT0
  259. // Selecting Pads Involved in Daisy Chain.
  260. // GPIO17_ALT0 (0) - Select signal esai ESAI_TX0 as input from pad GPIO17(ALT0).
  261. // NAND_CS2_B_ALT2 (1) - Select signal esai ESAI_TX0 as input from pad NAND_CS2_B(ALT2).
  262. HW_IOMUXC_ESAI_SDO0_SELECT_INPUT_WR(
  263. BF_IOMUXC_ESAI_SDO0_SELECT_INPUT_DAISY_V(GPIO17_ALT0));
  264. // Config esai.ESAI_TX1 to pad NAND_CS3_B(D16)
  265. // HW_IOMUXC_SW_MUX_CTL_PAD_NAND_CS3_B_WR(0x00000002);
  266. // HW_IOMUXC_SW_PAD_CTL_PAD_NAND_CS3_B_WR(0x0001B0B0);
  267. // HW_IOMUXC_ESAI_SDO1_SELECT_INPUT_WR(0x00000001);
  268. // Mux Register:
  269. // IOMUXC_SW_MUX_CTL_PAD_NAND_CS3_B(0x020E0280)
  270. // SION [4] - Software Input On Field Reset: DISABLED
  271. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  272. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  273. // ENABLED (1) - Force input path of pad.
  274. // MUX_MODE [3:0] - MUX Mode Select Field Reset: ALT5
  275. // Select iomux modes to be used for pad.
  276. // ALT0 (0) - Select instance: gpmi signal: NAND_CE3_B
  277. // ALT1 (1) - Select instance: ipu1 signal: IPU1_SISG1
  278. // ALT2 (2) - Select instance: esai signal: ESAI_TX1
  279. // ALT3 (3) - Select instance: eim signal: EIM_ADDR26
  280. // ALT5 (5) - Select instance: gpio6 signal: GPIO6_IO16
  281. // ALT9 (9) - Select instance: i2c4 signal: I2C4_SDA
  282. HW_IOMUXC_SW_MUX_CTL_PAD_NAND_CS3_B_WR(
  283. BF_IOMUXC_SW_MUX_CTL_PAD_NAND_CS3_B_SION_V(DISABLED) |
  284. BF_IOMUXC_SW_MUX_CTL_PAD_NAND_CS3_B_MUX_MODE_V(ALT2));
  285. // Pad Control Register:
  286. // IOMUXC_SW_PAD_CTL_PAD_NAND_CS3_B(0x020E0668)
  287. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  288. // DISABLED (0) - CMOS input
  289. // ENABLED (1) - Schmitt trigger input
  290. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  291. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  292. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  293. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  294. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  295. // PUE [13] - Pull / Keep Select Field Reset: PULL
  296. // KEEP (0) - Keeper Enabled
  297. // PULL (1) - Pull Enabled
  298. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  299. // DISABLED (0) - Pull/Keeper Disabled
  300. // ENABLED (1) - Pull/Keeper Enabled
  301. // ODE [11] - Open Drain Enable Field Reset: DISABLED
  302. // Enables open drain of the pin.
  303. // DISABLED (0) - Output is CMOS.
  304. // ENABLED (1) - Output is Open Drain.
  305. // SPEED [7:6] - Speed Field Reset: 100MHZ
  306. // RESERVED0 (0) - Reserved
  307. // 50MHZ (1) - Low (50 MHz)
  308. // 100MHZ (2) - Medium (100 MHz)
  309. // 200MHZ (3) - Maximum (200 MHz)
  310. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  311. // HIZ (0) - HI-Z
  312. // 240_OHM (1) - 240 Ohm
  313. // 120_OHM (2) - 120 Ohm
  314. // 80_OHM (3) - 80 Ohm
  315. // 60_OHM (4) - 60 Ohm
  316. // 48_OHM (5) - 48 Ohm
  317. // 40_OHM (6) - 40 Ohm
  318. // 34_OHM (7) - 34 Ohm
  319. // SRE [0] - Slew Rate Field Reset: SLOW
  320. // Slew rate control.
  321. // SLOW (0) - Slow Slew Rate
  322. // FAST (1) - Fast Slew Rate
  323. HW_IOMUXC_SW_PAD_CTL_PAD_NAND_CS3_B_WR(
  324. BF_IOMUXC_SW_PAD_CTL_PAD_NAND_CS3_B_HYS_V(ENABLED) |
  325. BF_IOMUXC_SW_PAD_CTL_PAD_NAND_CS3_B_PUS_V(100K_OHM_PU) |
  326. BF_IOMUXC_SW_PAD_CTL_PAD_NAND_CS3_B_PUE_V(PULL) |
  327. BF_IOMUXC_SW_PAD_CTL_PAD_NAND_CS3_B_PKE_V(ENABLED) |
  328. BF_IOMUXC_SW_PAD_CTL_PAD_NAND_CS3_B_ODE_V(DISABLED) |
  329. BF_IOMUXC_SW_PAD_CTL_PAD_NAND_CS3_B_SPEED_V(100MHZ) |
  330. BF_IOMUXC_SW_PAD_CTL_PAD_NAND_CS3_B_DSE_V(40_OHM) |
  331. BF_IOMUXC_SW_PAD_CTL_PAD_NAND_CS3_B_SRE_V(SLOW));
  332. // Pad NAND_CS3_B is involved in Daisy Chain.
  333. // Input Select Register:
  334. // IOMUXC_ESAI_SDO1_SELECT_INPUT(0x020E0848)
  335. // DAISY [0] - MUX Mode Select Field Reset: GPIO18_ALT0
  336. // Selecting Pads Involved in Daisy Chain.
  337. // GPIO18_ALT0 (0) - Select signal esai ESAI_TX1 as input from pad GPIO18(ALT0).
  338. // NAND_CS3_B_ALT2 (1) - Select signal esai ESAI_TX1 as input from pad NAND_CS3_B(ALT2).
  339. HW_IOMUXC_ESAI_SDO1_SELECT_INPUT_WR(
  340. BF_IOMUXC_ESAI_SDO1_SELECT_INPUT_DAISY_V(NAND_CS3_B_ALT2));
  341. // Config esai.ESAI_TX2_RX3 to pad GPIO05(R4)
  342. // HW_IOMUXC_SW_MUX_CTL_PAD_GPIO05_WR(0x00000000);
  343. // HW_IOMUXC_SW_PAD_CTL_PAD_GPIO05_WR(0x0001B0B0);
  344. // HW_IOMUXC_ESAI_SDO2_SDI3_SELECT_INPUT_WR(0x00000001);
  345. // Mux Register:
  346. // IOMUXC_SW_MUX_CTL_PAD_GPIO05(0x020E0230)
  347. // SION [4] - Software Input On Field Reset: DISABLED
  348. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  349. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  350. // ENABLED (1) - Force input path of pad.
  351. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  352. // Select iomux modes to be used for pad.
  353. // ALT0 (0) - Select instance: esai signal: ESAI_TX2_RX3
  354. // ALT2 (2) - Select instance: kpp signal: KEY_ROW7
  355. // ALT3 (3) - Select instance: ccm signal: CCM_CLKO1
  356. // ALT5 (5) - Select instance: gpio1 signal: GPIO1_IO05
  357. // ALT6 (6) - Select instance: i2c3 signal: I2C3_SCL
  358. // ALT7 (7) - Select instance: arm signal: ARM_EVENTI
  359. HW_IOMUXC_SW_MUX_CTL_PAD_GPIO05_WR(
  360. BF_IOMUXC_SW_MUX_CTL_PAD_GPIO05_SION_V(DISABLED) |
  361. BF_IOMUXC_SW_MUX_CTL_PAD_GPIO05_MUX_MODE_V(ALT0));
  362. // Pad Control Register:
  363. // IOMUXC_SW_PAD_CTL_PAD_GPIO05(0x020E0600)
  364. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  365. // DISABLED (0) - CMOS input
  366. // ENABLED (1) - Schmitt trigger input
  367. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  368. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  369. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  370. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  371. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  372. // PUE [13] - Pull / Keep Select Field Reset: PULL
  373. // KEEP (0) - Keeper Enabled
  374. // PULL (1) - Pull Enabled
  375. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  376. // DISABLED (0) - Pull/Keeper Disabled
  377. // ENABLED (1) - Pull/Keeper Enabled
  378. // ODE [11] - Open Drain Enable Field Reset: DISABLED
  379. // Enables open drain of the pin.
  380. // DISABLED (0) - Output is CMOS.
  381. // ENABLED (1) - Output is Open Drain.
  382. // SPEED [7:6] - Speed Field Reset: 100MHZ
  383. // RESERVED0 (0) - Reserved
  384. // 50MHZ (1) - Low (50 MHz)
  385. // 100MHZ (2) - Medium (100 MHz)
  386. // 200MHZ (3) - Maximum (200 MHz)
  387. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  388. // HIZ (0) - HI-Z
  389. // 240_OHM (1) - 240 Ohm
  390. // 120_OHM (2) - 120 Ohm
  391. // 80_OHM (3) - 80 Ohm
  392. // 60_OHM (4) - 60 Ohm
  393. // 48_OHM (5) - 48 Ohm
  394. // 40_OHM (6) - 40 Ohm
  395. // 34_OHM (7) - 34 Ohm
  396. // SRE [0] - Slew Rate Field Reset: SLOW
  397. // Slew rate control.
  398. // SLOW (0) - Slow Slew Rate
  399. // FAST (1) - Fast Slew Rate
  400. HW_IOMUXC_SW_PAD_CTL_PAD_GPIO05_WR(
  401. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO05_HYS_V(ENABLED) |
  402. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO05_PUS_V(100K_OHM_PU) |
  403. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO05_PUE_V(PULL) |
  404. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO05_PKE_V(ENABLED) |
  405. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO05_ODE_V(DISABLED) |
  406. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO05_SPEED_V(100MHZ) |
  407. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO05_DSE_V(40_OHM) |
  408. BF_IOMUXC_SW_PAD_CTL_PAD_GPIO05_SRE_V(SLOW));
  409. // Pad GPIO05 is involved in Daisy Chain.
  410. // Input Select Register:
  411. // IOMUXC_ESAI_SDO2_SDI3_SELECT_INPUT(0x020E084C)
  412. // DAISY [0] - MUX Mode Select Field Reset: ENET_TX_DATA1_ALT2
  413. // Selecting Pads Involved in Daisy Chain.
  414. // ENET_TX_DATA1_ALT2 (0) - Select signal esai ESAI_TX2_RX3 as input from pad ENET_TX_DATA1(ALT2).
  415. // GPIO05_ALT0 (1) - Select signal esai ESAI_TX2_RX3 as input from pad GPIO05(ALT0).
  416. HW_IOMUXC_ESAI_SDO2_SDI3_SELECT_INPUT_WR(
  417. BF_IOMUXC_ESAI_SDO2_SDI3_SELECT_INPUT_DAISY_V(GPIO05_ALT0));
  418. // Config esai.ESAI_TX3_RX2 to pad ENET_TX_EN(V21)
  419. // HW_IOMUXC_SW_MUX_CTL_PAD_ENET_TX_EN_WR(0x00000002);
  420. // HW_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_EN_WR(0x0001B0B0);
  421. // HW_IOMUXC_ESAI_SDO3_SDI2_SELECT_INPUT_WR(0x00000000);
  422. // Mux Register:
  423. // IOMUXC_SW_MUX_CTL_PAD_ENET_TX_EN(0x020E0200)
  424. // SION [4] - Software Input On Field Reset: DISABLED
  425. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  426. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  427. // ENABLED (1) - Force input path of pad.
  428. // MUX_MODE [3:0] - MUX Mode Select Field Reset: ALT5
  429. // Select iomux modes to be used for pad.
  430. // ALT1 (1) - Select instance: enet signal: ENET_TX_EN
  431. // ALT2 (2) - Select instance: esai signal: ESAI_TX3_RX2
  432. // ALT5 (5) - Select instance: gpio1 signal: GPIO1_IO28
  433. // ALT9 (9) - Select instance: i2c4 signal: I2C4_SCL
  434. HW_IOMUXC_SW_MUX_CTL_PAD_ENET_TX_EN_WR(
  435. BF_IOMUXC_SW_MUX_CTL_PAD_ENET_TX_EN_SION_V(DISABLED) |
  436. BF_IOMUXC_SW_MUX_CTL_PAD_ENET_TX_EN_MUX_MODE_V(ALT2));
  437. // Pad Control Register:
  438. // IOMUXC_SW_PAD_CTL_PAD_ENET_TX_EN(0x020E05D0)
  439. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  440. // DISABLED (0) - CMOS input
  441. // ENABLED (1) - Schmitt trigger input
  442. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  443. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  444. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  445. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  446. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  447. // PUE [13] - Pull / Keep Select Field Reset: PULL
  448. // KEEP (0) - Keeper Enabled
  449. // PULL (1) - Pull Enabled
  450. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  451. // DISABLED (0) - Pull/Keeper Disabled
  452. // ENABLED (1) - Pull/Keeper Enabled
  453. // ODE [11] - Open Drain Enable Field Reset: DISABLED
  454. // Enables open drain of the pin.
  455. // DISABLED (0) - Output is CMOS.
  456. // ENABLED (1) - Output is Open Drain.
  457. // SPEED [7:6] - Speed Field Reset: 100MHZ
  458. // RESERVED0 (0) - Reserved
  459. // 50MHZ (1) - Low (50 MHz)
  460. // 100MHZ (2) - Medium (100 MHz)
  461. // 200MHZ (3) - Maximum (200 MHz)
  462. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  463. // HIZ (0) - HI-Z
  464. // 240_OHM (1) - 240 Ohm
  465. // 120_OHM (2) - 120 Ohm
  466. // 80_OHM (3) - 80 Ohm
  467. // 60_OHM (4) - 60 Ohm
  468. // 48_OHM (5) - 48 Ohm
  469. // 40_OHM (6) - 40 Ohm
  470. // 34_OHM (7) - 34 Ohm
  471. // SRE [0] - Slew Rate Field Reset: SLOW
  472. // Slew rate control.
  473. // SLOW (0) - Slow Slew Rate
  474. // FAST (1) - Fast Slew Rate
  475. HW_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_EN_WR(
  476. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_EN_HYS_V(ENABLED) |
  477. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_EN_PUS_V(100K_OHM_PU) |
  478. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_EN_PUE_V(PULL) |
  479. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_EN_PKE_V(ENABLED) |
  480. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_EN_ODE_V(DISABLED) |
  481. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_EN_SPEED_V(100MHZ) |
  482. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_EN_DSE_V(40_OHM) |
  483. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_EN_SRE_V(SLOW));
  484. // Pad ENET_TX_EN is involved in Daisy Chain.
  485. // Input Select Register:
  486. // IOMUXC_ESAI_SDO3_SDI2_SELECT_INPUT(0x020E0850)
  487. // DAISY [0] - MUX Mode Select Field Reset: ENET_TX_EN_ALT2
  488. // Selecting Pads Involved in Daisy Chain.
  489. // ENET_TX_EN_ALT2 (0) - Select signal esai ESAI_TX3_RX2 as input from pad ENET_TX_EN(ALT2).
  490. // GPIO16_ALT0 (1) - Select signal esai ESAI_TX3_RX2 as input from pad GPIO16(ALT0).
  491. HW_IOMUXC_ESAI_SDO3_SDI2_SELECT_INPUT_WR(
  492. BF_IOMUXC_ESAI_SDO3_SDI2_SELECT_INPUT_DAISY_V(ENET_TX_EN_ALT2));
  493. // Config esai.ESAI_TX4_RX1 to pad ENET_TX_DATA0(U20)
  494. // HW_IOMUXC_SW_MUX_CTL_PAD_ENET_TX_DATA0_WR(0x00000002);
  495. // HW_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_DATA0_WR(0x0001B0B0);
  496. // HW_IOMUXC_ESAI_SDO4_SDI1_SELECT_INPUT_WR(0x00000000);
  497. // Mux Register:
  498. // IOMUXC_SW_MUX_CTL_PAD_ENET_TX_DATA0(0x020E0204)
  499. // SION [4] - Software Input On Field Reset: DISABLED
  500. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  501. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  502. // ENABLED (1) - Force input path of pad.
  503. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  504. // Select iomux modes to be used for pad.
  505. // ALT1 (1) - Select instance: enet signal: ENET_TX_DATA0
  506. // ALT2 (2) - Select instance: esai signal: ESAI_TX4_RX1
  507. // ALT5 (5) - Select instance: gpio1 signal: GPIO1_IO30
  508. HW_IOMUXC_SW_MUX_CTL_PAD_ENET_TX_DATA0_WR(
  509. BF_IOMUXC_SW_MUX_CTL_PAD_ENET_TX_DATA0_SION_V(DISABLED) |
  510. BF_IOMUXC_SW_MUX_CTL_PAD_ENET_TX_DATA0_MUX_MODE_V(ALT2));
  511. // Pad Control Register:
  512. // IOMUXC_SW_PAD_CTL_PAD_ENET_TX_DATA0(0x020E05D4)
  513. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  514. // DISABLED (0) - CMOS input
  515. // ENABLED (1) - Schmitt trigger input
  516. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  517. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  518. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  519. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  520. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  521. // PUE [13] - Pull / Keep Select Field Reset: PULL
  522. // KEEP (0) - Keeper Enabled
  523. // PULL (1) - Pull Enabled
  524. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  525. // DISABLED (0) - Pull/Keeper Disabled
  526. // ENABLED (1) - Pull/Keeper Enabled
  527. // ODE [11] - Open Drain Enable Field Reset: DISABLED
  528. // Enables open drain of the pin.
  529. // DISABLED (0) - Output is CMOS.
  530. // ENABLED (1) - Output is Open Drain.
  531. // SPEED [7:6] - Speed Field Reset: 100MHZ
  532. // RESERVED0 (0) - Reserved
  533. // 50MHZ (1) - Low (50 MHz)
  534. // 100MHZ (2) - Medium (100 MHz)
  535. // 200MHZ (3) - Maximum (200 MHz)
  536. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  537. // HIZ (0) - HI-Z
  538. // 240_OHM (1) - 240 Ohm
  539. // 120_OHM (2) - 120 Ohm
  540. // 80_OHM (3) - 80 Ohm
  541. // 60_OHM (4) - 60 Ohm
  542. // 48_OHM (5) - 48 Ohm
  543. // 40_OHM (6) - 40 Ohm
  544. // 34_OHM (7) - 34 Ohm
  545. // SRE [0] - Slew Rate Field Reset: SLOW
  546. // Slew rate control.
  547. // SLOW (0) - Slow Slew Rate
  548. // FAST (1) - Fast Slew Rate
  549. HW_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_DATA0_WR(
  550. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_DATA0_HYS_V(ENABLED) |
  551. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_DATA0_PUS_V(100K_OHM_PU) |
  552. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_DATA0_PUE_V(PULL) |
  553. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_DATA0_PKE_V(ENABLED) |
  554. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_DATA0_ODE_V(DISABLED) |
  555. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_DATA0_SPEED_V(100MHZ) |
  556. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_DATA0_DSE_V(40_OHM) |
  557. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_TX_DATA0_SRE_V(SLOW));
  558. // Pad ENET_TX_DATA0 is involved in Daisy Chain.
  559. // Input Select Register:
  560. // IOMUXC_ESAI_SDO4_SDI1_SELECT_INPUT(0x020E0854)
  561. // DAISY [0] - MUX Mode Select Field Reset: ENET_TX_DATA0_ALT2
  562. // Selecting Pads Involved in Daisy Chain.
  563. // ENET_TX_DATA0_ALT2 (0) - Select signal esai ESAI_TX4_RX1 as input from pad ENET_TX_DATA0(ALT2).
  564. // GPIO07_ALT0 (1) - Select signal esai ESAI_TX4_RX1 as input from pad GPIO07(ALT0).
  565. HW_IOMUXC_ESAI_SDO4_SDI1_SELECT_INPUT_WR(
  566. BF_IOMUXC_ESAI_SDO4_SDI1_SELECT_INPUT_DAISY_V(ENET_TX_DATA0_ALT2));
  567. // Config esai.ESAI_TX5_RX0 to pad ENET_MDC(V20)
  568. // HW_IOMUXC_SW_MUX_CTL_PAD_ENET_MDC_WR(0x00000002);
  569. // HW_IOMUXC_SW_PAD_CTL_PAD_ENET_MDC_WR(0x0001B0B0);
  570. // HW_IOMUXC_ESAI_SDO5_SDI0_SELECT_INPUT_WR(0x00000000);
  571. // Mux Register:
  572. // IOMUXC_SW_MUX_CTL_PAD_ENET_MDC(0x020E01E8)
  573. // SION [4] - Software Input On Field Reset: DISABLED
  574. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  575. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  576. // ENABLED (1) - Force input path of pad.
  577. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  578. // Select iomux modes to be used for pad.
  579. // ALT0 (0) - Select instance: mlb signal: MLB_DATA
  580. // ALT1 (1) - Select instance: enet signal: ENET_MDC
  581. // ALT2 (2) - Select instance: esai signal: ESAI_TX5_RX0
  582. // ALT4 (4) - Select instance: enet signal: ENET_1588_EVENT1_IN
  583. // ALT5 (5) - Select instance: gpio1 signal: GPIO1_IO31
  584. HW_IOMUXC_SW_MUX_CTL_PAD_ENET_MDC_WR(
  585. BF_IOMUXC_SW_MUX_CTL_PAD_ENET_MDC_SION_V(DISABLED) |
  586. BF_IOMUXC_SW_MUX_CTL_PAD_ENET_MDC_MUX_MODE_V(ALT2));
  587. // Pad Control Register:
  588. // IOMUXC_SW_PAD_CTL_PAD_ENET_MDC(0x020E05B8)
  589. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  590. // DISABLED (0) - CMOS input
  591. // ENABLED (1) - Schmitt trigger input
  592. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  593. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  594. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  595. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  596. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  597. // PUE [13] - Pull / Keep Select Field Reset: PULL
  598. // KEEP (0) - Keeper Enabled
  599. // PULL (1) - Pull Enabled
  600. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  601. // DISABLED (0) - Pull/Keeper Disabled
  602. // ENABLED (1) - Pull/Keeper Enabled
  603. // ODE [11] - Open Drain Enable Field Reset: DISABLED
  604. // Enables open drain of the pin.
  605. // DISABLED (0) - Output is CMOS.
  606. // ENABLED (1) - Output is Open Drain.
  607. // SPEED [7:6] - Speed Field Reset: 100MHZ
  608. // RESERVED0 (0) - Reserved
  609. // 50MHZ (1) - Low (50 MHz)
  610. // 100MHZ (2) - Medium (100 MHz)
  611. // 200MHZ (3) - Maximum (200 MHz)
  612. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  613. // HIZ (0) - HI-Z
  614. // 240_OHM (1) - 240 Ohm
  615. // 120_OHM (2) - 120 Ohm
  616. // 80_OHM (3) - 80 Ohm
  617. // 60_OHM (4) - 60 Ohm
  618. // 48_OHM (5) - 48 Ohm
  619. // 40_OHM (6) - 40 Ohm
  620. // 34_OHM (7) - 34 Ohm
  621. // SRE [0] - Slew Rate Field Reset: SLOW
  622. // Slew rate control.
  623. // SLOW (0) - Slow Slew Rate
  624. // FAST (1) - Fast Slew Rate
  625. HW_IOMUXC_SW_PAD_CTL_PAD_ENET_MDC_WR(
  626. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDC_HYS_V(ENABLED) |
  627. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDC_PUS_V(100K_OHM_PU) |
  628. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDC_PUE_V(PULL) |
  629. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDC_PKE_V(ENABLED) |
  630. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDC_ODE_V(DISABLED) |
  631. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDC_SPEED_V(100MHZ) |
  632. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDC_DSE_V(40_OHM) |
  633. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_MDC_SRE_V(SLOW));
  634. // Pad ENET_MDC is involved in Daisy Chain.
  635. // Input Select Register:
  636. // IOMUXC_ESAI_SDO5_SDI0_SELECT_INPUT(0x020E0858)
  637. // DAISY [0] - MUX Mode Select Field Reset: ENET_MDC_ALT2
  638. // Selecting Pads Involved in Daisy Chain.
  639. // ENET_MDC_ALT2 (0) - Select signal esai ESAI_TX5_RX0 as input from pad ENET_MDC(ALT2).
  640. // GPIO08_ALT0 (1) - Select signal esai ESAI_TX5_RX0 as input from pad GPIO08(ALT0).
  641. HW_IOMUXC_ESAI_SDO5_SDI0_SELECT_INPUT_WR(
  642. BF_IOMUXC_ESAI_SDO5_SDI0_SELECT_INPUT_DAISY_V(ENET_MDC_ALT2));
  643. // Config esai.ESAI_TX_CLK to pad ENET_CRS_DV(U21)
  644. // HW_IOMUXC_SW_MUX_CTL_PAD_ENET_CRS_DV_WR(0x00000002);
  645. // HW_IOMUXC_SW_PAD_CTL_PAD_ENET_CRS_DV_WR(0x0001B0B0);
  646. // HW_IOMUXC_ESAI_TX_CLK_SELECT_INPUT_WR(0x00000000);
  647. // Mux Register:
  648. // IOMUXC_SW_MUX_CTL_PAD_ENET_CRS_DV(0x020E01E4)
  649. // SION [4] - Software Input On Field Reset: DISABLED
  650. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  651. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  652. // ENABLED (1) - Force input path of pad.
  653. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  654. // Select iomux modes to be used for pad.
  655. // ALT1 (1) - Select instance: enet signal: ENET_RX_EN
  656. // ALT2 (2) - Select instance: esai signal: ESAI_TX_CLK
  657. // ALT3 (3) - Select instance: spdif signal: SPDIF_EXT_CLK
  658. // ALT5 (5) - Select instance: gpio1 signal: GPIO1_IO25
  659. HW_IOMUXC_SW_MUX_CTL_PAD_ENET_CRS_DV_WR(
  660. BF_IOMUXC_SW_MUX_CTL_PAD_ENET_CRS_DV_SION_V(DISABLED) |
  661. BF_IOMUXC_SW_MUX_CTL_PAD_ENET_CRS_DV_MUX_MODE_V(ALT2));
  662. // Pad Control Register:
  663. // IOMUXC_SW_PAD_CTL_PAD_ENET_CRS_DV(0x020E05B4)
  664. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  665. // DISABLED (0) - CMOS input
  666. // ENABLED (1) - Schmitt trigger input
  667. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  668. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  669. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  670. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  671. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  672. // PUE [13] - Pull / Keep Select Field Reset: PULL
  673. // KEEP (0) - Keeper Enabled
  674. // PULL (1) - Pull Enabled
  675. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  676. // DISABLED (0) - Pull/Keeper Disabled
  677. // ENABLED (1) - Pull/Keeper Enabled
  678. // ODE [11] - Open Drain Enable Field Reset: DISABLED
  679. // Enables open drain of the pin.
  680. // DISABLED (0) - Output is CMOS.
  681. // ENABLED (1) - Output is Open Drain.
  682. // SPEED [7:6] - Speed Field Reset: 100MHZ
  683. // NOTE: Read Only Field
  684. // The value of this field is fixed and cannot be changed.
  685. // RESERVED0 (0) - Reserved
  686. // 50MHZ (1) - Low (50 MHz)
  687. // 100MHZ (2) - Medium (100 MHz)
  688. // 200MHZ (3) - Maximum (200 MHz)
  689. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  690. // HIZ (0) - HI-Z
  691. // 240_OHM (1) - 240 Ohm
  692. // 120_OHM (2) - 120 Ohm
  693. // 80_OHM (3) - 80 Ohm
  694. // 60_OHM (4) - 60 Ohm
  695. // 48_OHM (5) - 48 Ohm
  696. // 40_OHM (6) - 40 Ohm
  697. // 34_OHM (7) - 34 Ohm
  698. // SRE [0] - Slew Rate Field Reset: SLOW
  699. // Slew rate control.
  700. // SLOW (0) - Slow Slew Rate
  701. // FAST (1) - Fast Slew Rate
  702. HW_IOMUXC_SW_PAD_CTL_PAD_ENET_CRS_DV_WR(
  703. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_CRS_DV_HYS_V(ENABLED) |
  704. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_CRS_DV_PUS_V(100K_OHM_PU) |
  705. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_CRS_DV_PUE_V(PULL) |
  706. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_CRS_DV_PKE_V(ENABLED) |
  707. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_CRS_DV_ODE_V(DISABLED) |
  708. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_CRS_DV_DSE_V(40_OHM) |
  709. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_CRS_DV_SRE_V(SLOW));
  710. // Pad ENET_CRS_DV is involved in Daisy Chain.
  711. // Input Select Register:
  712. // IOMUXC_ESAI_TX_CLK_SELECT_INPUT(0x020E0840)
  713. // DAISY [0] - MUX Mode Select Field Reset: ENET_CRS_DV_ALT2
  714. // Selecting Pads Involved in Daisy Chain.
  715. // ENET_CRS_DV_ALT2 (0) - Select signal esai ESAI_TX_CLK as input from pad ENET_CRS_DV(ALT2).
  716. // GPIO06_ALT0 (1) - Select signal esai ESAI_TX_CLK as input from pad GPIO06(ALT0).
  717. HW_IOMUXC_ESAI_TX_CLK_SELECT_INPUT_WR(
  718. BF_IOMUXC_ESAI_TX_CLK_SELECT_INPUT_DAISY_V(ENET_CRS_DV_ALT2));
  719. // Config esai.ESAI_TX_FS to pad ENET_RX_DATA1(W22)
  720. // HW_IOMUXC_SW_MUX_CTL_PAD_ENET_RX_DATA1_WR(0x00000002);
  721. // HW_IOMUXC_SW_PAD_CTL_PAD_ENET_RX_DATA1_WR(0x0001B0B0);
  722. // HW_IOMUXC_ESAI_TX_FS_SELECT_INPUT_WR(0x00000000);
  723. // Mux Register:
  724. // IOMUXC_SW_MUX_CTL_PAD_ENET_RX_DATA1(0x020E01FC)
  725. // SION [4] - Software Input On Field Reset: DISABLED
  726. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  727. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  728. // ENABLED (1) - Force input path of pad.
  729. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  730. // Select iomux modes to be used for pad.
  731. // ALT0 (0) - Select instance: mlb signal: MLB_SIG
  732. // ALT1 (1) - Select instance: enet signal: ENET_RX_DATA1
  733. // ALT2 (2) - Select instance: esai signal: ESAI_TX_FS
  734. // ALT4 (4) - Select instance: enet signal: ENET_1588_EVENT3_OUT
  735. // ALT5 (5) - Select instance: gpio1 signal: GPIO1_IO26
  736. HW_IOMUXC_SW_MUX_CTL_PAD_ENET_RX_DATA1_WR(
  737. BF_IOMUXC_SW_MUX_CTL_PAD_ENET_RX_DATA1_SION_V(DISABLED) |
  738. BF_IOMUXC_SW_MUX_CTL_PAD_ENET_RX_DATA1_MUX_MODE_V(ALT2));
  739. // Pad Control Register:
  740. // IOMUXC_SW_PAD_CTL_PAD_ENET_RX_DATA1(0x020E05CC)
  741. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  742. // DISABLED (0) - CMOS input
  743. // ENABLED (1) - Schmitt trigger input
  744. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  745. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  746. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  747. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  748. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  749. // PUE [13] - Pull / Keep Select Field Reset: PULL
  750. // KEEP (0) - Keeper Enabled
  751. // PULL (1) - Pull Enabled
  752. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  753. // DISABLED (0) - Pull/Keeper Disabled
  754. // ENABLED (1) - Pull/Keeper Enabled
  755. // ODE [11] - Open Drain Enable Field Reset: DISABLED
  756. // Enables open drain of the pin.
  757. // DISABLED (0) - Output is CMOS.
  758. // ENABLED (1) - Output is Open Drain.
  759. // SPEED [7:6] - Speed Field Reset: 100MHZ
  760. // RESERVED0 (0) - Reserved
  761. // 50MHZ (1) - Low (50 MHz)
  762. // 100MHZ (2) - Medium (100 MHz)
  763. // 200MHZ (3) - Maximum (200 MHz)
  764. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  765. // HIZ (0) - HI-Z
  766. // 240_OHM (1) - 240 Ohm
  767. // 120_OHM (2) - 120 Ohm
  768. // 80_OHM (3) - 80 Ohm
  769. // 60_OHM (4) - 60 Ohm
  770. // 48_OHM (5) - 48 Ohm
  771. // 40_OHM (6) - 40 Ohm
  772. // 34_OHM (7) - 34 Ohm
  773. // SRE [0] - Slew Rate Field Reset: SLOW
  774. // Slew rate control.
  775. // SLOW (0) - Slow Slew Rate
  776. // FAST (1) - Fast Slew Rate
  777. HW_IOMUXC_SW_PAD_CTL_PAD_ENET_RX_DATA1_WR(
  778. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_RX_DATA1_HYS_V(ENABLED) |
  779. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_RX_DATA1_PUS_V(100K_OHM_PU) |
  780. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_RX_DATA1_PUE_V(PULL) |
  781. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_RX_DATA1_PKE_V(ENABLED) |
  782. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_RX_DATA1_ODE_V(DISABLED) |
  783. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_RX_DATA1_SPEED_V(100MHZ) |
  784. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_RX_DATA1_DSE_V(40_OHM) |
  785. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_RX_DATA1_SRE_V(SLOW));
  786. // Pad ENET_RX_DATA1 is involved in Daisy Chain.
  787. // Input Select Register:
  788. // IOMUXC_ESAI_TX_FS_SELECT_INPUT(0x020E0830)
  789. // DAISY [0] - MUX Mode Select Field Reset: ENET_RX_DATA1_ALT2
  790. // Selecting Pads Involved in Daisy Chain.
  791. // ENET_RX_DATA1_ALT2 (0) - Select signal esai ESAI_TX_FS as input from pad ENET_RX_DATA1(ALT2).
  792. // GPIO02_ALT0 (1) - Select signal esai ESAI_TX_FS as input from pad GPIO02(ALT0).
  793. HW_IOMUXC_ESAI_TX_FS_SELECT_INPUT_WR(
  794. BF_IOMUXC_ESAI_TX_FS_SELECT_INPUT_DAISY_V(ENET_RX_DATA1_ALT2));
  795. }