nutool_pincfg.c 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521
  1. /****************************************************************************
  2. * @file nutool_pincfg.c
  3. * @version V1.20
  4. * @Date 2020/04/08-17:46:57
  5. * @brief NuMicro generated code file
  6. *
  7. * SPDX-License-Identifier: Apache-2.0
  8. * Copyright (C) 2013-2020 Nuvoton Technology Corp. All rights reserved.
  9. *****************************************************************************/
  10. /********************
  11. MCU:M487JIDAE(LQFP144)
  12. ********************/
  13. #include "M480.h"
  14. void nutool_pincfg_init_clko(void)
  15. {
  16. SYS->GPD_MFPH &= ~(SYS_GPD_MFPH_PD12MFP_Msk);
  17. SYS->GPD_MFPH |= (SYS_GPD_MFPH_PD12MFP_CLKO);
  18. return;
  19. }
  20. void nutool_pincfg_deinit_clko(void)
  21. {
  22. SYS->GPD_MFPH &= ~(SYS_GPD_MFPH_PD12MFP_Msk);
  23. return;
  24. }
  25. void nutool_pincfg_init_eadc0(void)
  26. {
  27. SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB14MFP_Msk | SYS_GPB_MFPH_PB9MFP_Msk | SYS_GPB_MFPH_PB8MFP_Msk);
  28. SYS->GPB_MFPH |= (SYS_GPB_MFPH_PB14MFP_EADC0_CH14 | SYS_GPB_MFPH_PB9MFP_EADC0_CH9 | SYS_GPB_MFPH_PB8MFP_EADC0_CH8);
  29. SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB7MFP_Msk | SYS_GPB_MFPL_PB6MFP_Msk | SYS_GPB_MFPL_PB1MFP_Msk | SYS_GPB_MFPL_PB0MFP_Msk);
  30. SYS->GPB_MFPL |= (SYS_GPB_MFPL_PB7MFP_EADC0_CH7 | SYS_GPB_MFPL_PB6MFP_EADC0_CH6 | SYS_GPB_MFPL_PB1MFP_EADC0_CH1 | SYS_GPB_MFPL_PB0MFP_EADC0_CH0);
  31. /* Disable digital path on these EADC pins */
  32. GPIO_DISABLE_DIGITAL_PATH(PB, BIT0 | BIT1 | BIT6 | BIT7 | BIT8 | BIT9 | BIT14);
  33. return;
  34. }
  35. void nutool_pincfg_deinit_eadc0(void)
  36. {
  37. SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB14MFP_Msk | SYS_GPB_MFPH_PB9MFP_Msk | SYS_GPB_MFPH_PB8MFP_Msk);
  38. SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB7MFP_Msk | SYS_GPB_MFPL_PB6MFP_Msk | SYS_GPB_MFPL_PB1MFP_Msk | SYS_GPB_MFPL_PB0MFP_Msk);
  39. return;
  40. }
  41. void nutool_pincfg_init_emac(void)
  42. {
  43. SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA7MFP_Msk | SYS_GPA_MFPL_PA6MFP_Msk);
  44. SYS->GPA_MFPL |= (SYS_GPA_MFPL_PA7MFP_EMAC_RMII_CRSDV | SYS_GPA_MFPL_PA6MFP_EMAC_RMII_RXERR);
  45. SYS->GPC_MFPH &= ~(SYS_GPC_MFPH_PC8MFP_Msk);
  46. SYS->GPC_MFPH |= (SYS_GPC_MFPH_PC8MFP_EMAC_RMII_REFCLK);
  47. SYS->GPC_MFPL &= ~(SYS_GPC_MFPL_PC7MFP_Msk | SYS_GPC_MFPL_PC6MFP_Msk);
  48. SYS->GPC_MFPL |= (SYS_GPC_MFPL_PC7MFP_EMAC_RMII_RXD0 | SYS_GPC_MFPL_PC6MFP_EMAC_RMII_RXD1);
  49. SYS->GPE_MFPH &= ~(SYS_GPE_MFPH_PE12MFP_Msk | SYS_GPE_MFPH_PE11MFP_Msk | SYS_GPE_MFPH_PE10MFP_Msk | SYS_GPE_MFPH_PE9MFP_Msk | SYS_GPE_MFPH_PE8MFP_Msk);
  50. SYS->GPE_MFPH |= (SYS_GPE_MFPH_PE12MFP_EMAC_RMII_TXEN | SYS_GPE_MFPH_PE11MFP_EMAC_RMII_TXD1 | SYS_GPE_MFPH_PE10MFP_EMAC_RMII_TXD0 | SYS_GPE_MFPH_PE9MFP_EMAC_RMII_MDIO | SYS_GPE_MFPH_PE8MFP_EMAC_RMII_MDC);
  51. /* Enable high slew rate on all RMII TX output pins */
  52. GPIO_SetSlewCtl(PE, BIT10 | BIT11 | BIT12, GPIO_SLEWCTL_HIGH);
  53. return;
  54. }
  55. void nutool_pincfg_deinit_emac(void)
  56. {
  57. SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA7MFP_Msk | SYS_GPA_MFPL_PA6MFP_Msk);
  58. SYS->GPC_MFPH &= ~(SYS_GPC_MFPH_PC8MFP_Msk);
  59. SYS->GPC_MFPL &= ~(SYS_GPC_MFPL_PC7MFP_Msk | SYS_GPC_MFPL_PC6MFP_Msk);
  60. SYS->GPE_MFPH &= ~(SYS_GPE_MFPH_PE12MFP_Msk | SYS_GPE_MFPH_PE11MFP_Msk | SYS_GPE_MFPH_PE10MFP_Msk | SYS_GPE_MFPH_PE9MFP_Msk | SYS_GPE_MFPH_PE8MFP_Msk);
  61. return;
  62. }
  63. void nutool_pincfg_init_epwm0(void)
  64. {
  65. SYS->GPD_MFPH &= ~(SYS_GPD_MFPH_PD14MFP_Msk);
  66. SYS->GPD_MFPH |= (SYS_GPD_MFPH_PD14MFP_EPWM0_CH4);
  67. return;
  68. }
  69. void nutool_pincfg_deinit_epwm0(void)
  70. {
  71. SYS->GPD_MFPH &= ~(SYS_GPD_MFPH_PD14MFP_Msk);
  72. return;
  73. }
  74. void nutool_pincfg_init_hsusb(void)
  75. {
  76. SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB11MFP_Msk | SYS_GPB_MFPH_PB10MFP_Msk);
  77. SYS->GPB_MFPH |= (SYS_GPB_MFPH_PB11MFP_HSUSB_VBUS_ST | SYS_GPB_MFPH_PB10MFP_HSUSB_VBUS_EN);
  78. return;
  79. }
  80. void nutool_pincfg_deinit_hsusb(void)
  81. {
  82. SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB11MFP_Msk | SYS_GPB_MFPH_PB10MFP_Msk);
  83. return;
  84. }
  85. void nutool_pincfg_init_i2c0(void)
  86. {
  87. SYS->GPG_MFPL &= ~(SYS_GPG_MFPL_PG1MFP_Msk | SYS_GPG_MFPL_PG0MFP_Msk);
  88. SYS->GPG_MFPL |= (SYS_GPG_MFPL_PG1MFP_I2C0_SDA | SYS_GPG_MFPL_PG0MFP_I2C0_SCL);
  89. GPIO_SetPullCtl(PG, BIT0 | BIT1, GPIO_PUSEL_PULL_UP);
  90. return;
  91. }
  92. void nutool_pincfg_deinit_i2c0(void)
  93. {
  94. SYS->GPG_MFPL &= ~(SYS_GPG_MFPL_PG1MFP_Msk | SYS_GPG_MFPL_PG0MFP_Msk);
  95. return;
  96. }
  97. void nutool_pincfg_init_i2c1(void)
  98. {
  99. SYS->GPG_MFPL &= ~(SYS_GPG_MFPL_PG3MFP_Msk | SYS_GPG_MFPL_PG2MFP_Msk);
  100. SYS->GPG_MFPL |= (SYS_GPG_MFPL_PG3MFP_I2C1_SDA | SYS_GPG_MFPL_PG2MFP_I2C1_SCL);
  101. GPIO_SetPullCtl(PG, BIT2 | BIT3, GPIO_PUSEL_PULL_UP);
  102. return;
  103. }
  104. void nutool_pincfg_deinit_i2c1(void)
  105. {
  106. SYS->GPG_MFPL &= ~(SYS_GPG_MFPL_PG3MFP_Msk | SYS_GPG_MFPL_PG2MFP_Msk);
  107. return;
  108. }
  109. void nutool_pincfg_init_i2c2(void)
  110. {
  111. SYS->GPD_MFPL &= ~(SYS_GPD_MFPL_PD1MFP_Msk | SYS_GPD_MFPL_PD0MFP_Msk);
  112. SYS->GPD_MFPL |= (SYS_GPD_MFPL_PD1MFP_I2C2_SCL | SYS_GPD_MFPL_PD0MFP_I2C2_SDA);
  113. GPIO_SetPullCtl(PD, BIT0 | BIT1, GPIO_PUSEL_PULL_UP);
  114. return;
  115. }
  116. void nutool_pincfg_deinit_i2c2(void)
  117. {
  118. SYS->GPD_MFPL &= ~(SYS_GPD_MFPL_PD1MFP_Msk | SYS_GPD_MFPL_PD0MFP_Msk);
  119. return;
  120. }
  121. void nutool_pincfg_init_i2s0(void)
  122. {
  123. SYS->GPF_MFPH &= ~(SYS_GPF_MFPH_PF10MFP_Msk | SYS_GPF_MFPH_PF9MFP_Msk | SYS_GPF_MFPH_PF8MFP_Msk);
  124. SYS->GPF_MFPH |= (SYS_GPF_MFPH_PF10MFP_I2S0_BCLK | SYS_GPF_MFPH_PF9MFP_I2S0_MCLK | SYS_GPF_MFPH_PF8MFP_I2S0_DI);
  125. SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF7MFP_Msk | SYS_GPF_MFPL_PF6MFP_Msk);
  126. SYS->GPF_MFPL |= (SYS_GPF_MFPL_PF7MFP_I2S0_DO | SYS_GPF_MFPL_PF6MFP_I2S0_LRCK);
  127. return;
  128. }
  129. void nutool_pincfg_deinit_i2s0(void)
  130. {
  131. SYS->GPF_MFPH &= ~(SYS_GPF_MFPH_PF10MFP_Msk | SYS_GPF_MFPH_PF9MFP_Msk | SYS_GPF_MFPH_PF8MFP_Msk);
  132. SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF7MFP_Msk | SYS_GPF_MFPL_PF6MFP_Msk);
  133. return;
  134. }
  135. void nutool_pincfg_init_ice(void)
  136. {
  137. SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF1MFP_Msk | SYS_GPF_MFPL_PF0MFP_Msk);
  138. SYS->GPF_MFPL |= (SYS_GPF_MFPL_PF1MFP_ICE_CLK | SYS_GPF_MFPL_PF0MFP_ICE_DAT);
  139. return;
  140. }
  141. void nutool_pincfg_deinit_ice(void)
  142. {
  143. SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF1MFP_Msk | SYS_GPF_MFPL_PF0MFP_Msk);
  144. return;
  145. }
  146. void nutool_pincfg_init_pa(void)
  147. {
  148. SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA5MFP_Msk | SYS_GPA_MFPL_PA4MFP_Msk | SYS_GPA_MFPL_PA3MFP_Msk | SYS_GPA_MFPL_PA2MFP_Msk | SYS_GPA_MFPL_PA1MFP_Msk | SYS_GPA_MFPL_PA0MFP_Msk);
  149. SYS->GPA_MFPL |= (SYS_GPA_MFPL_PA5MFP_GPIO | SYS_GPA_MFPL_PA4MFP_GPIO | SYS_GPA_MFPL_PA3MFP_GPIO | SYS_GPA_MFPL_PA2MFP_GPIO | SYS_GPA_MFPL_PA1MFP_GPIO | SYS_GPA_MFPL_PA0MFP_GPIO);
  150. return;
  151. }
  152. void nutool_pincfg_deinit_pa(void)
  153. {
  154. SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA5MFP_Msk | SYS_GPA_MFPL_PA4MFP_Msk | SYS_GPA_MFPL_PA3MFP_Msk | SYS_GPA_MFPL_PA2MFP_Msk | SYS_GPA_MFPL_PA1MFP_Msk | SYS_GPA_MFPL_PA0MFP_Msk);
  155. return;
  156. }
  157. void nutool_pincfg_init_pb(void)
  158. {
  159. SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB3MFP_Msk | SYS_GPB_MFPL_PB2MFP_Msk);
  160. SYS->GPB_MFPL |= (SYS_GPB_MFPL_PB3MFP_GPIO | SYS_GPB_MFPL_PB2MFP_GPIO);
  161. return;
  162. }
  163. void nutool_pincfg_deinit_pb(void)
  164. {
  165. SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB3MFP_Msk | SYS_GPB_MFPL_PB2MFP_Msk);
  166. return;
  167. }
  168. void nutool_pincfg_init_pc(void)
  169. {
  170. SYS->GPC_MFPH &= ~(SYS_GPC_MFPH_PC13MFP_Msk | SYS_GPC_MFPH_PC12MFP_Msk | SYS_GPC_MFPH_PC11MFP_Msk | SYS_GPC_MFPH_PC10MFP_Msk | SYS_GPC_MFPH_PC9MFP_Msk);
  171. SYS->GPC_MFPH |= (SYS_GPC_MFPH_PC13MFP_GPIO | SYS_GPC_MFPH_PC12MFP_GPIO | SYS_GPC_MFPH_PC11MFP_GPIO | SYS_GPC_MFPH_PC10MFP_GPIO | SYS_GPC_MFPH_PC9MFP_GPIO);
  172. return;
  173. }
  174. void nutool_pincfg_deinit_pc(void)
  175. {
  176. SYS->GPC_MFPH &= ~(SYS_GPC_MFPH_PC13MFP_Msk | SYS_GPC_MFPH_PC12MFP_Msk | SYS_GPC_MFPH_PC11MFP_Msk | SYS_GPC_MFPH_PC10MFP_Msk | SYS_GPC_MFPH_PC9MFP_Msk);
  177. return;
  178. }
  179. void nutool_pincfg_init_pd(void)
  180. {
  181. SYS->GPD_MFPH &= ~(SYS_GPD_MFPH_PD11MFP_Msk | SYS_GPD_MFPH_PD10MFP_Msk | SYS_GPD_MFPH_PD9MFP_Msk | SYS_GPD_MFPH_PD8MFP_Msk);
  182. SYS->GPD_MFPH |= (SYS_GPD_MFPH_PD11MFP_GPIO | SYS_GPD_MFPH_PD10MFP_GPIO | SYS_GPD_MFPH_PD9MFP_GPIO | SYS_GPD_MFPH_PD8MFP_GPIO);
  183. SYS->GPD_MFPL &= ~(SYS_GPD_MFPL_PD3MFP_Msk | SYS_GPD_MFPL_PD2MFP_Msk);
  184. SYS->GPD_MFPL |= (SYS_GPD_MFPL_PD3MFP_GPIO | SYS_GPD_MFPL_PD2MFP_GPIO);
  185. return;
  186. }
  187. void nutool_pincfg_deinit_pd(void)
  188. {
  189. SYS->GPD_MFPH &= ~(SYS_GPD_MFPH_PD11MFP_Msk | SYS_GPD_MFPH_PD10MFP_Msk | SYS_GPD_MFPH_PD9MFP_Msk | SYS_GPD_MFPH_PD8MFP_Msk);
  190. SYS->GPD_MFPL &= ~(SYS_GPD_MFPL_PD3MFP_Msk | SYS_GPD_MFPL_PD2MFP_Msk);
  191. return;
  192. }
  193. void nutool_pincfg_init_pe(void)
  194. {
  195. SYS->GPE_MFPH &= ~(SYS_GPE_MFPH_PE13MFP_Msk);
  196. SYS->GPE_MFPH |= (SYS_GPE_MFPH_PE13MFP_GPIO);
  197. SYS->GPE_MFPL &= ~(SYS_GPE_MFPL_PE5MFP_Msk | SYS_GPE_MFPL_PE4MFP_Msk | SYS_GPE_MFPL_PE1MFP_Msk | SYS_GPE_MFPL_PE0MFP_Msk);
  198. SYS->GPE_MFPL |= (SYS_GPE_MFPL_PE5MFP_GPIO | SYS_GPE_MFPL_PE4MFP_GPIO | SYS_GPE_MFPL_PE1MFP_GPIO | SYS_GPE_MFPL_PE0MFP_GPIO);
  199. return;
  200. }
  201. void nutool_pincfg_deinit_pe(void)
  202. {
  203. SYS->GPE_MFPH &= ~(SYS_GPE_MFPH_PE13MFP_Msk);
  204. SYS->GPE_MFPL &= ~(SYS_GPE_MFPL_PE5MFP_Msk | SYS_GPE_MFPL_PE4MFP_Msk | SYS_GPE_MFPL_PE1MFP_Msk | SYS_GPE_MFPL_PE0MFP_Msk);
  205. return;
  206. }
  207. void nutool_pincfg_init_pg(void)
  208. {
  209. SYS->GPG_MFPH &= ~(SYS_GPG_MFPH_PG15MFP_Msk | SYS_GPG_MFPH_PG14MFP_Msk | SYS_GPG_MFPH_PG13MFP_Msk | SYS_GPG_MFPH_PG12MFP_Msk | SYS_GPG_MFPH_PG11MFP_Msk | SYS_GPG_MFPH_PG10MFP_Msk | SYS_GPG_MFPH_PG9MFP_Msk | SYS_GPG_MFPH_PG8MFP_Msk);
  210. SYS->GPG_MFPH |= (SYS_GPG_MFPH_PG15MFP_GPIO | SYS_GPG_MFPH_PG14MFP_GPIO | SYS_GPG_MFPH_PG13MFP_GPIO | SYS_GPG_MFPH_PG12MFP_GPIO | SYS_GPG_MFPH_PG11MFP_GPIO | SYS_GPG_MFPH_PG10MFP_GPIO | SYS_GPG_MFPH_PG9MFP_GPIO | SYS_GPG_MFPH_PG8MFP_GPIO);
  211. SYS->GPG_MFPL &= ~(SYS_GPG_MFPL_PG7MFP_Msk | SYS_GPG_MFPL_PG6MFP_Msk | SYS_GPG_MFPL_PG5MFP_Msk | SYS_GPG_MFPL_PG4MFP_Msk);
  212. SYS->GPG_MFPL |= (SYS_GPG_MFPL_PG7MFP_GPIO | SYS_GPG_MFPL_PG6MFP_GPIO | SYS_GPG_MFPL_PG5MFP_GPIO | SYS_GPG_MFPL_PG4MFP_GPIO);
  213. return;
  214. }
  215. void nutool_pincfg_deinit_pg(void)
  216. {
  217. SYS->GPG_MFPH &= ~(SYS_GPG_MFPH_PG15MFP_Msk | SYS_GPG_MFPH_PG14MFP_Msk | SYS_GPG_MFPH_PG13MFP_Msk | SYS_GPG_MFPH_PG12MFP_Msk | SYS_GPG_MFPH_PG11MFP_Msk | SYS_GPG_MFPH_PG10MFP_Msk | SYS_GPG_MFPH_PG9MFP_Msk | SYS_GPG_MFPH_PG8MFP_Msk);
  218. SYS->GPG_MFPL &= ~(SYS_GPG_MFPL_PG7MFP_Msk | SYS_GPG_MFPL_PG6MFP_Msk | SYS_GPG_MFPL_PG5MFP_Msk | SYS_GPG_MFPL_PG4MFP_Msk);
  219. return;
  220. }
  221. void nutool_pincfg_init_ph(void)
  222. {
  223. SYS->GPH_MFPH &= ~(SYS_GPH_MFPH_PH11MFP_Msk | SYS_GPH_MFPH_PH10MFP_Msk);
  224. SYS->GPH_MFPH |= (SYS_GPH_MFPH_PH11MFP_GPIO | SYS_GPH_MFPH_PH10MFP_GPIO);
  225. SYS->GPH_MFPL &= ~(SYS_GPH_MFPL_PH3MFP_Msk | SYS_GPH_MFPL_PH2MFP_Msk | SYS_GPH_MFPL_PH1MFP_Msk | SYS_GPH_MFPL_PH0MFP_Msk);
  226. SYS->GPH_MFPL |= (SYS_GPH_MFPL_PH3MFP_GPIO | SYS_GPH_MFPL_PH2MFP_GPIO | SYS_GPH_MFPL_PH1MFP_GPIO | SYS_GPH_MFPL_PH0MFP_GPIO);
  227. return;
  228. }
  229. void nutool_pincfg_deinit_ph(void)
  230. {
  231. SYS->GPH_MFPH &= ~(SYS_GPH_MFPH_PH11MFP_Msk | SYS_GPH_MFPH_PH10MFP_Msk);
  232. SYS->GPH_MFPL &= ~(SYS_GPH_MFPL_PH3MFP_Msk | SYS_GPH_MFPL_PH2MFP_Msk | SYS_GPH_MFPL_PH1MFP_Msk | SYS_GPH_MFPL_PH0MFP_Msk);
  233. return;
  234. }
  235. void nutool_pincfg_init_qspi0(void)
  236. {
  237. SYS->GPC_MFPL &= ~(SYS_GPC_MFPL_PC5MFP_Msk | SYS_GPC_MFPL_PC4MFP_Msk | SYS_GPC_MFPL_PC3MFP_Msk | SYS_GPC_MFPL_PC2MFP_Msk | SYS_GPC_MFPL_PC1MFP_Msk | SYS_GPC_MFPL_PC0MFP_Msk);
  238. SYS->GPC_MFPL |= (SYS_GPC_MFPL_PC5MFP_QSPI0_MISO1 | SYS_GPC_MFPL_PC4MFP_QSPI0_MOSI1 | SYS_GPC_MFPL_PC3MFP_QSPI0_SS | SYS_GPC_MFPL_PC2MFP_QSPI0_CLK | SYS_GPC_MFPL_PC1MFP_QSPI0_MISO0 | SYS_GPC_MFPL_PC0MFP_QSPI0_MOSI0);
  239. return;
  240. }
  241. void nutool_pincfg_deinit_qspi0(void)
  242. {
  243. SYS->GPC_MFPL &= ~(SYS_GPC_MFPL_PC5MFP_Msk | SYS_GPC_MFPL_PC4MFP_Msk | SYS_GPC_MFPL_PC3MFP_Msk | SYS_GPC_MFPL_PC2MFP_Msk | SYS_GPC_MFPL_PC1MFP_Msk | SYS_GPC_MFPL_PC0MFP_Msk);
  244. return;
  245. }
  246. void nutool_pincfg_init_sd0(void)
  247. {
  248. SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB5MFP_Msk | SYS_GPB_MFPL_PB4MFP_Msk);
  249. SYS->GPB_MFPL |= (SYS_GPB_MFPL_PB5MFP_SD0_DAT3 | SYS_GPB_MFPL_PB4MFP_SD0_DAT2);
  250. SYS->GPD_MFPH &= ~(SYS_GPD_MFPH_PD13MFP_Msk);
  251. SYS->GPD_MFPH |= (SYS_GPD_MFPH_PD13MFP_SD0_nCD);
  252. SYS->GPE_MFPL &= ~(SYS_GPE_MFPL_PE7MFP_Msk | SYS_GPE_MFPL_PE6MFP_Msk | SYS_GPE_MFPL_PE3MFP_Msk | SYS_GPE_MFPL_PE2MFP_Msk);
  253. SYS->GPE_MFPL |= (SYS_GPE_MFPL_PE7MFP_SD0_CMD | SYS_GPE_MFPL_PE6MFP_SD0_CLK | SYS_GPE_MFPL_PE3MFP_SD0_DAT1 | SYS_GPE_MFPL_PE2MFP_SD0_DAT0);
  254. return;
  255. }
  256. void nutool_pincfg_deinit_sd0(void)
  257. {
  258. SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB5MFP_Msk | SYS_GPB_MFPL_PB4MFP_Msk);
  259. SYS->GPD_MFPH &= ~(SYS_GPD_MFPH_PD13MFP_Msk);
  260. SYS->GPE_MFPL &= ~(SYS_GPE_MFPL_PE7MFP_Msk | SYS_GPE_MFPL_PE6MFP_Msk | SYS_GPE_MFPL_PE3MFP_Msk | SYS_GPE_MFPL_PE2MFP_Msk);
  261. return;
  262. }
  263. void nutool_pincfg_init_spi1(void)
  264. {
  265. SYS->GPH_MFPL &= ~(SYS_GPH_MFPL_PH7MFP_Msk | SYS_GPH_MFPL_PH6MFP_Msk | SYS_GPH_MFPL_PH5MFP_Msk | SYS_GPH_MFPL_PH4MFP_Msk);
  266. SYS->GPH_MFPL |= (SYS_GPH_MFPL_PH7MFP_SPI1_SS | SYS_GPH_MFPL_PH6MFP_SPI1_CLK | SYS_GPH_MFPL_PH5MFP_SPI1_MOSI | SYS_GPH_MFPL_PH4MFP_SPI1_MISO);
  267. return;
  268. }
  269. void nutool_pincfg_deinit_spi1(void)
  270. {
  271. SYS->GPH_MFPL &= ~(SYS_GPH_MFPL_PH7MFP_Msk | SYS_GPH_MFPL_PH6MFP_Msk | SYS_GPH_MFPL_PH5MFP_Msk | SYS_GPH_MFPL_PH4MFP_Msk);
  272. return;
  273. }
  274. void nutool_pincfg_init_spi2(void)
  275. {
  276. SYS->GPA_MFPH &= ~(SYS_GPA_MFPH_PA11MFP_Msk | SYS_GPA_MFPH_PA10MFP_Msk | SYS_GPA_MFPH_PA9MFP_Msk | SYS_GPA_MFPH_PA8MFP_Msk);
  277. SYS->GPA_MFPH |= (SYS_GPA_MFPH_PA11MFP_SPI2_SS | SYS_GPA_MFPH_PA10MFP_SPI2_CLK | SYS_GPA_MFPH_PA9MFP_SPI2_MISO | SYS_GPA_MFPH_PA8MFP_SPI2_MOSI);
  278. return;
  279. }
  280. void nutool_pincfg_deinit_spi2(void)
  281. {
  282. SYS->GPA_MFPH &= ~(SYS_GPA_MFPH_PA11MFP_Msk | SYS_GPA_MFPH_PA10MFP_Msk | SYS_GPA_MFPH_PA9MFP_Msk | SYS_GPA_MFPH_PA8MFP_Msk);
  283. return;
  284. }
  285. void nutool_pincfg_init_uart0(void)
  286. {
  287. SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB13MFP_Msk | SYS_GPB_MFPH_PB12MFP_Msk);
  288. SYS->GPB_MFPH |= (SYS_GPB_MFPH_PB13MFP_UART0_TXD | SYS_GPB_MFPH_PB12MFP_UART0_RXD);
  289. return;
  290. }
  291. void nutool_pincfg_deinit_uart0(void)
  292. {
  293. SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB13MFP_Msk | SYS_GPB_MFPH_PB12MFP_Msk);
  294. return;
  295. }
  296. void nutool_pincfg_init_uart1(void)
  297. {
  298. SYS->GPH_MFPH &= ~(SYS_GPH_MFPH_PH9MFP_Msk | SYS_GPH_MFPH_PH8MFP_Msk);
  299. SYS->GPH_MFPH |= (SYS_GPH_MFPH_PH9MFP_UART1_RXD | SYS_GPH_MFPH_PH8MFP_UART1_TXD);
  300. return;
  301. }
  302. void nutool_pincfg_deinit_uart1(void)
  303. {
  304. SYS->GPH_MFPH &= ~(SYS_GPH_MFPH_PH9MFP_Msk | SYS_GPH_MFPH_PH8MFP_Msk);
  305. return;
  306. }
  307. void nutool_pincfg_init_uart2(void)
  308. {
  309. SYS->GPE_MFPH &= ~(SYS_GPE_MFPH_PE15MFP_Msk | SYS_GPE_MFPH_PE14MFP_Msk);
  310. SYS->GPE_MFPH |= (SYS_GPE_MFPH_PE15MFP_UART2_RXD | SYS_GPE_MFPH_PE14MFP_UART2_TXD);
  311. return;
  312. }
  313. void nutool_pincfg_deinit_uart2(void)
  314. {
  315. SYS->GPE_MFPH &= ~(SYS_GPE_MFPH_PE15MFP_Msk | SYS_GPE_MFPH_PE14MFP_Msk);
  316. return;
  317. }
  318. void nutool_pincfg_init_usb(void)
  319. {
  320. SYS->GPA_MFPH &= ~(SYS_GPA_MFPH_PA15MFP_Msk | SYS_GPA_MFPH_PA14MFP_Msk | SYS_GPA_MFPH_PA13MFP_Msk | SYS_GPA_MFPH_PA12MFP_Msk);
  321. SYS->GPA_MFPH |= (SYS_GPA_MFPH_PA15MFP_USB_OTG_ID | SYS_GPA_MFPH_PA14MFP_USB_D_P | SYS_GPA_MFPH_PA13MFP_USB_D_N | SYS_GPA_MFPH_PA12MFP_USB_VBUS);
  322. SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB15MFP_Msk | SYS_GPB_MFPH_PB11MFP_Msk | SYS_GPB_MFPH_PB10MFP_Msk);
  323. SYS->GPB_MFPH |= (SYS_GPB_MFPH_PB15MFP_USB_VBUS_EN | SYS_GPB_MFPH_PB11MFP_HSUSB_VBUS_ST | SYS_GPB_MFPH_PB10MFP_HSUSB_VBUS_EN);
  324. SYS->GPC_MFPH &= ~(SYS_GPC_MFPH_PC14MFP_Msk);
  325. SYS->GPC_MFPH |= (SYS_GPC_MFPH_PC14MFP_USB_VBUS_ST);
  326. return;
  327. }
  328. void nutool_pincfg_deinit_usb(void)
  329. {
  330. SYS->GPA_MFPH &= ~(SYS_GPA_MFPH_PA15MFP_Msk | SYS_GPA_MFPH_PA14MFP_Msk | SYS_GPA_MFPH_PA13MFP_Msk | SYS_GPA_MFPH_PA12MFP_Msk);
  331. SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB15MFP_Msk | SYS_GPB_MFPH_PB11MFP_Msk | SYS_GPB_MFPH_PB10MFP_Msk);
  332. SYS->GPC_MFPH &= ~(SYS_GPC_MFPH_PC14MFP_Msk);
  333. return;
  334. }
  335. void nutool_pincfg_init(void)
  336. {
  337. //SYS->GPA_MFPH = 0xEEEE4444;
  338. //SYS->GPA_MFPL = 0x33000000;
  339. //SYS->GPB_MFPH = 0xE166EE11;
  340. //SYS->GPB_MFPL = 0x11330011;
  341. //SYS->GPC_MFPH = 0x0E000003;
  342. //SYS->GPC_MFPL = 0x33444444;
  343. //SYS->GPD_MFPH = 0x0B3D0000;
  344. //SYS->GPD_MFPL = 0x00000066;
  345. //SYS->GPE_MFPH = 0x33033333;
  346. //SYS->GPE_MFPL = 0x33003300;
  347. //SYS->GPF_MFPH = 0x00000000;
  348. //SYS->GPF_MFPL = 0x000000EE;
  349. //SYS->GPG_MFPH = 0x00000000;
  350. //SYS->GPG_MFPL = 0x00005544;
  351. //SYS->GPH_MFPH = 0x000000AA;
  352. //SYS->GPH_MFPL = 0x33330000;
  353. nutool_pincfg_init_clko();
  354. nutool_pincfg_init_eadc0();
  355. nutool_pincfg_init_emac();
  356. nutool_pincfg_init_epwm0();
  357. nutool_pincfg_init_hsusb();
  358. nutool_pincfg_init_i2c0();
  359. nutool_pincfg_init_i2c1();
  360. nutool_pincfg_init_i2c2();
  361. nutool_pincfg_init_i2s0();
  362. nutool_pincfg_init_ice();
  363. nutool_pincfg_init_pa();
  364. nutool_pincfg_init_pb();
  365. nutool_pincfg_init_pc();
  366. nutool_pincfg_init_pd();
  367. nutool_pincfg_init_pe();
  368. nutool_pincfg_init_pg();
  369. nutool_pincfg_init_ph();
  370. nutool_pincfg_init_qspi0();
  371. nutool_pincfg_init_sd0();
  372. nutool_pincfg_init_spi1();
  373. nutool_pincfg_init_spi2();
  374. nutool_pincfg_init_uart0();
  375. nutool_pincfg_init_uart1();
  376. nutool_pincfg_init_uart2();
  377. nutool_pincfg_init_usb();
  378. return;
  379. }
  380. void nutool_pincfg_deinit(void)
  381. {
  382. nutool_pincfg_deinit_clko();
  383. nutool_pincfg_deinit_eadc0();
  384. nutool_pincfg_deinit_emac();
  385. nutool_pincfg_deinit_epwm0();
  386. nutool_pincfg_deinit_hsusb();
  387. nutool_pincfg_deinit_i2c0();
  388. nutool_pincfg_deinit_i2c1();
  389. nutool_pincfg_deinit_i2c2();
  390. nutool_pincfg_deinit_i2s0();
  391. nutool_pincfg_deinit_ice();
  392. nutool_pincfg_deinit_pa();
  393. nutool_pincfg_deinit_pb();
  394. nutool_pincfg_deinit_pc();
  395. nutool_pincfg_deinit_pd();
  396. nutool_pincfg_deinit_pe();
  397. nutool_pincfg_deinit_pg();
  398. nutool_pincfg_deinit_ph();
  399. nutool_pincfg_deinit_qspi0();
  400. nutool_pincfg_deinit_sd0();
  401. nutool_pincfg_deinit_spi1();
  402. nutool_pincfg_deinit_spi2();
  403. nutool_pincfg_deinit_uart0();
  404. nutool_pincfg_deinit_uart1();
  405. nutool_pincfg_deinit_uart2();
  406. nutool_pincfg_deinit_usb();
  407. return;
  408. }
  409. /*** (C) COPYRIGHT 2013-2020 Nuvoton Technology Corp. ***/