mux.c 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. /*
  2. * (C) Copyright 2014 CompuLab, Ltd. <www.compulab.co.il>
  3. *
  4. * Authors: Igor Grinberg <grinberg@compulab.co.il>
  5. *
  6. * SPDX-License-Identifier: GPL-2.0+
  7. */
  8. #include <common.h>
  9. #include <asm/arch/sys_proto.h>
  10. #include <asm/arch/mux.h>
  11. #include <asm/io.h>
  12. void set_muxconf_regs(void)
  13. {
  14. /* SDRC */
  15. MUX_VAL(CP(SDRC_D0), (IEN | PTD | DIS | M0));
  16. MUX_VAL(CP(SDRC_D1), (IEN | PTD | DIS | M0));
  17. MUX_VAL(CP(SDRC_D2), (IEN | PTD | DIS | M0));
  18. MUX_VAL(CP(SDRC_D3), (IEN | PTD | DIS | M0));
  19. MUX_VAL(CP(SDRC_D4), (IEN | PTD | DIS | M0));
  20. MUX_VAL(CP(SDRC_D5), (IEN | PTD | DIS | M0));
  21. MUX_VAL(CP(SDRC_D6), (IEN | PTD | DIS | M0));
  22. MUX_VAL(CP(SDRC_D7), (IEN | PTD | DIS | M0));
  23. MUX_VAL(CP(SDRC_D8), (IEN | PTD | DIS | M0));
  24. MUX_VAL(CP(SDRC_D9), (IEN | PTD | DIS | M0));
  25. MUX_VAL(CP(SDRC_D10), (IEN | PTD | DIS | M0));
  26. MUX_VAL(CP(SDRC_D11), (IEN | PTD | DIS | M0));
  27. MUX_VAL(CP(SDRC_D12), (IEN | PTD | DIS | M0));
  28. MUX_VAL(CP(SDRC_D13), (IEN | PTD | DIS | M0));
  29. MUX_VAL(CP(SDRC_D14), (IEN | PTD | DIS | M0));
  30. MUX_VAL(CP(SDRC_D15), (IEN | PTD | DIS | M0));
  31. MUX_VAL(CP(SDRC_D16), (IEN | PTD | DIS | M0));
  32. MUX_VAL(CP(SDRC_D17), (IEN | PTD | DIS | M0));
  33. MUX_VAL(CP(SDRC_D18), (IEN | PTD | DIS | M0));
  34. MUX_VAL(CP(SDRC_D19), (IEN | PTD | DIS | M0));
  35. MUX_VAL(CP(SDRC_D20), (IEN | PTD | DIS | M0));
  36. MUX_VAL(CP(SDRC_D21), (IEN | PTD | DIS | M0));
  37. MUX_VAL(CP(SDRC_D22), (IEN | PTD | DIS | M0));
  38. MUX_VAL(CP(SDRC_D23), (IEN | PTD | DIS | M0));
  39. MUX_VAL(CP(SDRC_D24), (IEN | PTD | DIS | M0));
  40. MUX_VAL(CP(SDRC_D25), (IEN | PTD | DIS | M0));
  41. MUX_VAL(CP(SDRC_D26), (IEN | PTD | DIS | M0));
  42. MUX_VAL(CP(SDRC_D27), (IEN | PTD | DIS | M0));
  43. MUX_VAL(CP(SDRC_D28), (IEN | PTD | DIS | M0));
  44. MUX_VAL(CP(SDRC_D29), (IEN | PTD | DIS | M0));
  45. MUX_VAL(CP(SDRC_D30), (IEN | PTD | DIS | M0));
  46. MUX_VAL(CP(SDRC_D31), (IEN | PTD | DIS | M0));
  47. MUX_VAL(CP(SDRC_CLK), (IEN | PTD | DIS | M0));
  48. MUX_VAL(CP(SDRC_DQS0), (IEN | PTD | DIS | M0));
  49. MUX_VAL(CP(SDRC_DQS1), (IEN | PTD | DIS | M0));
  50. MUX_VAL(CP(SDRC_DQS2), (IEN | PTD | DIS | M0));
  51. MUX_VAL(CP(SDRC_DQS3), (IEN | PTD | DIS | M0));
  52. MUX_VAL(CP(SDRC_CKE0), (IDIS | PTU | EN | M0));
  53. MUX_VAL(CP(SDRC_CKE1), (IDIS | PTD | DIS | M7));
  54. /* GPMC */
  55. MUX_VAL(CP(GPMC_A1), (IDIS | PTU | EN | M0));
  56. MUX_VAL(CP(GPMC_A2), (IDIS | PTU | EN | M0));
  57. MUX_VAL(CP(GPMC_A3), (IDIS | PTU | EN | M0));
  58. MUX_VAL(CP(GPMC_A4), (IDIS | PTU | EN | M0));
  59. MUX_VAL(CP(GPMC_A5), (IDIS | PTU | EN | M0));
  60. MUX_VAL(CP(GPMC_A6), (IDIS | PTU | EN | M0));
  61. MUX_VAL(CP(GPMC_A7), (IDIS | PTU | EN | M0));
  62. MUX_VAL(CP(GPMC_A8), (IDIS | PTU | EN | M0));
  63. MUX_VAL(CP(GPMC_A9), (IDIS | PTU | EN | M0));
  64. MUX_VAL(CP(GPMC_A10), (IDIS | PTU | EN | M0));
  65. MUX_VAL(CP(GPMC_D0), (IEN | PTU | EN | M0));
  66. MUX_VAL(CP(GPMC_D1), (IEN | PTU | EN | M0));
  67. MUX_VAL(CP(GPMC_D2), (IEN | PTU | EN | M0));
  68. MUX_VAL(CP(GPMC_D3), (IEN | PTU | EN | M0));
  69. MUX_VAL(CP(GPMC_D4), (IEN | PTU | EN | M0));
  70. MUX_VAL(CP(GPMC_D5), (IEN | PTU | EN | M0));
  71. MUX_VAL(CP(GPMC_D6), (IEN | PTU | EN | M0));
  72. MUX_VAL(CP(GPMC_D7), (IEN | PTU | EN | M0));
  73. MUX_VAL(CP(GPMC_D8), (IEN | PTU | EN | M0));
  74. MUX_VAL(CP(GPMC_D9), (IEN | PTU | EN | M0));
  75. MUX_VAL(CP(GPMC_D10), (IEN | PTU | EN | M0));
  76. MUX_VAL(CP(GPMC_D11), (IEN | PTU | EN | M0));
  77. MUX_VAL(CP(GPMC_D12), (IEN | PTU | EN | M0));
  78. MUX_VAL(CP(GPMC_D13), (IEN | PTU | EN | M0));
  79. MUX_VAL(CP(GPMC_D14), (IEN | PTU | EN | M0));
  80. MUX_VAL(CP(GPMC_D15), (IEN | PTU | EN | M0));
  81. MUX_VAL(CP(GPMC_NCS0), (IDIS | PTU | EN | M0));
  82. /* SB-T35 SD/MMC WP GPIO59 */
  83. MUX_VAL(CP(GPMC_CLK), (IEN | PTU | EN | M4)); /*GPIO_59*/
  84. MUX_VAL(CP(GPMC_NWE), (IDIS | PTD | DIS | M0));
  85. MUX_VAL(CP(GPMC_NOE), (IDIS | PTD | DIS | M0));
  86. MUX_VAL(CP(GPMC_NADV_ALE), (IDIS | PTD | DIS | M0));
  87. MUX_VAL(CP(GPMC_NBE0_CLE), (IDIS | PTU | EN | M0));
  88. /* SB-T35 Audio Enable GPIO61 */
  89. MUX_VAL(CP(GPMC_NBE1), (IDIS | PTU | EN | M4)); /*GPIO_61*/
  90. MUX_VAL(CP(GPMC_NWP), (IEN | PTD | DIS | M0));
  91. MUX_VAL(CP(GPMC_WAIT0), (IEN | PTU | EN | M0));
  92. /* UART3 Console */
  93. MUX_VAL(CP(UART3_RX_IRRX), (IEN | PTD | DIS | M0));
  94. MUX_VAL(CP(UART3_TX_IRTX), (IDIS | PTD | DIS | M0));
  95. /* RTC V3020 nCS GPIO163 */
  96. MUX_VAL(CP(UART3_CTS_RCTX), (IEN | PTU | EN | M4)); /*GPIO_163*/
  97. /* SB-T35 SD/MMC CD GPIO144 */
  98. MUX_VAL(CP(UART2_CTS), (IEN | PTU | EN | M4)); /*GPIO_144*/
  99. /* WIFI nRESET GPIO145 */
  100. MUX_VAL(CP(UART2_RTS), (IEN | PTD | EN | M4)); /*GPIO_145*/
  101. /* USB1 PHY Reset GPIO 146 */
  102. MUX_VAL(CP(UART2_TX), (IEN | PTD | EN | M4)); /*GPIO_146*/
  103. /* USB2 PHY Reset GPIO 147 */
  104. MUX_VAL(CP(UART2_RX), (IEN | PTD | EN | M4)); /*GPIO_147*/
  105. /* MMC1 */
  106. MUX_VAL(CP(MMC1_CLK), (IDIS | PTU | EN | M0));
  107. MUX_VAL(CP(MMC1_CMD), (IEN | PTU | EN | M0));
  108. MUX_VAL(CP(MMC1_DAT0), (IEN | PTU | EN | M0));
  109. MUX_VAL(CP(MMC1_DAT1), (IEN | PTU | EN | M0));
  110. MUX_VAL(CP(MMC1_DAT2), (IEN | PTU | EN | M0));
  111. MUX_VAL(CP(MMC1_DAT3), (IEN | PTU | EN | M0));
  112. /* I2C */
  113. MUX_VAL(CP(I2C1_SCL), (IEN | PTU | EN | M0));
  114. MUX_VAL(CP(I2C1_SDA), (IEN | PTU | EN | M0));
  115. MUX_VAL(CP(I2C3_SCL), (IEN | PTU | EN | M0));
  116. MUX_VAL(CP(I2C3_SDA), (IEN | PTU | EN | M0));
  117. /* SB-T35 USB HUB Reset GPIO98 */
  118. MUX_VAL(CP(CCDC_WEN), (IDIS | PTU | EN | M4)); /*GPIO_98*/
  119. /* CM-T3517 USB HUB Reset GPIO152 */
  120. MUX_VAL(CP(MCBSP4_CLKX), (IDIS | PTD | DIS | M4)); /*GPIO_152*/
  121. /* Green LED GPIO186 */
  122. MUX_VAL(CP(SYS_CLKOUT2), (IDIS | PTU | DIS | M4)); /*GPIO_186*/
  123. /* RTC V3020 CS Enable GPIO160 */
  124. MUX_VAL(CP(MCBSP_CLKS), (IEN | PTD | EN | M4)); /*GPIO_160*/
  125. /* USB0 - mUSB */
  126. MUX_VAL(CP(USB0_DRVBUS), (IEN | PTD | EN | M0));
  127. /* USB1 EHCI */
  128. MUX_VAL(CP(ETK_D0_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT0*/
  129. MUX_VAL(CP(ETK_D1_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT1*/
  130. MUX_VAL(CP(ETK_D2_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT2*/
  131. MUX_VAL(CP(ETK_D7_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT3*/
  132. MUX_VAL(CP(ETK_D4_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT4*/
  133. MUX_VAL(CP(ETK_D5_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT5*/
  134. MUX_VAL(CP(ETK_D6_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT6*/
  135. MUX_VAL(CP(ETK_D3_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DT7*/
  136. MUX_VAL(CP(ETK_D8_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_DIR*/
  137. MUX_VAL(CP(ETK_D9_ES2), (IEN | PTD | EN | M3)); /*HSUSB1_NXT*/
  138. MUX_VAL(CP(ETK_CTL_ES2), (IDIS | PTD | DIS | M3)); /*HSUSB1_CLK*/
  139. MUX_VAL(CP(ETK_CLK_ES2), (IDIS | PTU | DIS | M3)); /*HSUSB1_STP*/
  140. /* USB2 EHCI */
  141. MUX_VAL(CP(ETK_D14_ES2), (IEN | PTD | EN | M3)); /*HSUSB2_DT0*/
  142. MUX_VAL(CP(ETK_D15_ES2), (IEN | PTD | EN | M3)); /*HSUSB2_DT1*/
  143. MUX_VAL(CP(MCSPI1_CS3), (IEN | PTD | EN | M3)); /*HSUSB2_DT2*/
  144. MUX_VAL(CP(MCSPI2_CS1), (IEN | PTD | EN | M3)); /*HSUSB2_DT3*/
  145. MUX_VAL(CP(MCSPI2_SIMO), (IEN | PTD | EN | M3)); /*HSUSB2_DT4*/
  146. MUX_VAL(CP(MCSPI2_SOMI), (IEN | PTD | EN | M3)); /*HSUSB2_DT5*/
  147. MUX_VAL(CP(MCSPI2_CS0), (IEN | PTD | EN | M3)); /*HSUSB2_DT6*/
  148. MUX_VAL(CP(MCSPI2_CLK), (IEN | PTD | EN | M3)); /*HSUSB2_DT7*/
  149. MUX_VAL(CP(ETK_D12_ES2), (IEN | PTD | EN | M3)); /*HSUSB2_DIR*/
  150. MUX_VAL(CP(ETK_D13_ES2), (IEN | PTD | EN | M3)); /*HSUSB2_NXT*/
  151. MUX_VAL(CP(ETK_D10_ES2), (IDIS | PTD | DIS | M3)); /*HSUSB2_CLK*/
  152. MUX_VAL(CP(ETK_D11_ES2), (IDIS | PTU | DIS | M3)); /*HSUSB2_STP*/
  153. /* SYS_BOOT */
  154. MUX_VAL(CP(SYS_BOOT0), (IEN | PTU | DIS | M4)); /*GPIO_2*/
  155. MUX_VAL(CP(SYS_BOOT1), (IEN | PTU | DIS | M4)); /*GPIO_3*/
  156. MUX_VAL(CP(SYS_BOOT2), (IEN | PTU | DIS | M4)); /*GPIO_4*/
  157. MUX_VAL(CP(SYS_BOOT3), (IEN | PTU | DIS | M4)); /*GPIO_5*/
  158. MUX_VAL(CP(SYS_BOOT4), (IEN | PTU | DIS | M4)); /*GPIO_6*/
  159. MUX_VAL(CP(SYS_BOOT5), (IEN | PTU | DIS | M4)); /*GPIO_7*/
  160. }