enet_iomux_config.c 75 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388
  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: enet_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 enet module.
  30. void enet_iomux_config(void)
  31. {
  32. // Config enet.ENET_MDC to pad KEY_COL2(W6)
  33. // HW_IOMUXC_SW_MUX_CTL_PAD_KEY_COL2_WR(0x00000004);
  34. // HW_IOMUXC_SW_PAD_CTL_PAD_KEY_COL2_WR(0x0001B0B0);
  35. // Mux Register:
  36. // IOMUXC_SW_MUX_CTL_PAD_KEY_COL2(0x020E024C)
  37. // SION [4] - Software Input On Field Reset: DISABLED
  38. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  39. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  40. // ENABLED (1) - Force input path of pad.
  41. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  42. // Select iomux modes to be used for pad.
  43. // ALT0 (0) - Select instance: ecspi1 signal: ECSPI1_SS1
  44. // ALT1 (1) - Select instance: enet signal: ENET_RX_DATA2
  45. // ALT2 (2) - Select instance: flexcan1 signal: FLEXCAN1_TX
  46. // ALT3 (3) - Select instance: kpp signal: KEY_COL2
  47. // ALT4 (4) - Select instance: enet signal: ENET_MDC
  48. // ALT5 (5) - Select instance: gpio4 signal: GPIO4_IO10
  49. // ALT6 (6) - Select instance: usb signal: USB_H1_PWR_CTL_WAKE
  50. HW_IOMUXC_SW_MUX_CTL_PAD_KEY_COL2_WR(
  51. BF_IOMUXC_SW_MUX_CTL_PAD_KEY_COL2_SION_V(DISABLED) |
  52. BF_IOMUXC_SW_MUX_CTL_PAD_KEY_COL2_MUX_MODE_V(ALT4));
  53. // Pad Control Register:
  54. // IOMUXC_SW_PAD_CTL_PAD_KEY_COL2(0x020E0634)
  55. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  56. // DISABLED (0) - CMOS input
  57. // ENABLED (1) - Schmitt trigger input
  58. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  59. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  60. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  61. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  62. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  63. // PUE [13] - Pull / Keep Select Field Reset: PULL
  64. // KEEP (0) - Keeper Enabled
  65. // PULL (1) - Pull Enabled
  66. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  67. // DISABLED (0) - Pull/Keeper Disabled
  68. // ENABLED (1) - Pull/Keeper Enabled
  69. // ODE [11] - Open Drain Enable Field Reset: DISABLED
  70. // Enables open drain of the pin.
  71. // DISABLED (0) - Output is CMOS.
  72. // ENABLED (1) - Output is Open Drain.
  73. // SPEED [7:6] - Speed Field Reset: 100MHZ
  74. // RESERVED0 (0) - Reserved
  75. // 50MHZ (1) - Low (50 MHz)
  76. // 100MHZ (2) - Medium (100 MHz)
  77. // 200MHZ (3) - Maximum (200 MHz)
  78. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  79. // HIZ (0) - HI-Z
  80. // 240_OHM (1) - 240 Ohm
  81. // 120_OHM (2) - 120 Ohm
  82. // 80_OHM (3) - 80 Ohm
  83. // 60_OHM (4) - 60 Ohm
  84. // 48_OHM (5) - 48 Ohm
  85. // 40_OHM (6) - 40 Ohm
  86. // 34_OHM (7) - 34 Ohm
  87. // SRE [0] - Slew Rate Field Reset: SLOW
  88. // Slew rate control.
  89. // SLOW (0) - Slow Slew Rate
  90. // FAST (1) - Fast Slew Rate
  91. HW_IOMUXC_SW_PAD_CTL_PAD_KEY_COL2_WR(
  92. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL2_HYS_V(ENABLED) |
  93. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL2_PUS_V(100K_OHM_PU) |
  94. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL2_PUE_V(PULL) |
  95. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL2_PKE_V(ENABLED) |
  96. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL2_ODE_V(DISABLED) |
  97. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL2_SPEED_V(100MHZ) |
  98. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL2_DSE_V(40_OHM) |
  99. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL2_SRE_V(SLOW));
  100. // Config enet.ENET_MDIO to pad KEY_COL1(U7)
  101. // HW_IOMUXC_SW_MUX_CTL_PAD_KEY_COL1_WR(0x00000001);
  102. // HW_IOMUXC_SW_PAD_CTL_PAD_KEY_COL1_WR(0x0001B0B0);
  103. // HW_IOMUXC_ENET_MAC0_MDIO_SELECT_INPUT_WR(0x00000001);
  104. // Mux Register:
  105. // IOMUXC_SW_MUX_CTL_PAD_KEY_COL1(0x020E0248)
  106. // SION [4] - Software Input On Field Reset: DISABLED
  107. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  108. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  109. // ENABLED (1) - Force input path of pad.
  110. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  111. // Select iomux modes to be used for pad.
  112. // ALT0 (0) - Select instance: ecspi1 signal: ECSPI1_MISO
  113. // ALT1 (1) - Select instance: enet signal: ENET_MDIO
  114. // ALT2 (2) - Select instance: audmux signal: AUD5_TXFS
  115. // ALT3 (3) - Select instance: kpp signal: KEY_COL1
  116. // ALT4 (4) - Select instance: uart5 signal: UART5_TX_DATA
  117. // ALT5 (5) - Select instance: gpio4 signal: GPIO4_IO08
  118. // ALT6 (6) - Select instance: usdhc1 signal: SD1_VSELECT
  119. HW_IOMUXC_SW_MUX_CTL_PAD_KEY_COL1_WR(
  120. BF_IOMUXC_SW_MUX_CTL_PAD_KEY_COL1_SION_V(DISABLED) |
  121. BF_IOMUXC_SW_MUX_CTL_PAD_KEY_COL1_MUX_MODE_V(ALT1));
  122. // Pad Control Register:
  123. // IOMUXC_SW_PAD_CTL_PAD_KEY_COL1(0x020E0630)
  124. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  125. // DISABLED (0) - CMOS input
  126. // ENABLED (1) - Schmitt trigger input
  127. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  128. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  129. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  130. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  131. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  132. // PUE [13] - Pull / Keep Select Field Reset: PULL
  133. // KEEP (0) - Keeper Enabled
  134. // PULL (1) - Pull Enabled
  135. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  136. // DISABLED (0) - Pull/Keeper Disabled
  137. // ENABLED (1) - Pull/Keeper Enabled
  138. // ODE [11] - Open Drain Enable Field Reset: DISABLED
  139. // Enables open drain of the pin.
  140. // DISABLED (0) - Output is CMOS.
  141. // ENABLED (1) - Output is Open Drain.
  142. // SPEED [7:6] - Speed Field Reset: 100MHZ
  143. // RESERVED0 (0) - Reserved
  144. // 50MHZ (1) - Low (50 MHz)
  145. // 100MHZ (2) - Medium (100 MHz)
  146. // 200MHZ (3) - Maximum (200 MHz)
  147. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  148. // HIZ (0) - HI-Z
  149. // 240_OHM (1) - 240 Ohm
  150. // 120_OHM (2) - 120 Ohm
  151. // 80_OHM (3) - 80 Ohm
  152. // 60_OHM (4) - 60 Ohm
  153. // 48_OHM (5) - 48 Ohm
  154. // 40_OHM (6) - 40 Ohm
  155. // 34_OHM (7) - 34 Ohm
  156. // SRE [0] - Slew Rate Field Reset: SLOW
  157. // Slew rate control.
  158. // SLOW (0) - Slow Slew Rate
  159. // FAST (1) - Fast Slew Rate
  160. HW_IOMUXC_SW_PAD_CTL_PAD_KEY_COL1_WR(
  161. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL1_HYS_V(ENABLED) |
  162. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL1_PUS_V(100K_OHM_PU) |
  163. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL1_PUE_V(PULL) |
  164. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL1_PKE_V(ENABLED) |
  165. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL1_ODE_V(DISABLED) |
  166. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL1_SPEED_V(100MHZ) |
  167. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL1_DSE_V(40_OHM) |
  168. BF_IOMUXC_SW_PAD_CTL_PAD_KEY_COL1_SRE_V(SLOW));
  169. // Pad KEY_COL1 is involved in Daisy Chain.
  170. // Input Select Register:
  171. // IOMUXC_ENET_MAC0_MDIO_SELECT_INPUT(0x020E0810)
  172. // DAISY [0] - MUX Mode Select Field Reset: ENET_MDIO_ALT1
  173. // Selecting Pads Involved in Daisy Chain.
  174. // ENET_MDIO_ALT1 (0) - Select signal enet ENET_MDIO as input from pad ENET_MDIO(ALT1).
  175. // KEY_COL1_ALT1 (1) - Select signal enet ENET_MDIO as input from pad KEY_COL1(ALT1).
  176. HW_IOMUXC_ENET_MAC0_MDIO_SELECT_INPUT_WR(
  177. BF_IOMUXC_ENET_MAC0_MDIO_SELECT_INPUT_DAISY_V(KEY_COL1_ALT1));
  178. // Config enet.ENET_TX_CLK to pad ENET_REF_CLK(V22)
  179. // HW_IOMUXC_SW_MUX_CTL_PAD_ENET_REF_CLK_WR(0x00000001);
  180. // HW_IOMUXC_SW_PAD_CTL_PAD_ENET_REF_CLK_WR(0x0001A0B0);
  181. // Mux Register:
  182. // IOMUXC_SW_MUX_CTL_PAD_ENET_REF_CLK(0x020E01F0)
  183. // SION [4] - Software Input On Field Reset: DISABLED
  184. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  185. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  186. // ENABLED (1) - Force input path of pad.
  187. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  188. // Select iomux modes to be used for pad.
  189. // ALT1 (1) - Select instance: enet signal: ENET_TX_CLK
  190. // ALT2 (2) - Select instance: esai signal: ESAI_RX_FS
  191. // ALT5 (5) - Select instance: gpio1 signal: GPIO1_IO23
  192. // ALT6 (6) - Select instance: spdif signal: SPDIF_SR_CLK
  193. HW_IOMUXC_SW_MUX_CTL_PAD_ENET_REF_CLK_WR(
  194. BF_IOMUXC_SW_MUX_CTL_PAD_ENET_REF_CLK_SION_V(DISABLED) |
  195. BF_IOMUXC_SW_MUX_CTL_PAD_ENET_REF_CLK_MUX_MODE_V(ALT1));
  196. // Pad Control Register:
  197. // IOMUXC_SW_PAD_CTL_PAD_ENET_REF_CLK(0x020E05C0)
  198. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  199. // DISABLED (0) - CMOS input
  200. // ENABLED (1) - Schmitt trigger input
  201. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  202. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  203. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  204. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  205. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  206. // PUE [13] - Pull / Keep Select Field Reset: PULL
  207. // KEEP (0) - Keeper Enabled
  208. // PULL (1) - Pull Enabled
  209. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  210. // DISABLED (0) - Pull/Keeper Disabled
  211. // ENABLED (1) - Pull/Keeper Enabled
  212. // ODE [11] - Open Drain Enable Field Reset: DISABLED
  213. // Enables open drain of the pin.
  214. // DISABLED (0) - Output is CMOS.
  215. // ENABLED (1) - Output is Open Drain.
  216. // SPEED [7:6] - Speed Field Reset: 100MHZ
  217. // RESERVED0 (0) - Reserved
  218. // 50MHZ (1) - Low (50 MHz)
  219. // 100MHZ (2) - Medium (100 MHz)
  220. // 200MHZ (3) - Maximum (200 MHz)
  221. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  222. // HIZ (0) - HI-Z
  223. // 240_OHM (1) - 240 Ohm
  224. // 120_OHM (2) - 120 Ohm
  225. // 80_OHM (3) - 80 Ohm
  226. // 60_OHM (4) - 60 Ohm
  227. // 48_OHM (5) - 48 Ohm
  228. // 40_OHM (6) - 40 Ohm
  229. // 34_OHM (7) - 34 Ohm
  230. // SRE [0] - Slew Rate Field Reset: SLOW
  231. // Slew rate control.
  232. // SLOW (0) - Slow Slew Rate
  233. // FAST (1) - Fast Slew Rate
  234. HW_IOMUXC_SW_PAD_CTL_PAD_ENET_REF_CLK_WR(
  235. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_REF_CLK_HYS_V(ENABLED) |
  236. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_REF_CLK_PUS_V(100K_OHM_PU) |
  237. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_REF_CLK_PUE_V(PULL) |
  238. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_REF_CLK_PKE_V(DISABLED) |
  239. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_REF_CLK_ODE_V(DISABLED) |
  240. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_REF_CLK_SPEED_V(100MHZ) |
  241. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_REF_CLK_DSE_V(40_OHM) |
  242. BF_IOMUXC_SW_PAD_CTL_PAD_ENET_REF_CLK_SRE_V(SLOW));
  243. // Config enet.RGMII_RD0 to pad RGMII_RD0(C24)
  244. // HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD0_WR(0x00000001);
  245. // HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD0_WR(0x0001B030);
  246. // HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(0x00080000);
  247. // HW_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_WR(0x00000000);
  248. // HW_IOMUXC_ENET_MAC0_RX_DATA0_SELECT_INPUT_WR(0x00000001);
  249. // Mux Register:
  250. // IOMUXC_SW_MUX_CTL_PAD_RGMII_RD0(0x020E02AC)
  251. // SION [4] - Software Input On Field Reset: DISABLED
  252. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  253. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  254. // ENABLED (1) - Force input path of pad.
  255. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  256. // Select iomux modes to be used for pad.
  257. // ALT0 (0) - Select instance: mipi_hsi signal: HSI_RX_READY
  258. // ALT1 (1) - Select instance: enet signal: RGMII_RD0
  259. // ALT5 (5) - Select instance: gpio6 signal: GPIO6_IO25
  260. HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD0_WR(
  261. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD0_SION_V(DISABLED) |
  262. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD0_MUX_MODE_V(ALT1));
  263. // Pad Control Register:
  264. // IOMUXC_SW_PAD_CTL_PAD_RGMII_RD0(0x020E0694)
  265. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: RESERVED0
  266. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  267. // Note: The value of this field does not reflect the vaule of the
  268. // IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  269. // RESERVED0 (0) - Reserved
  270. // RESERVED1 (1) - Reserved
  271. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  272. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  273. // DDR_INPUT [17] - DDR / CMOS Input Mode Field Reset: CMOS
  274. // CMOS (0) - CMOS input mode.
  275. // DIFFERENTIAL (1) - Differential input mode.
  276. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  277. // DISABLED (0) - CMOS input
  278. // ENABLED (1) - Schmitt trigger input
  279. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  280. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  281. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  282. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  283. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  284. // PUE [13] - Pull / Keep Select Field Reset: PULL
  285. // KEEP (0) - Keeper Enabled
  286. // PULL (1) - Pull Enabled
  287. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  288. // DISABLED (0) - Pull/Keeper Disabled
  289. // ENABLED (1) - Pull/Keeper Enabled
  290. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  291. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM register.
  292. // Note: The value of this field does not reflect the vaule of the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM
  293. // register.
  294. // DISABLED (0) - Disabled
  295. // 120_OHM (1) - 120 Ohm ODT
  296. // 60_OHM (2) - 60 Ohm ODT
  297. // 40_OHM (3) - 40 Ohm ODT
  298. // 30_OHM (4) - 30 Ohm ODT
  299. // RESERVED0 (5) - Reserved
  300. // 20_OHM (6) - 20 Ohm ODT
  301. // RESERVED1 (7) - Reserved
  302. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  303. // HIZ (0) - HI-Z
  304. // 240_OHM (1) - 240 Ohm
  305. // 120_OHM (2) - 120 Ohm
  306. // 80_OHM (3) - 80 Ohm
  307. // 60_OHM (4) - 60 Ohm
  308. // 48_OHM (5) - 48 Ohm
  309. // 40_OHM (6) - 40 Ohm
  310. // 34_OHM (7) - 34 Ohm
  311. HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD0_WR(
  312. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD0_DDR_INPUT_V(CMOS) |
  313. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD0_HYS_V(ENABLED) |
  314. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD0_PUS_V(100K_OHM_PU) |
  315. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD0_PUE_V(PULL) |
  316. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD0_PKE_V(ENABLED) |
  317. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD0_DSE_V(40_OHM));
  318. // Pad Group Control Register:
  319. // IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII(0x020E0768)
  320. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: 1P2V_IO
  321. // RESERVED0 (0) - Reserved
  322. // RESERVED1 (1) - Reserved
  323. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  324. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  325. HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(
  326. BF_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_DDR_SEL_RGMII_V(1P2V_IO));
  327. // Pad Group Control Register:
  328. // IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM(0x020E0788)
  329. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  330. // DISABLED (0) - Disabled
  331. // 120_OHM (1) - 120 Ohm ODT
  332. // 60_OHM (2) - 60 Ohm ODT
  333. // 40_OHM (3) - 40 Ohm ODT
  334. // 30_OHM (4) - 30 Ohm ODT
  335. // RESERVED0 (5) - Reserved
  336. // 20_OHM (6) - 20 Ohm ODT
  337. // RESERVED1 (7) - Reserved
  338. HW_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_WR(
  339. BF_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_ODT_V(DISABLED));
  340. // Pad RGMII_RD0 is involved in Daisy Chain.
  341. // Input Select Register:
  342. // IOMUXC_ENET_MAC0_RX_DATA0_SELECT_INPUT(0x020E0818)
  343. // DAISY [0] - MUX Mode Select Field Reset: ENET_RX_DATA0_ALT1
  344. // Selecting Pads Involved in Daisy Chain.
  345. // ENET_RX_DATA0_ALT1 (0) - Select signal enet ENET_RX_DATA0 as input from pad ENET_RX_DATA0(ALT1).
  346. // RGMII_RD0_ALT1 (1) - Select signal enet RGMII_RD0 as input from pad RGMII_RD0(ALT1).
  347. HW_IOMUXC_ENET_MAC0_RX_DATA0_SELECT_INPUT_WR(
  348. BF_IOMUXC_ENET_MAC0_RX_DATA0_SELECT_INPUT_DAISY_V(RGMII_RD0_ALT1));
  349. // Config enet.RGMII_RD1 to pad RGMII_RD1(B23)
  350. // HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD1_WR(0x00000001);
  351. // HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD1_WR(0x0001B030);
  352. // HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(0x00080000);
  353. // HW_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_WR(0x00000000);
  354. // HW_IOMUXC_ENET_MAC0_RX_DATA1_SELECT_INPUT_WR(0x00000001);
  355. // Mux Register:
  356. // IOMUXC_SW_MUX_CTL_PAD_RGMII_RD1(0x020E02B0)
  357. // SION [4] - Software Input On Field Reset: DISABLED
  358. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  359. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  360. // ENABLED (1) - Force input path of pad.
  361. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  362. // Select iomux modes to be used for pad.
  363. // ALT0 (0) - Select instance: mipi_hsi signal: HSI_TX_FLAG
  364. // ALT1 (1) - Select instance: enet signal: RGMII_RD1
  365. // ALT5 (5) - Select instance: gpio6 signal: GPIO6_IO27
  366. HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD1_WR(
  367. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD1_SION_V(DISABLED) |
  368. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD1_MUX_MODE_V(ALT1));
  369. // Pad Control Register:
  370. // IOMUXC_SW_PAD_CTL_PAD_RGMII_RD1(0x020E0698)
  371. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: RESERVED0
  372. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  373. // Note: The value of this field does not reflect the vaule of the
  374. // IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  375. // RESERVED0 (0) - Reserved
  376. // RESERVED1 (1) - Reserved
  377. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  378. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  379. // DDR_INPUT [17] - DDR / CMOS Input Mode Field Reset: CMOS
  380. // CMOS (0) - CMOS input mode.
  381. // DIFFERENTIAL (1) - Differential input mode.
  382. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  383. // DISABLED (0) - CMOS input
  384. // ENABLED (1) - Schmitt trigger input
  385. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  386. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  387. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  388. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  389. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  390. // PUE [13] - Pull / Keep Select Field Reset: PULL
  391. // KEEP (0) - Keeper Enabled
  392. // PULL (1) - Pull Enabled
  393. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  394. // DISABLED (0) - Pull/Keeper Disabled
  395. // ENABLED (1) - Pull/Keeper Enabled
  396. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  397. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM register.
  398. // Note: The value of this field does not reflect the vaule of the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM
  399. // register.
  400. // DISABLED (0) - Disabled
  401. // 120_OHM (1) - 120 Ohm ODT
  402. // 60_OHM (2) - 60 Ohm ODT
  403. // 40_OHM (3) - 40 Ohm ODT
  404. // 30_OHM (4) - 30 Ohm ODT
  405. // RESERVED0 (5) - Reserved
  406. // 20_OHM (6) - 20 Ohm ODT
  407. // RESERVED1 (7) - Reserved
  408. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  409. // HIZ (0) - HI-Z
  410. // 240_OHM (1) - 240 Ohm
  411. // 120_OHM (2) - 120 Ohm
  412. // 80_OHM (3) - 80 Ohm
  413. // 60_OHM (4) - 60 Ohm
  414. // 48_OHM (5) - 48 Ohm
  415. // 40_OHM (6) - 40 Ohm
  416. // 34_OHM (7) - 34 Ohm
  417. HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD1_WR(
  418. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD1_DDR_INPUT_V(CMOS) |
  419. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD1_HYS_V(ENABLED) |
  420. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD1_PUS_V(100K_OHM_PU) |
  421. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD1_PUE_V(PULL) |
  422. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD1_PKE_V(ENABLED) |
  423. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD1_DSE_V(40_OHM));
  424. // Pad Group Control Register:
  425. // IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII(0x020E0768)
  426. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: 1P2V_IO
  427. // RESERVED0 (0) - Reserved
  428. // RESERVED1 (1) - Reserved
  429. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  430. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  431. HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(
  432. BF_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_DDR_SEL_RGMII_V(1P2V_IO));
  433. // Pad Group Control Register:
  434. // IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM(0x020E0788)
  435. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  436. // DISABLED (0) - Disabled
  437. // 120_OHM (1) - 120 Ohm ODT
  438. // 60_OHM (2) - 60 Ohm ODT
  439. // 40_OHM (3) - 40 Ohm ODT
  440. // 30_OHM (4) - 30 Ohm ODT
  441. // RESERVED0 (5) - Reserved
  442. // 20_OHM (6) - 20 Ohm ODT
  443. // RESERVED1 (7) - Reserved
  444. HW_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_WR(
  445. BF_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_ODT_V(DISABLED));
  446. // Pad RGMII_RD1 is involved in Daisy Chain.
  447. // Input Select Register:
  448. // IOMUXC_ENET_MAC0_RX_DATA1_SELECT_INPUT(0x020E081C)
  449. // DAISY [0] - MUX Mode Select Field Reset: ENET_RX_DATA1_ALT1
  450. // Selecting Pads Involved in Daisy Chain.
  451. // ENET_RX_DATA1_ALT1 (0) - Select signal enet ENET_RX_DATA1 as input from pad ENET_RX_DATA1(ALT1).
  452. // RGMII_RD1_ALT1 (1) - Select signal enet RGMII_RD1 as input from pad RGMII_RD1(ALT1).
  453. HW_IOMUXC_ENET_MAC0_RX_DATA1_SELECT_INPUT_WR(
  454. BF_IOMUXC_ENET_MAC0_RX_DATA1_SELECT_INPUT_DAISY_V(RGMII_RD1_ALT1));
  455. // Config enet.RGMII_RD2 to pad RGMII_RD2(B24)
  456. // HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD2_WR(0x00000001);
  457. // HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD2_WR(0x0001B030);
  458. // HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(0x00080000);
  459. // HW_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_WR(0x00000000);
  460. // HW_IOMUXC_ENET_MAC0_RX_DATA2_SELECT_INPUT_WR(0x00000001);
  461. // Mux Register:
  462. // IOMUXC_SW_MUX_CTL_PAD_RGMII_RD2(0x020E02B4)
  463. // SION [4] - Software Input On Field Reset: DISABLED
  464. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  465. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  466. // ENABLED (1) - Force input path of pad.
  467. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  468. // Select iomux modes to be used for pad.
  469. // ALT0 (0) - Select instance: mipi_hsi signal: HSI_TX_DATA
  470. // ALT1 (1) - Select instance: enet signal: RGMII_RD2
  471. // ALT5 (5) - Select instance: gpio6 signal: GPIO6_IO28
  472. HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD2_WR(
  473. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD2_SION_V(DISABLED) |
  474. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD2_MUX_MODE_V(ALT1));
  475. // Pad Control Register:
  476. // IOMUXC_SW_PAD_CTL_PAD_RGMII_RD2(0x020E069C)
  477. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: RESERVED0
  478. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  479. // Note: The value of this field does not reflect the vaule of the
  480. // IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  481. // RESERVED0 (0) - Reserved
  482. // RESERVED1 (1) - Reserved
  483. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  484. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  485. // DDR_INPUT [17] - DDR / CMOS Input Mode Field Reset: CMOS
  486. // CMOS (0) - CMOS input mode.
  487. // DIFFERENTIAL (1) - Differential input mode.
  488. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  489. // DISABLED (0) - CMOS input
  490. // ENABLED (1) - Schmitt trigger input
  491. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  492. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  493. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  494. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  495. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  496. // PUE [13] - Pull / Keep Select Field Reset: PULL
  497. // KEEP (0) - Keeper Enabled
  498. // PULL (1) - Pull Enabled
  499. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  500. // DISABLED (0) - Pull/Keeper Disabled
  501. // ENABLED (1) - Pull/Keeper Enabled
  502. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  503. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM register.
  504. // Note: The value of this field does not reflect the vaule of the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM
  505. // register.
  506. // DISABLED (0) - Disabled
  507. // 120_OHM (1) - 120 Ohm ODT
  508. // 60_OHM (2) - 60 Ohm ODT
  509. // 40_OHM (3) - 40 Ohm ODT
  510. // 30_OHM (4) - 30 Ohm ODT
  511. // RESERVED0 (5) - Reserved
  512. // 20_OHM (6) - 20 Ohm ODT
  513. // RESERVED1 (7) - Reserved
  514. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  515. // HIZ (0) - HI-Z
  516. // 240_OHM (1) - 240 Ohm
  517. // 120_OHM (2) - 120 Ohm
  518. // 80_OHM (3) - 80 Ohm
  519. // 60_OHM (4) - 60 Ohm
  520. // 48_OHM (5) - 48 Ohm
  521. // 40_OHM (6) - 40 Ohm
  522. // 34_OHM (7) - 34 Ohm
  523. HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD2_WR(
  524. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD2_DDR_INPUT_V(CMOS) |
  525. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD2_HYS_V(ENABLED) |
  526. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD2_PUS_V(100K_OHM_PU) |
  527. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD2_PUE_V(PULL) |
  528. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD2_PKE_V(ENABLED) |
  529. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD2_DSE_V(40_OHM));
  530. // Pad Group Control Register:
  531. // IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII(0x020E0768)
  532. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: 1P2V_IO
  533. // RESERVED0 (0) - Reserved
  534. // RESERVED1 (1) - Reserved
  535. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  536. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  537. HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(
  538. BF_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_DDR_SEL_RGMII_V(1P2V_IO));
  539. // Pad Group Control Register:
  540. // IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM(0x020E0788)
  541. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  542. // DISABLED (0) - Disabled
  543. // 120_OHM (1) - 120 Ohm ODT
  544. // 60_OHM (2) - 60 Ohm ODT
  545. // 40_OHM (3) - 40 Ohm ODT
  546. // 30_OHM (4) - 30 Ohm ODT
  547. // RESERVED0 (5) - Reserved
  548. // 20_OHM (6) - 20 Ohm ODT
  549. // RESERVED1 (7) - Reserved
  550. HW_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_WR(
  551. BF_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_ODT_V(DISABLED));
  552. // Pad RGMII_RD2 is involved in Daisy Chain.
  553. // Input Select Register:
  554. // IOMUXC_ENET_MAC0_RX_DATA2_SELECT_INPUT(0x020E0820)
  555. // DAISY [0] - MUX Mode Select Field Reset: KEY_COL2_ALT1
  556. // Selecting Pads Involved in Daisy Chain.
  557. // KEY_COL2_ALT1 (0) - Select signal enet ENET_RX_DATA2 as input from pad KEY_COL2(ALT1).
  558. // RGMII_RD2_ALT1 (1) - Select signal enet RGMII_RD2 as input from pad RGMII_RD2(ALT1).
  559. HW_IOMUXC_ENET_MAC0_RX_DATA2_SELECT_INPUT_WR(
  560. BF_IOMUXC_ENET_MAC0_RX_DATA2_SELECT_INPUT_DAISY_V(RGMII_RD2_ALT1));
  561. // Config enet.RGMII_RD3 to pad RGMII_RD3(D23)
  562. // HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD3_WR(0x00000001);
  563. // HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD3_WR(0x0001B030);
  564. // HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(0x00080000);
  565. // HW_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_WR(0x00000000);
  566. // HW_IOMUXC_ENET_MAC0_RX_DATA3_SELECT_INPUT_WR(0x00000001);
  567. // Mux Register:
  568. // IOMUXC_SW_MUX_CTL_PAD_RGMII_RD3(0x020E02B8)
  569. // SION [4] - Software Input On Field Reset: DISABLED
  570. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  571. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  572. // ENABLED (1) - Force input path of pad.
  573. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  574. // Select iomux modes to be used for pad.
  575. // ALT0 (0) - Select instance: mipi_hsi signal: HSI_TX_WAKE
  576. // ALT1 (1) - Select instance: enet signal: RGMII_RD3
  577. // ALT5 (5) - Select instance: gpio6 signal: GPIO6_IO29
  578. HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD3_WR(
  579. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD3_SION_V(DISABLED) |
  580. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_RD3_MUX_MODE_V(ALT1));
  581. // Pad Control Register:
  582. // IOMUXC_SW_PAD_CTL_PAD_RGMII_RD3(0x020E06A0)
  583. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: RESERVED0
  584. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  585. // Note: The value of this field does not reflect the vaule of the
  586. // IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  587. // RESERVED0 (0) - Reserved
  588. // RESERVED1 (1) - Reserved
  589. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  590. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  591. // DDR_INPUT [17] - DDR / CMOS Input Mode Field Reset: CMOS
  592. // CMOS (0) - CMOS input mode.
  593. // DIFFERENTIAL (1) - Differential input mode.
  594. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  595. // DISABLED (0) - CMOS input
  596. // ENABLED (1) - Schmitt trigger input
  597. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  598. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  599. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  600. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  601. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  602. // PUE [13] - Pull / Keep Select Field Reset: PULL
  603. // KEEP (0) - Keeper Enabled
  604. // PULL (1) - Pull Enabled
  605. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  606. // DISABLED (0) - Pull/Keeper Disabled
  607. // ENABLED (1) - Pull/Keeper Enabled
  608. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  609. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM register.
  610. // Note: The value of this field does not reflect the vaule of the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM
  611. // register.
  612. // DISABLED (0) - Disabled
  613. // 120_OHM (1) - 120 Ohm ODT
  614. // 60_OHM (2) - 60 Ohm ODT
  615. // 40_OHM (3) - 40 Ohm ODT
  616. // 30_OHM (4) - 30 Ohm ODT
  617. // RESERVED0 (5) - Reserved
  618. // 20_OHM (6) - 20 Ohm ODT
  619. // RESERVED1 (7) - Reserved
  620. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  621. // HIZ (0) - HI-Z
  622. // 240_OHM (1) - 240 Ohm
  623. // 120_OHM (2) - 120 Ohm
  624. // 80_OHM (3) - 80 Ohm
  625. // 60_OHM (4) - 60 Ohm
  626. // 48_OHM (5) - 48 Ohm
  627. // 40_OHM (6) - 40 Ohm
  628. // 34_OHM (7) - 34 Ohm
  629. HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD3_WR(
  630. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD3_DDR_INPUT_V(CMOS) |
  631. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD3_HYS_V(ENABLED) |
  632. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD3_PUS_V(100K_OHM_PU) |
  633. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD3_PUE_V(PULL) |
  634. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD3_PKE_V(ENABLED) |
  635. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RD3_DSE_V(40_OHM));
  636. // Pad Group Control Register:
  637. // IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII(0x020E0768)
  638. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: 1P2V_IO
  639. // RESERVED0 (0) - Reserved
  640. // RESERVED1 (1) - Reserved
  641. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  642. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  643. HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(
  644. BF_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_DDR_SEL_RGMII_V(1P2V_IO));
  645. // Pad Group Control Register:
  646. // IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM(0x020E0788)
  647. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  648. // DISABLED (0) - Disabled
  649. // 120_OHM (1) - 120 Ohm ODT
  650. // 60_OHM (2) - 60 Ohm ODT
  651. // 40_OHM (3) - 40 Ohm ODT
  652. // 30_OHM (4) - 30 Ohm ODT
  653. // RESERVED0 (5) - Reserved
  654. // 20_OHM (6) - 20 Ohm ODT
  655. // RESERVED1 (7) - Reserved
  656. HW_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_WR(
  657. BF_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_ODT_V(DISABLED));
  658. // Pad RGMII_RD3 is involved in Daisy Chain.
  659. // Input Select Register:
  660. // IOMUXC_ENET_MAC0_RX_DATA3_SELECT_INPUT(0x020E0824)
  661. // DAISY [0] - MUX Mode Select Field Reset: KEY_COL0_ALT1
  662. // Selecting Pads Involved in Daisy Chain.
  663. // KEY_COL0_ALT1 (0) - Select signal enet ENET_RX_DATA3 as input from pad KEY_COL0(ALT1).
  664. // RGMII_RD3_ALT1 (1) - Select signal enet RGMII_RD3 as input from pad RGMII_RD3(ALT1).
  665. HW_IOMUXC_ENET_MAC0_RX_DATA3_SELECT_INPUT_WR(
  666. BF_IOMUXC_ENET_MAC0_RX_DATA3_SELECT_INPUT_DAISY_V(RGMII_RD3_ALT1));
  667. // Config enet.RGMII_RXC to pad RGMII_RXC(B25)
  668. // HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_RXC_WR(0x00000001);
  669. // HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_RXC_WR(0x00013030);
  670. // HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(0x00080000);
  671. // HW_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_WR(0x00000000);
  672. // HW_IOMUXC_ENET_MAC0_RX_CLK_SELECT_INPUT_WR(0x00000001);
  673. // Mux Register:
  674. // IOMUXC_SW_MUX_CTL_PAD_RGMII_RXC(0x020E02C0)
  675. // SION [4] - Software Input On Field Reset: DISABLED
  676. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  677. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  678. // ENABLED (1) - Force input path of pad.
  679. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  680. // Select iomux modes to be used for pad.
  681. // ALT0 (0) - Select instance: usb signal: USB_H3_STROBE
  682. // ALT1 (1) - Select instance: enet signal: RGMII_RXC
  683. // ALT5 (5) - Select instance: gpio6 signal: GPIO6_IO30
  684. HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_RXC_WR(
  685. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_RXC_SION_V(DISABLED) |
  686. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_RXC_MUX_MODE_V(ALT1));
  687. // Pad Control Register:
  688. // IOMUXC_SW_PAD_CTL_PAD_RGMII_RXC(0x020E06A8)
  689. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: RESERVED0
  690. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  691. // Note: The value of this field does not reflect the vaule of the
  692. // IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  693. // RESERVED0 (0) - Reserved
  694. // RESERVED1 (1) - Reserved
  695. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  696. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  697. // DDR_INPUT [17] - DDR / CMOS Input Mode Field Reset: CMOS
  698. // CMOS (0) - CMOS input mode.
  699. // DIFFERENTIAL (1) - Differential input mode.
  700. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  701. // DISABLED (0) - CMOS input
  702. // ENABLED (1) - Schmitt trigger input
  703. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PD
  704. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  705. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  706. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  707. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  708. // PUE [13] - Pull / Keep Select Field Reset: PULL
  709. // KEEP (0) - Keeper Enabled
  710. // PULL (1) - Pull Enabled
  711. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  712. // DISABLED (0) - Pull/Keeper Disabled
  713. // ENABLED (1) - Pull/Keeper Enabled
  714. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  715. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM register.
  716. // Note: The value of this field does not reflect the vaule of the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM
  717. // register.
  718. // DISABLED (0) - Disabled
  719. // 120_OHM (1) - 120 Ohm ODT
  720. // 60_OHM (2) - 60 Ohm ODT
  721. // 40_OHM (3) - 40 Ohm ODT
  722. // 30_OHM (4) - 30 Ohm ODT
  723. // RESERVED0 (5) - Reserved
  724. // 20_OHM (6) - 20 Ohm ODT
  725. // RESERVED1 (7) - Reserved
  726. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  727. // HIZ (0) - HI-Z
  728. // 240_OHM (1) - 240 Ohm
  729. // 120_OHM (2) - 120 Ohm
  730. // 80_OHM (3) - 80 Ohm
  731. // 60_OHM (4) - 60 Ohm
  732. // 48_OHM (5) - 48 Ohm
  733. // 40_OHM (6) - 40 Ohm
  734. // 34_OHM (7) - 34 Ohm
  735. HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_RXC_WR(
  736. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RXC_DDR_INPUT_V(CMOS) |
  737. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RXC_HYS_V(ENABLED) |
  738. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RXC_PUS_V(100K_OHM_PD) |
  739. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RXC_PUE_V(PULL) |
  740. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RXC_PKE_V(ENABLED) |
  741. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RXC_DSE_V(40_OHM));
  742. // Pad Group Control Register:
  743. // IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII(0x020E0768)
  744. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: 1P2V_IO
  745. // RESERVED0 (0) - Reserved
  746. // RESERVED1 (1) - Reserved
  747. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  748. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  749. HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(
  750. BF_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_DDR_SEL_RGMII_V(1P2V_IO));
  751. // Pad Group Control Register:
  752. // IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM(0x020E0788)
  753. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  754. // DISABLED (0) - Disabled
  755. // 120_OHM (1) - 120 Ohm ODT
  756. // 60_OHM (2) - 60 Ohm ODT
  757. // 40_OHM (3) - 40 Ohm ODT
  758. // 30_OHM (4) - 30 Ohm ODT
  759. // RESERVED0 (5) - Reserved
  760. // 20_OHM (6) - 20 Ohm ODT
  761. // RESERVED1 (7) - Reserved
  762. HW_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_WR(
  763. BF_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_ODT_V(DISABLED));
  764. // Pad RGMII_RXC is involved in Daisy Chain.
  765. // Input Select Register:
  766. // IOMUXC_ENET_MAC0_RX_CLK_SELECT_INPUT(0x020E0814)
  767. // DAISY [0] - MUX Mode Select Field Reset: GPIO18_ALT1
  768. // Selecting Pads Involved in Daisy Chain.
  769. // GPIO18_ALT1 (0) - Select signal enet ENET_RX_CLK as input from pad GPIO18(ALT1).
  770. // RGMII_RXC_ALT1 (1) - Select signal enet RGMII_RXC as input from pad RGMII_RXC(ALT1).
  771. HW_IOMUXC_ENET_MAC0_RX_CLK_SELECT_INPUT_WR(
  772. BF_IOMUXC_ENET_MAC0_RX_CLK_SELECT_INPUT_DAISY_V(RGMII_RXC_ALT1));
  773. // Config enet.RGMII_RX_CTL to pad RGMII_RX_CTL(D22)
  774. // HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_RX_CTL_WR(0x00000001);
  775. // HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_RX_CTL_WR(0x00013030);
  776. // HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(0x00080000);
  777. // HW_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_WR(0x00000000);
  778. // HW_IOMUXC_ENET_MAC0_RX_EN_SELECT_INPUT_WR(0x00000001);
  779. // Mux Register:
  780. // IOMUXC_SW_MUX_CTL_PAD_RGMII_RX_CTL(0x020E02BC)
  781. // SION [4] - Software Input On Field Reset: DISABLED
  782. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  783. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  784. // ENABLED (1) - Force input path of pad.
  785. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  786. // Select iomux modes to be used for pad.
  787. // ALT0 (0) - Select instance: usb signal: USB_H3_DATA
  788. // ALT1 (1) - Select instance: enet signal: RGMII_RX_CTL
  789. // ALT5 (5) - Select instance: gpio6 signal: GPIO6_IO24
  790. HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_RX_CTL_WR(
  791. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_RX_CTL_SION_V(DISABLED) |
  792. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_RX_CTL_MUX_MODE_V(ALT1));
  793. // Pad Control Register:
  794. // IOMUXC_SW_PAD_CTL_PAD_RGMII_RX_CTL(0x020E06A4)
  795. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: RESERVED0
  796. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  797. // Note: The value of this field does not reflect the vaule of the
  798. // IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  799. // RESERVED0 (0) - Reserved
  800. // RESERVED1 (1) - Reserved
  801. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  802. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  803. // DDR_INPUT [17] - DDR / CMOS Input Mode Field Reset: CMOS
  804. // CMOS (0) - CMOS input mode.
  805. // DIFFERENTIAL (1) - Differential input mode.
  806. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  807. // DISABLED (0) - CMOS input
  808. // ENABLED (1) - Schmitt trigger input
  809. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PD
  810. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  811. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  812. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  813. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  814. // PUE [13] - Pull / Keep Select Field Reset: PULL
  815. // KEEP (0) - Keeper Enabled
  816. // PULL (1) - Pull Enabled
  817. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  818. // DISABLED (0) - Pull/Keeper Disabled
  819. // ENABLED (1) - Pull/Keeper Enabled
  820. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  821. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM register.
  822. // Note: The value of this field does not reflect the vaule of the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM
  823. // register.
  824. // DISABLED (0) - Disabled
  825. // 120_OHM (1) - 120 Ohm ODT
  826. // 60_OHM (2) - 60 Ohm ODT
  827. // 40_OHM (3) - 40 Ohm ODT
  828. // 30_OHM (4) - 30 Ohm ODT
  829. // RESERVED0 (5) - Reserved
  830. // 20_OHM (6) - 20 Ohm ODT
  831. // RESERVED1 (7) - Reserved
  832. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  833. // HIZ (0) - HI-Z
  834. // 240_OHM (1) - 240 Ohm
  835. // 120_OHM (2) - 120 Ohm
  836. // 80_OHM (3) - 80 Ohm
  837. // 60_OHM (4) - 60 Ohm
  838. // 48_OHM (5) - 48 Ohm
  839. // 40_OHM (6) - 40 Ohm
  840. // 34_OHM (7) - 34 Ohm
  841. HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_RX_CTL_WR(
  842. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RX_CTL_DDR_INPUT_V(CMOS) |
  843. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RX_CTL_HYS_V(ENABLED) |
  844. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RX_CTL_PUS_V(100K_OHM_PD) |
  845. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RX_CTL_PUE_V(PULL) |
  846. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RX_CTL_PKE_V(ENABLED) |
  847. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_RX_CTL_DSE_V(40_OHM));
  848. // Pad Group Control Register:
  849. // IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII(0x020E0768)
  850. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: 1P2V_IO
  851. // RESERVED0 (0) - Reserved
  852. // RESERVED1 (1) - Reserved
  853. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  854. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  855. HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(
  856. BF_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_DDR_SEL_RGMII_V(1P2V_IO));
  857. // Pad Group Control Register:
  858. // IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM(0x020E0788)
  859. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  860. // DISABLED (0) - Disabled
  861. // 120_OHM (1) - 120 Ohm ODT
  862. // 60_OHM (2) - 60 Ohm ODT
  863. // 40_OHM (3) - 40 Ohm ODT
  864. // 30_OHM (4) - 30 Ohm ODT
  865. // RESERVED0 (5) - Reserved
  866. // 20_OHM (6) - 20 Ohm ODT
  867. // RESERVED1 (7) - Reserved
  868. HW_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_WR(
  869. BF_IOMUXC_SW_PAD_CTL_GRP_RGMII_TERM_ODT_V(DISABLED));
  870. // Pad RGMII_RX_CTL is involved in Daisy Chain.
  871. // Input Select Register:
  872. // IOMUXC_ENET_MAC0_RX_EN_SELECT_INPUT(0x020E0828)
  873. // DAISY [0] - MUX Mode Select Field Reset: ENET_CRS_DV_ALT1
  874. // Selecting Pads Involved in Daisy Chain.
  875. // ENET_CRS_DV_ALT1 (0) - Select signal enet ENET_RX_EN as input from pad ENET_CRS_DV(ALT1).
  876. // RGMII_RX_CTL_ALT1 (1) - Select signal enet RGMII_RX_CTL as input from pad RGMII_RX_CTL(ALT1).
  877. HW_IOMUXC_ENET_MAC0_RX_EN_SELECT_INPUT_WR(
  878. BF_IOMUXC_ENET_MAC0_RX_EN_SELECT_INPUT_DAISY_V(RGMII_RX_CTL_ALT1));
  879. // Config enet.RGMII_TD0 to pad RGMII_TD0(C22)
  880. // HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD0_WR(0x00000001);
  881. // HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD0_WR(0x0001B030);
  882. // HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(0x00080000);
  883. // Mux Register:
  884. // IOMUXC_SW_MUX_CTL_PAD_RGMII_TD0(0x020E02C4)
  885. // SION [4] - Software Input On Field Reset: DISABLED
  886. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  887. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  888. // ENABLED (1) - Force input path of pad.
  889. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  890. // Select iomux modes to be used for pad.
  891. // ALT0 (0) - Select instance: mipi_hsi signal: HSI_TX_READY
  892. // ALT1 (1) - Select instance: enet signal: RGMII_TD0
  893. // ALT5 (5) - Select instance: gpio6 signal: GPIO6_IO20
  894. HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD0_WR(
  895. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD0_SION_V(DISABLED) |
  896. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD0_MUX_MODE_V(ALT1));
  897. // Pad Control Register:
  898. // IOMUXC_SW_PAD_CTL_PAD_RGMII_TD0(0x020E06AC)
  899. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: RESERVED0
  900. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  901. // Note: The value of this field does not reflect the vaule of the
  902. // IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  903. // RESERVED0 (0) - Reserved
  904. // RESERVED1 (1) - Reserved
  905. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  906. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  907. // DDR_INPUT [17] - DDR / CMOS Input Mode Field Reset: CMOS
  908. // CMOS (0) - CMOS input mode.
  909. // DIFFERENTIAL (1) - Differential input mode.
  910. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  911. // DISABLED (0) - CMOS input
  912. // ENABLED (1) - Schmitt trigger input
  913. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  914. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  915. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  916. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  917. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  918. // PUE [13] - Pull / Keep Select Field Reset: PULL
  919. // KEEP (0) - Keeper Enabled
  920. // PULL (1) - Pull Enabled
  921. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  922. // DISABLED (0) - Pull/Keeper Disabled
  923. // ENABLED (1) - Pull/Keeper Enabled
  924. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  925. // NOTE: Read Only Field
  926. // The value of this field is fixed and cannot be changed.
  927. // DISABLED (0) - Disabled
  928. // 120_OHM (1) - 120 Ohm ODT
  929. // 60_OHM (2) - 60 Ohm ODT
  930. // 40_OHM (3) - 40 Ohm ODT
  931. // 30_OHM (4) - 30 Ohm ODT
  932. // RESERVED0 (5) - Reserved
  933. // 20_OHM (6) - 20 Ohm ODT
  934. // RESERVED1 (7) - Reserved
  935. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  936. // HIZ (0) - HI-Z
  937. // 240_OHM (1) - 240 Ohm
  938. // 120_OHM (2) - 120 Ohm
  939. // 80_OHM (3) - 80 Ohm
  940. // 60_OHM (4) - 60 Ohm
  941. // 48_OHM (5) - 48 Ohm
  942. // 40_OHM (6) - 40 Ohm
  943. // 34_OHM (7) - 34 Ohm
  944. HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD0_WR(
  945. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD0_DDR_INPUT_V(CMOS) |
  946. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD0_HYS_V(ENABLED) |
  947. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD0_PUS_V(100K_OHM_PU) |
  948. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD0_PUE_V(PULL) |
  949. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD0_PKE_V(ENABLED) |
  950. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD0_DSE_V(40_OHM));
  951. // Pad Group Control Register:
  952. // IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII(0x020E0768)
  953. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: 1P2V_IO
  954. // RESERVED0 (0) - Reserved
  955. // RESERVED1 (1) - Reserved
  956. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  957. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  958. HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(
  959. BF_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_DDR_SEL_RGMII_V(1P2V_IO));
  960. // Config enet.RGMII_TD1 to pad RGMII_TD1(F20)
  961. // HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD1_WR(0x00000001);
  962. // HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD1_WR(0x0001B030);
  963. // HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(0x00080000);
  964. // Mux Register:
  965. // IOMUXC_SW_MUX_CTL_PAD_RGMII_TD1(0x020E02C8)
  966. // SION [4] - Software Input On Field Reset: DISABLED
  967. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  968. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  969. // ENABLED (1) - Force input path of pad.
  970. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  971. // Select iomux modes to be used for pad.
  972. // ALT0 (0) - Select instance: mipi_hsi signal: HSI_RX_FLAG
  973. // ALT1 (1) - Select instance: enet signal: RGMII_TD1
  974. // ALT5 (5) - Select instance: gpio6 signal: GPIO6_IO21
  975. HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD1_WR(
  976. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD1_SION_V(DISABLED) |
  977. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD1_MUX_MODE_V(ALT1));
  978. // Pad Control Register:
  979. // IOMUXC_SW_PAD_CTL_PAD_RGMII_TD1(0x020E06B0)
  980. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: RESERVED0
  981. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  982. // Note: The value of this field does not reflect the vaule of the
  983. // IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  984. // RESERVED0 (0) - Reserved
  985. // RESERVED1 (1) - Reserved
  986. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  987. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  988. // DDR_INPUT [17] - DDR / CMOS Input Mode Field Reset: CMOS
  989. // CMOS (0) - CMOS input mode.
  990. // DIFFERENTIAL (1) - Differential input mode.
  991. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  992. // DISABLED (0) - CMOS input
  993. // ENABLED (1) - Schmitt trigger input
  994. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  995. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  996. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  997. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  998. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  999. // PUE [13] - Pull / Keep Select Field Reset: PULL
  1000. // KEEP (0) - Keeper Enabled
  1001. // PULL (1) - Pull Enabled
  1002. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  1003. // DISABLED (0) - Pull/Keeper Disabled
  1004. // ENABLED (1) - Pull/Keeper Enabled
  1005. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  1006. // NOTE: Read Only Field
  1007. // The value of this field is fixed and cannot be changed.
  1008. // DISABLED (0) - Disabled
  1009. // 120_OHM (1) - 120 Ohm ODT
  1010. // 60_OHM (2) - 60 Ohm ODT
  1011. // 40_OHM (3) - 40 Ohm ODT
  1012. // 30_OHM (4) - 30 Ohm ODT
  1013. // RESERVED0 (5) - Reserved
  1014. // 20_OHM (6) - 20 Ohm ODT
  1015. // RESERVED1 (7) - Reserved
  1016. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  1017. // HIZ (0) - HI-Z
  1018. // 240_OHM (1) - 240 Ohm
  1019. // 120_OHM (2) - 120 Ohm
  1020. // 80_OHM (3) - 80 Ohm
  1021. // 60_OHM (4) - 60 Ohm
  1022. // 48_OHM (5) - 48 Ohm
  1023. // 40_OHM (6) - 40 Ohm
  1024. // 34_OHM (7) - 34 Ohm
  1025. HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD1_WR(
  1026. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD1_DDR_INPUT_V(CMOS) |
  1027. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD1_HYS_V(ENABLED) |
  1028. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD1_PUS_V(100K_OHM_PU) |
  1029. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD1_PUE_V(PULL) |
  1030. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD1_PKE_V(ENABLED) |
  1031. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD1_DSE_V(40_OHM));
  1032. // Pad Group Control Register:
  1033. // IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII(0x020E0768)
  1034. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: 1P2V_IO
  1035. // RESERVED0 (0) - Reserved
  1036. // RESERVED1 (1) - Reserved
  1037. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  1038. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  1039. HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(
  1040. BF_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_DDR_SEL_RGMII_V(1P2V_IO));
  1041. // Config enet.RGMII_TD2 to pad RGMII_TD2(E21)
  1042. // HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD2_WR(0x00000001);
  1043. // HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD2_WR(0x0001B030);
  1044. // HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(0x00080000);
  1045. // Mux Register:
  1046. // IOMUXC_SW_MUX_CTL_PAD_RGMII_TD2(0x020E02CC)
  1047. // SION [4] - Software Input On Field Reset: DISABLED
  1048. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  1049. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  1050. // ENABLED (1) - Force input path of pad.
  1051. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  1052. // Select iomux modes to be used for pad.
  1053. // ALT0 (0) - Select instance: mipi_hsi signal: HSI_RX_DATA
  1054. // ALT1 (1) - Select instance: enet signal: RGMII_TD2
  1055. // ALT5 (5) - Select instance: gpio6 signal: GPIO6_IO22
  1056. HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD2_WR(
  1057. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD2_SION_V(DISABLED) |
  1058. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD2_MUX_MODE_V(ALT1));
  1059. // Pad Control Register:
  1060. // IOMUXC_SW_PAD_CTL_PAD_RGMII_TD2(0x020E06B4)
  1061. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: RESERVED0
  1062. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  1063. // Note: The value of this field does not reflect the vaule of the
  1064. // IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  1065. // RESERVED0 (0) - Reserved
  1066. // RESERVED1 (1) - Reserved
  1067. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  1068. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  1069. // DDR_INPUT [17] - DDR / CMOS Input Mode Field Reset: CMOS
  1070. // CMOS (0) - CMOS input mode.
  1071. // DIFFERENTIAL (1) - Differential input mode.
  1072. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  1073. // DISABLED (0) - CMOS input
  1074. // ENABLED (1) - Schmitt trigger input
  1075. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  1076. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  1077. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  1078. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  1079. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  1080. // PUE [13] - Pull / Keep Select Field Reset: PULL
  1081. // KEEP (0) - Keeper Enabled
  1082. // PULL (1) - Pull Enabled
  1083. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  1084. // DISABLED (0) - Pull/Keeper Disabled
  1085. // ENABLED (1) - Pull/Keeper Enabled
  1086. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  1087. // NOTE: Read Only Field
  1088. // The value of this field is fixed and cannot be changed.
  1089. // DISABLED (0) - Disabled
  1090. // 120_OHM (1) - 120 Ohm ODT
  1091. // 60_OHM (2) - 60 Ohm ODT
  1092. // 40_OHM (3) - 40 Ohm ODT
  1093. // 30_OHM (4) - 30 Ohm ODT
  1094. // RESERVED0 (5) - Reserved
  1095. // 20_OHM (6) - 20 Ohm ODT
  1096. // RESERVED1 (7) - Reserved
  1097. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  1098. // HIZ (0) - HI-Z
  1099. // 240_OHM (1) - 240 Ohm
  1100. // 120_OHM (2) - 120 Ohm
  1101. // 80_OHM (3) - 80 Ohm
  1102. // 60_OHM (4) - 60 Ohm
  1103. // 48_OHM (5) - 48 Ohm
  1104. // 40_OHM (6) - 40 Ohm
  1105. // 34_OHM (7) - 34 Ohm
  1106. HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD2_WR(
  1107. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD2_DDR_INPUT_V(CMOS) |
  1108. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD2_HYS_V(ENABLED) |
  1109. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD2_PUS_V(100K_OHM_PU) |
  1110. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD2_PUE_V(PULL) |
  1111. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD2_PKE_V(ENABLED) |
  1112. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD2_DSE_V(40_OHM));
  1113. // Pad Group Control Register:
  1114. // IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII(0x020E0768)
  1115. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: 1P2V_IO
  1116. // RESERVED0 (0) - Reserved
  1117. // RESERVED1 (1) - Reserved
  1118. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  1119. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  1120. HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(
  1121. BF_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_DDR_SEL_RGMII_V(1P2V_IO));
  1122. // Config enet.RGMII_TD3 to pad RGMII_TD3(A24)
  1123. // HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD3_WR(0x00000001);
  1124. // HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD3_WR(0x0001B030);
  1125. // HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(0x00080000);
  1126. // Mux Register:
  1127. // IOMUXC_SW_MUX_CTL_PAD_RGMII_TD3(0x020E02D0)
  1128. // SION [4] - Software Input On Field Reset: DISABLED
  1129. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  1130. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  1131. // ENABLED (1) - Force input path of pad.
  1132. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  1133. // Select iomux modes to be used for pad.
  1134. // ALT0 (0) - Select instance: mipi_hsi signal: HSI_RX_WAKE
  1135. // ALT1 (1) - Select instance: enet signal: RGMII_TD3
  1136. // ALT5 (5) - Select instance: gpio6 signal: GPIO6_IO23
  1137. HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD3_WR(
  1138. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD3_SION_V(DISABLED) |
  1139. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_TD3_MUX_MODE_V(ALT1));
  1140. // Pad Control Register:
  1141. // IOMUXC_SW_PAD_CTL_PAD_RGMII_TD3(0x020E06B8)
  1142. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: RESERVED0
  1143. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  1144. // Note: The value of this field does not reflect the vaule of the
  1145. // IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  1146. // RESERVED0 (0) - Reserved
  1147. // RESERVED1 (1) - Reserved
  1148. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  1149. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  1150. // DDR_INPUT [17] - DDR / CMOS Input Mode Field Reset: CMOS
  1151. // CMOS (0) - CMOS input mode.
  1152. // DIFFERENTIAL (1) - Differential input mode.
  1153. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  1154. // DISABLED (0) - CMOS input
  1155. // ENABLED (1) - Schmitt trigger input
  1156. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PU
  1157. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  1158. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  1159. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  1160. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  1161. // PUE [13] - Pull / Keep Select Field Reset: PULL
  1162. // KEEP (0) - Keeper Enabled
  1163. // PULL (1) - Pull Enabled
  1164. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  1165. // DISABLED (0) - Pull/Keeper Disabled
  1166. // ENABLED (1) - Pull/Keeper Enabled
  1167. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  1168. // NOTE: Read Only Field
  1169. // The value of this field is fixed and cannot be changed.
  1170. // DISABLED (0) - Disabled
  1171. // 120_OHM (1) - 120 Ohm ODT
  1172. // 60_OHM (2) - 60 Ohm ODT
  1173. // 40_OHM (3) - 40 Ohm ODT
  1174. // 30_OHM (4) - 30 Ohm ODT
  1175. // RESERVED0 (5) - Reserved
  1176. // 20_OHM (6) - 20 Ohm ODT
  1177. // RESERVED1 (7) - Reserved
  1178. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  1179. // HIZ (0) - HI-Z
  1180. // 240_OHM (1) - 240 Ohm
  1181. // 120_OHM (2) - 120 Ohm
  1182. // 80_OHM (3) - 80 Ohm
  1183. // 60_OHM (4) - 60 Ohm
  1184. // 48_OHM (5) - 48 Ohm
  1185. // 40_OHM (6) - 40 Ohm
  1186. // 34_OHM (7) - 34 Ohm
  1187. HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD3_WR(
  1188. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD3_DDR_INPUT_V(CMOS) |
  1189. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD3_HYS_V(ENABLED) |
  1190. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD3_PUS_V(100K_OHM_PU) |
  1191. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD3_PUE_V(PULL) |
  1192. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD3_PKE_V(ENABLED) |
  1193. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TD3_DSE_V(40_OHM));
  1194. // Pad Group Control Register:
  1195. // IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII(0x020E0768)
  1196. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: 1P2V_IO
  1197. // RESERVED0 (0) - Reserved
  1198. // RESERVED1 (1) - Reserved
  1199. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  1200. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  1201. HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(
  1202. BF_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_DDR_SEL_RGMII_V(1P2V_IO));
  1203. // Config enet.RGMII_TXC to pad RGMII_TXC(D21)
  1204. // HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_TXC_WR(0x00000001);
  1205. // HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_TXC_WR(0x00013030);
  1206. // HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(0x00080000);
  1207. // Mux Register:
  1208. // IOMUXC_SW_MUX_CTL_PAD_RGMII_TXC(0x020E02D8)
  1209. // SION [4] - Software Input On Field Reset: DISABLED
  1210. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  1211. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  1212. // ENABLED (1) - Force input path of pad.
  1213. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  1214. // Select iomux modes to be used for pad.
  1215. // ALT0 (0) - Select instance: usb signal: USB_H2_DATA
  1216. // ALT1 (1) - Select instance: enet signal: RGMII_TXC
  1217. // ALT2 (2) - Select instance: spdif signal: SPDIF_EXT_CLK
  1218. // ALT5 (5) - Select instance: gpio6 signal: GPIO6_IO19
  1219. // ALT7 (7) - Select instance: xtalosc signal: XTALOSC_REF_CLK_24M
  1220. HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_TXC_WR(
  1221. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_TXC_SION_V(DISABLED) |
  1222. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_TXC_MUX_MODE_V(ALT1));
  1223. // Pad Control Register:
  1224. // IOMUXC_SW_PAD_CTL_PAD_RGMII_TXC(0x020E06C0)
  1225. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: RESERVED0
  1226. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  1227. // Note: The value of this field does not reflect the vaule of the
  1228. // IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  1229. // RESERVED0 (0) - Reserved
  1230. // RESERVED1 (1) - Reserved
  1231. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  1232. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  1233. // DDR_INPUT [17] - DDR / CMOS Input Mode Field Reset: CMOS
  1234. // NOTE: Read Only Field
  1235. // The value of this field is fixed and cannot be changed.
  1236. // CMOS (0) - CMOS input mode.
  1237. // DIFFERENTIAL (1) - Differential input mode.
  1238. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  1239. // DISABLED (0) - CMOS input
  1240. // ENABLED (1) - Schmitt trigger input
  1241. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PD
  1242. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  1243. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  1244. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  1245. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  1246. // PUE [13] - Pull / Keep Select Field Reset: PULL
  1247. // KEEP (0) - Keeper Enabled
  1248. // PULL (1) - Pull Enabled
  1249. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  1250. // DISABLED (0) - Pull/Keeper Disabled
  1251. // ENABLED (1) - Pull/Keeper Enabled
  1252. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  1253. // NOTE: Read Only Field
  1254. // The value of this field is fixed and cannot be changed.
  1255. // DISABLED (0) - Disabled
  1256. // 120_OHM (1) - 120 Ohm ODT
  1257. // 60_OHM (2) - 60 Ohm ODT
  1258. // 40_OHM (3) - 40 Ohm ODT
  1259. // 30_OHM (4) - 30 Ohm ODT
  1260. // RESERVED0 (5) - Reserved
  1261. // 20_OHM (6) - 20 Ohm ODT
  1262. // RESERVED1 (7) - Reserved
  1263. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  1264. // HIZ (0) - HI-Z
  1265. // 240_OHM (1) - 240 Ohm
  1266. // 120_OHM (2) - 120 Ohm
  1267. // 80_OHM (3) - 80 Ohm
  1268. // 60_OHM (4) - 60 Ohm
  1269. // 48_OHM (5) - 48 Ohm
  1270. // 40_OHM (6) - 40 Ohm
  1271. // 34_OHM (7) - 34 Ohm
  1272. HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_TXC_WR(
  1273. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TXC_HYS_V(ENABLED) |
  1274. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TXC_PUS_V(100K_OHM_PD) |
  1275. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TXC_PUE_V(PULL) |
  1276. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TXC_PKE_V(ENABLED) |
  1277. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TXC_DSE_V(40_OHM));
  1278. // Pad Group Control Register:
  1279. // IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII(0x020E0768)
  1280. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: 1P2V_IO
  1281. // RESERVED0 (0) - Reserved
  1282. // RESERVED1 (1) - Reserved
  1283. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  1284. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  1285. HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(
  1286. BF_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_DDR_SEL_RGMII_V(1P2V_IO));
  1287. // Config enet.RGMII_TX_CTL to pad RGMII_TX_CTL(C23)
  1288. // HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_TX_CTL_WR(0x00000001);
  1289. // HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_TX_CTL_WR(0x00013030);
  1290. // HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(0x00080000);
  1291. // Mux Register:
  1292. // IOMUXC_SW_MUX_CTL_PAD_RGMII_TX_CTL(0x020E02D4)
  1293. // SION [4] - Software Input On Field Reset: DISABLED
  1294. // Force the selected mux mode Input path no matter of MUX_MODE functionality.
  1295. // DISABLED (0) - Input Path is determined by functionality of the selected mux mode (regular).
  1296. // ENABLED (1) - Force input path of pad.
  1297. // MUX_MODE [2:0] - MUX Mode Select Field Reset: ALT5
  1298. // Select iomux modes to be used for pad.
  1299. // ALT0 (0) - Select instance: usb signal: USB_H2_STROBE
  1300. // ALT1 (1) - Select instance: enet signal: RGMII_TX_CTL
  1301. // ALT5 (5) - Select instance: gpio6 signal: GPIO6_IO26
  1302. // ALT7 (7) - Select instance: enet signal: ENET_REF_CLK
  1303. HW_IOMUXC_SW_MUX_CTL_PAD_RGMII_TX_CTL_WR(
  1304. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_TX_CTL_SION_V(DISABLED) |
  1305. BF_IOMUXC_SW_MUX_CTL_PAD_RGMII_TX_CTL_MUX_MODE_V(ALT1));
  1306. // Pad Control Register:
  1307. // IOMUXC_SW_PAD_CTL_PAD_RGMII_TX_CTL(0x020E06BC)
  1308. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: RESERVED0
  1309. // NOTE: This field can be configured using the IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  1310. // Note: The value of this field does not reflect the vaule of the
  1311. // IOMUXC_SW_PAD_CTL_GRP_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII register.
  1312. // RESERVED0 (0) - Reserved
  1313. // RESERVED1 (1) - Reserved
  1314. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  1315. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  1316. // DDR_INPUT [17] - DDR / CMOS Input Mode Field Reset: CMOS
  1317. // NOTE: Read Only Field
  1318. // The value of this field is fixed and cannot be changed.
  1319. // CMOS (0) - CMOS input mode.
  1320. // DIFFERENTIAL (1) - Differential input mode.
  1321. // HYS [16] - Hysteresis Enable Field Reset: ENABLED
  1322. // DISABLED (0) - CMOS input
  1323. // ENABLED (1) - Schmitt trigger input
  1324. // PUS [15:14] - Pull Up / Down Config. Field Reset: 100K_OHM_PD
  1325. // 100K_OHM_PD (0) - 100K Ohm Pull Down
  1326. // 47K_OHM_PU (1) - 47K Ohm Pull Up
  1327. // 100K_OHM_PU (2) - 100K Ohm Pull Up
  1328. // 22K_OHM_PU (3) - 22K Ohm Pull Up
  1329. // PUE [13] - Pull / Keep Select Field Reset: PULL
  1330. // KEEP (0) - Keeper Enabled
  1331. // PULL (1) - Pull Enabled
  1332. // PKE [12] - Pull / Keep Enable Field Reset: ENABLED
  1333. // DISABLED (0) - Pull/Keeper Disabled
  1334. // ENABLED (1) - Pull/Keeper Enabled
  1335. // ODT [10:8] - On Die Termination Field Reset: DISABLED
  1336. // NOTE: Read Only Field
  1337. // The value of this field is fixed and cannot be changed.
  1338. // DISABLED (0) - Disabled
  1339. // 120_OHM (1) - 120 Ohm ODT
  1340. // 60_OHM (2) - 60 Ohm ODT
  1341. // 40_OHM (3) - 40 Ohm ODT
  1342. // 30_OHM (4) - 30 Ohm ODT
  1343. // RESERVED0 (5) - Reserved
  1344. // 20_OHM (6) - 20 Ohm ODT
  1345. // RESERVED1 (7) - Reserved
  1346. // DSE [5:3] - Drive Strength Field Reset: 40_OHM
  1347. // HIZ (0) - HI-Z
  1348. // 240_OHM (1) - 240 Ohm
  1349. // 120_OHM (2) - 120 Ohm
  1350. // 80_OHM (3) - 80 Ohm
  1351. // 60_OHM (4) - 60 Ohm
  1352. // 48_OHM (5) - 48 Ohm
  1353. // 40_OHM (6) - 40 Ohm
  1354. // 34_OHM (7) - 34 Ohm
  1355. HW_IOMUXC_SW_PAD_CTL_PAD_RGMII_TX_CTL_WR(
  1356. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TX_CTL_HYS_V(ENABLED) |
  1357. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TX_CTL_PUS_V(100K_OHM_PD) |
  1358. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TX_CTL_PUE_V(PULL) |
  1359. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TX_CTL_PKE_V(ENABLED) |
  1360. BF_IOMUXC_SW_PAD_CTL_PAD_RGMII_TX_CTL_DSE_V(40_OHM));
  1361. // Pad Group Control Register:
  1362. // IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII(0x020E0768)
  1363. // DDR_SEL_RGMII [19:18] - DDR Select Field Reset: 1P2V_IO
  1364. // RESERVED0 (0) - Reserved
  1365. // RESERVED1 (1) - Reserved
  1366. // 1P2V_IO (2) - 1.2V I/O interfaces including USB HSIC and MIPI_HSI. Provides calibrated drive strengths for signals ranging from 1.0V up to 1.3V.
  1367. // 1P5V_IO (3) - 1.5V I/O interfaces including ENET. Provides calibrated drive strengths for signals ranging from 1.3V to 2.5V.
  1368. HW_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_WR(
  1369. BF_IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE_RGMII_DDR_SEL_RGMII_V(1P2V_IO));
  1370. }