nutool_pincfg.c 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435
  1. /****************************************************************************
  2. * @file nutool_pincfg.c
  3. * @version V1.21
  4. * @Date 2020/11/11-12:06:36
  5. * @brief NuMicro generated code file
  6. *
  7. * Copyright (C) 2013-2020 Nuvoton Technology Corp. All rights reserved.
  8. *****************************************************************************/
  9. /********************
  10. MCU:M2354KJFAE(LQFP128)
  11. Pin Configuration:
  12. Pin1:SD0_DAT3
  13. Pin2:SD0_DAT2
  14. Pin3:SD0_DAT1
  15. Pin4:SD0_DAT0
  16. Pin5:EPWM1_CH0
  17. Pin6:EPWM1_CH1
  18. Pin7:EPWM1_CH2
  19. Pin8:EPWM1_CH3
  20. Pin9:SD0_CLK
  21. Pin10:SD0_CMD
  22. Pin15:UART1_TXD
  23. Pin16:UART1_RXD
  24. Pin21:I2C1_SCL
  25. Pin22:I2C1_SDA
  26. Pin25:I2S0_BCLK
  27. Pin26:I2S0_MCLK
  28. Pin27:I2S0_DI
  29. Pin28:I2S0_DO
  30. Pin29:I2S0_LRCK
  31. Pin48:UART4_TXD
  32. Pin49:UART4_RXD
  33. Pin50:UART0_TXD
  34. Pin51:UART0_RXD
  35. Pin57:SPI0_SS
  36. Pin58:SPI0_CLK
  37. Pin59:SPI0_MISO
  38. Pin60:SPI0_MOSI
  39. Pin65:ICE_DAT
  40. Pin66:ICE_CLK
  41. Pin73:EPWM1_CH4
  42. Pin74:EPWM1_CH5
  43. Pin93:USB_VBUS
  44. Pin94:USB_D-
  45. Pin95:USB_D+
  46. Pin96:USB_OTG_ID
  47. Pin97:EPWM0_CH0
  48. Pin98:EPWM0_CH1
  49. Pin105:SPI1_MISO
  50. Pin106:SPI1_MOSI
  51. Pin107:SPI1_CLK
  52. Pin108:SPI1_SS
  53. Pin109:PH.10
  54. Pin116:USB_VBUS_EN
  55. Pin117:USB_VBUS_ST
  56. Pin119:SD0_nCD
  57. Pin123:EADC0_CH11
  58. Pin124:EADC0_CH10
  59. Pin125:EADC0_CH9
  60. Pin126:EADC0_CH8
  61. Pin127:EADC0_CH7
  62. Pin128:EADC0_CH6
  63. ********************/
  64. #include "M2354.h"
  65. #include "rtconfig.h"
  66. void nutool_pincfg_init_eadc0(void)
  67. {
  68. SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB11MFP_Msk | SYS_GPB_MFPH_PB10MFP_Msk | SYS_GPB_MFPH_PB9MFP_Msk | SYS_GPB_MFPH_PB8MFP_Msk);
  69. SYS->GPB_MFPH |= (SYS_GPB_MFPH_PB11MFP_EADC0_CH11 | SYS_GPB_MFPH_PB10MFP_EADC0_CH10 | SYS_GPB_MFPH_PB9MFP_EADC0_CH9 | SYS_GPB_MFPH_PB8MFP_EADC0_CH8);
  70. SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB7MFP_Msk | SYS_GPB_MFPL_PB6MFP_Msk);
  71. SYS->GPB_MFPL |= (SYS_GPB_MFPL_PB7MFP_EADC0_CH7 | SYS_GPB_MFPL_PB6MFP_EADC0_CH6);
  72. /* Disable digital path on these EADC pins */
  73. GPIO_DISABLE_DIGITAL_PATH(PB, BIT6 | BIT7 | BIT8 | BIT9 | BIT10 | BIT11);
  74. return;
  75. }
  76. void nutool_pincfg_deinit_eadc0(void)
  77. {
  78. SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB11MFP_Msk | SYS_GPB_MFPH_PB10MFP_Msk | SYS_GPB_MFPH_PB9MFP_Msk | SYS_GPB_MFPH_PB8MFP_Msk);
  79. SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB7MFP_Msk | SYS_GPB_MFPL_PB6MFP_Msk);
  80. /* Enable digital path on these EADC pins */
  81. GPIO_ENABLE_DIGITAL_PATH(PB, BIT6 | BIT7 | BIT8 | BIT9 | BIT10 | BIT11);
  82. return;
  83. }
  84. void nutool_pincfg_init_epwm0(void)
  85. {
  86. SYS->GPE_MFPL &= ~(SYS_GPE_MFPL_PE7MFP_Msk | SYS_GPE_MFPL_PE6MFP_Msk);
  87. SYS->GPE_MFPL |= (SYS_GPE_MFPL_PE7MFP_EPWM0_CH0 | SYS_GPE_MFPL_PE6MFP_EPWM0_CH1);
  88. return;
  89. }
  90. void nutool_pincfg_deinit_epwm0(void)
  91. {
  92. SYS->GPE_MFPL &= ~(SYS_GPE_MFPL_PE7MFP_Msk | SYS_GPE_MFPL_PE6MFP_Msk);
  93. return;
  94. }
  95. void nutool_pincfg_init_epwm1(void)
  96. {
  97. SYS->GPC_MFPH &= ~(SYS_GPC_MFPH_PC12MFP_Msk | SYS_GPC_MFPH_PC11MFP_Msk | SYS_GPC_MFPH_PC10MFP_Msk | SYS_GPC_MFPH_PC9MFP_Msk);
  98. #if !defined(BOARD_USING_LCD_ILI9341)
  99. SYS->GPC_MFPH |= (SYS_GPC_MFPH_PC12MFP_EPWM1_CH0 | SYS_GPC_MFPH_PC11MFP_EPWM1_CH1 | SYS_GPC_MFPH_PC10MFP_EPWM1_CH2 | SYS_GPC_MFPH_PC9MFP_EPWM1_CH3);
  100. #else
  101. SYS->GPC_MFPH |= (SYS_GPC_MFPH_PC12MFP_EPWM1_CH0 | SYS_GPC_MFPH_PC10MFP_EPWM1_CH2 | SYS_GPC_MFPH_PC9MFP_EPWM1_CH3);
  102. #endif
  103. SYS->GPC_MFPL &= ~(SYS_GPC_MFPL_PC1MFP_Msk | SYS_GPC_MFPL_PC0MFP_Msk);
  104. SYS->GPC_MFPL |= (SYS_GPC_MFPL_PC1MFP_EPWM1_CH4 | SYS_GPC_MFPL_PC0MFP_EPWM1_CH5);
  105. return;
  106. }
  107. void nutool_pincfg_deinit_epwm1(void)
  108. {
  109. SYS->GPC_MFPH &= ~(SYS_GPC_MFPH_PC12MFP_Msk | SYS_GPC_MFPH_PC11MFP_Msk | SYS_GPC_MFPH_PC10MFP_Msk | SYS_GPC_MFPH_PC9MFP_Msk);
  110. SYS->GPC_MFPL &= ~(SYS_GPC_MFPL_PC1MFP_Msk | SYS_GPC_MFPL_PC0MFP_Msk);
  111. return;
  112. }
  113. void nutool_pincfg_init_i2c1(void)
  114. {
  115. SYS->GPG_MFPL &= ~(SYS_GPG_MFPL_PG3MFP_Msk | SYS_GPG_MFPL_PG2MFP_Msk);
  116. SYS->GPG_MFPL |= (SYS_GPG_MFPL_PG3MFP_I2C1_SDA | SYS_GPG_MFPL_PG2MFP_I2C1_SCL);
  117. return;
  118. }
  119. void nutool_pincfg_deinit_i2c1(void)
  120. {
  121. SYS->GPG_MFPL &= ~(SYS_GPG_MFPL_PG3MFP_Msk | SYS_GPG_MFPL_PG2MFP_Msk);
  122. return;
  123. }
  124. void nutool_pincfg_init_i2s0(void)
  125. {
  126. SYS->GPF_MFPH &= ~(SYS_GPF_MFPH_PF10MFP_Msk | SYS_GPF_MFPH_PF9MFP_Msk | SYS_GPF_MFPH_PF8MFP_Msk);
  127. SYS->GPF_MFPH |= (SYS_GPF_MFPH_PF10MFP_I2S0_BCLK | SYS_GPF_MFPH_PF9MFP_I2S0_MCLK | SYS_GPF_MFPH_PF8MFP_I2S0_DI);
  128. SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF7MFP_Msk | SYS_GPF_MFPL_PF6MFP_Msk);
  129. SYS->GPF_MFPL |= (SYS_GPF_MFPL_PF7MFP_I2S0_DO | SYS_GPF_MFPL_PF6MFP_I2S0_LRCK);
  130. return;
  131. }
  132. void nutool_pincfg_deinit_i2s0(void)
  133. {
  134. SYS->GPF_MFPH &= ~(SYS_GPF_MFPH_PF10MFP_Msk | SYS_GPF_MFPH_PF9MFP_Msk | SYS_GPF_MFPH_PF8MFP_Msk);
  135. SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF7MFP_Msk | SYS_GPF_MFPL_PF6MFP_Msk);
  136. return;
  137. }
  138. void nutool_pincfg_init_ice(void)
  139. {
  140. SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF1MFP_Msk | SYS_GPF_MFPL_PF0MFP_Msk);
  141. SYS->GPF_MFPL |= (SYS_GPF_MFPL_PF1MFP_ICE_CLK | SYS_GPF_MFPL_PF0MFP_ICE_DAT);
  142. return;
  143. }
  144. void nutool_pincfg_deinit_ice(void)
  145. {
  146. SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF1MFP_Msk | SYS_GPF_MFPL_PF0MFP_Msk);
  147. return;
  148. }
  149. void nutool_pincfg_init_ph(void)
  150. {
  151. SYS->GPH_MFPH &= ~(SYS_GPH_MFPH_PH10MFP_Msk);
  152. SYS->GPH_MFPH |= (SYS_GPH_MFPH_PH10MFP_GPIO);
  153. return;
  154. }
  155. void nutool_pincfg_deinit_ph(void)
  156. {
  157. SYS->GPH_MFPH &= ~(SYS_GPH_MFPH_PH10MFP_Msk);
  158. return;
  159. }
  160. void nutool_pincfg_init_sd0(void)
  161. {
  162. SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB12MFP_Msk);
  163. SYS->GPB_MFPH |= (SYS_GPB_MFPH_PB12MFP_SD0_nCD);
  164. SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB5MFP_Msk | SYS_GPB_MFPL_PB4MFP_Msk | SYS_GPB_MFPL_PB3MFP_Msk | SYS_GPB_MFPL_PB2MFP_Msk | SYS_GPB_MFPL_PB1MFP_Msk | SYS_GPB_MFPL_PB0MFP_Msk);
  165. SYS->GPB_MFPL |= (SYS_GPB_MFPL_PB5MFP_SD0_DAT3 | SYS_GPB_MFPL_PB4MFP_SD0_DAT2 | SYS_GPB_MFPL_PB3MFP_SD0_DAT1 | SYS_GPB_MFPL_PB2MFP_SD0_DAT0 | SYS_GPB_MFPL_PB1MFP_SD0_CLK | SYS_GPB_MFPL_PB0MFP_SD0_CMD);
  166. return;
  167. }
  168. void nutool_pincfg_deinit_sd0(void)
  169. {
  170. SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB12MFP_Msk);
  171. SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB5MFP_Msk | SYS_GPB_MFPL_PB4MFP_Msk | SYS_GPB_MFPL_PB3MFP_Msk | SYS_GPB_MFPL_PB2MFP_Msk | SYS_GPB_MFPL_PB1MFP_Msk | SYS_GPB_MFPL_PB0MFP_Msk);
  172. return;
  173. }
  174. void nutool_pincfg_init_spi0(void)
  175. {
  176. SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA3MFP_Msk | SYS_GPA_MFPL_PA2MFP_Msk | SYS_GPA_MFPL_PA1MFP_Msk | SYS_GPA_MFPL_PA0MFP_Msk);
  177. SYS->GPA_MFPL |= (SYS_GPA_MFPL_PA3MFP_SPI0_SS | SYS_GPA_MFPL_PA2MFP_SPI0_CLK | SYS_GPA_MFPL_PA1MFP_SPI0_MISO | SYS_GPA_MFPL_PA0MFP_SPI0_MOSI);
  178. return;
  179. }
  180. void nutool_pincfg_deinit_spi0(void)
  181. {
  182. SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA3MFP_Msk | SYS_GPA_MFPL_PA2MFP_Msk | SYS_GPA_MFPL_PA1MFP_Msk | SYS_GPA_MFPL_PA0MFP_Msk);
  183. return;
  184. }
  185. void nutool_pincfg_init_spi1(void)
  186. {
  187. SYS->GPE_MFPL &= ~(SYS_GPE_MFPL_PE1MFP_Msk | SYS_GPE_MFPL_PE0MFP_Msk);
  188. SYS->GPE_MFPL |= (SYS_GPE_MFPL_PE1MFP_SPI1_MISO | SYS_GPE_MFPL_PE0MFP_SPI1_MOSI);
  189. SYS->GPH_MFPH &= ~(SYS_GPH_MFPH_PH9MFP_Msk | SYS_GPH_MFPH_PH8MFP_Msk);
  190. SYS->GPH_MFPH |= (SYS_GPH_MFPH_PH9MFP_SPI1_SS | SYS_GPH_MFPH_PH8MFP_SPI1_CLK);
  191. return;
  192. }
  193. void nutool_pincfg_deinit_spi1(void)
  194. {
  195. SYS->GPE_MFPL &= ~(SYS_GPE_MFPL_PE1MFP_Msk | SYS_GPE_MFPL_PE0MFP_Msk);
  196. SYS->GPH_MFPH &= ~(SYS_GPH_MFPH_PH9MFP_Msk | SYS_GPH_MFPH_PH8MFP_Msk);
  197. return;
  198. }
  199. void nutool_pincfg_init_uart0(void)
  200. {
  201. SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA7MFP_Msk | SYS_GPA_MFPL_PA6MFP_Msk);
  202. SYS->GPA_MFPL |= (SYS_GPA_MFPL_PA7MFP_UART0_TXD | SYS_GPA_MFPL_PA6MFP_UART0_RXD);
  203. return;
  204. }
  205. void nutool_pincfg_deinit_uart0(void)
  206. {
  207. SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA7MFP_Msk | SYS_GPA_MFPL_PA6MFP_Msk);
  208. return;
  209. }
  210. void nutool_pincfg_init_uart1(void)
  211. {
  212. SYS->GPA_MFPH &= ~(SYS_GPA_MFPH_PA9MFP_Msk | SYS_GPA_MFPH_PA8MFP_Msk);
  213. SYS->GPA_MFPH |= (SYS_GPA_MFPH_PA9MFP_UART1_TXD | SYS_GPA_MFPH_PA8MFP_UART1_RXD);
  214. return;
  215. }
  216. void nutool_pincfg_deinit_uart1(void)
  217. {
  218. SYS->GPA_MFPH &= ~(SYS_GPA_MFPH_PA9MFP_Msk | SYS_GPA_MFPH_PA8MFP_Msk);
  219. return;
  220. }
  221. void nutool_pincfg_init_uart4(void)
  222. {
  223. SYS->GPC_MFPL &= ~(SYS_GPC_MFPL_PC7MFP_Msk | SYS_GPC_MFPL_PC6MFP_Msk);
  224. SYS->GPC_MFPL |= (SYS_GPC_MFPL_PC7MFP_UART4_TXD | SYS_GPC_MFPL_PC6MFP_UART4_RXD);
  225. return;
  226. }
  227. void nutool_pincfg_deinit_uart4(void)
  228. {
  229. SYS->GPC_MFPL &= ~(SYS_GPC_MFPL_PC7MFP_Msk | SYS_GPC_MFPL_PC6MFP_Msk);
  230. return;
  231. }
  232. void nutool_pincfg_init_usb(void)
  233. {
  234. SYS->GPA_MFPH &= ~(SYS_GPA_MFPH_PA15MFP_Msk | SYS_GPA_MFPH_PA14MFP_Msk | SYS_GPA_MFPH_PA13MFP_Msk | SYS_GPA_MFPH_PA12MFP_Msk);
  235. 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);
  236. SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB15MFP_Msk | SYS_GPB_MFPH_PB14MFP_Msk);
  237. SYS->GPB_MFPH |= (SYS_GPB_MFPH_PB15MFP_USB_VBUS_EN | SYS_GPB_MFPH_PB14MFP_USB_VBUS_ST);
  238. return;
  239. }
  240. void nutool_pincfg_deinit_usb(void)
  241. {
  242. SYS->GPA_MFPH &= ~(SYS_GPA_MFPH_PA15MFP_Msk | SYS_GPA_MFPH_PA14MFP_Msk | SYS_GPA_MFPH_PA13MFP_Msk | SYS_GPA_MFPH_PA12MFP_Msk);
  243. SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB15MFP_Msk | SYS_GPB_MFPH_PB14MFP_Msk);
  244. return;
  245. }
  246. void pincfg_init_slcd(void)
  247. {
  248. /*
  249. Summary of LCD pin usage:
  250. COM 0~5 : PC.0, PC.1, PC.2, PC.3, PC.4, PC.5
  251. COM 6~7 : PD.8, PD.9
  252. SEG 0 : PD.14
  253. SEG 1~4 : PH.11, PH.10, PH.9, PH.8
  254. SEG 5~12 : PE.0, PE.1, PE.2, PE.3, PE.4, PE.5, PE.6, PE.7
  255. SEG 13~14 : PD.6, PD.7
  256. SEG 15~21 : PG.15, PG.14, PG.13, PG.12, PG.11, PG.10, PG.9
  257. SEG 22~23 : PE.15, PE.14
  258. SEG 24~29 : PA.0, PA.1, PA.2, PA.3, PA.4, PA.5
  259. SEG 30~32 : PE.10, PE.9, PE.8
  260. SEG 33~36 : PH.7, PH.6, PH.5, PH.4
  261. SEG 37~39 : PG.4, PG.3, PG.2
  262. */
  263. /* COM 0~5 */
  264. SYS->GPC_MFPL = (SYS->GPC_MFPL &
  265. ~(SYS_GPC_MFPL_PC0MFP_Msk | SYS_GPC_MFPL_PC1MFP_Msk | SYS_GPC_MFPL_PC2MFP_Msk | SYS_GPC_MFPL_PC3MFP_Msk |
  266. SYS_GPC_MFPL_PC4MFP_Msk | SYS_GPC_MFPL_PC5MFP_Msk)) |
  267. (LCD_COM0_PC0 | LCD_COM1_PC1 | LCD_COM2_PC2 | LCD_COM3_PC3 | LCD_COM4_PC4 | LCD_COM5_PC5);
  268. /* COM 6~7 */
  269. SYS->GPD_MFPH = (SYS->GPD_MFPH & ~(SYS_GPD_MFPH_PD8MFP_Msk | SYS_GPD_MFPH_PD9MFP_Msk)) |
  270. (LCD_COM6_PD8 | LCD_COM7_PD9);
  271. /* SEG 0 */
  272. SYS->GPD_MFPH = (SYS->GPD_MFPH & ~SYS_GPD_MFPH_PD14MFP_Msk) | LCD_SEG0_PD14;
  273. /* SEG 1~4 */
  274. SYS->GPH_MFPH = (SYS->GPH_MFPH & ~(SYS_GPH_MFPH_PH11MFP_Msk | SYS_GPH_MFPH_PH10MFP_Msk | SYS_GPH_MFPH_PH9MFP_Msk | SYS_GPH_MFPH_PH8MFP_Msk)) |
  275. (LCD_SEG1_PH11 | LCD_SEG2_PH10 | LCD_SEG3_PH9 | LCD_SEG4_PH8);
  276. /* SEG 5~12 */
  277. SYS->GPE_MFPL = (SYS->GPE_MFPL &
  278. ~(SYS_GPE_MFPL_PE0MFP_Msk | SYS_GPE_MFPL_PE1MFP_Msk | SYS_GPE_MFPL_PE2MFP_Msk | SYS_GPE_MFPL_PE3MFP_Msk |
  279. SYS_GPE_MFPL_PE4MFP_Msk | SYS_GPE_MFPL_PE5MFP_Msk | SYS_GPE_MFPL_PE6MFP_Msk | SYS_GPE_MFPL_PE7MFP_Msk)) |
  280. (LCD_SEG5_PE0 | LCD_SEG6_PE1 | LCD_SEG7_PE2 | LCD_SEG8_PE3 |
  281. LCD_SEG9_PE4 | LCD_SEG10_PE5 | LCD_SEG11_PE6 | LCD_SEG12_PE7);
  282. /* SEG 13~14 */
  283. SYS->GPD_MFPL = (SYS->GPD_MFPL & ~(SYS_GPD_MFPL_PD6MFP_Msk | SYS_GPD_MFPL_PD7MFP_Msk)) | (LCD_SEG13_PD6 | LCD_SEG14_PD7);
  284. /* SEG 15~21 */
  285. SYS->GPG_MFPH = (SYS->GPG_MFPH &
  286. ~(SYS_GPG_MFPH_PG15MFP_Msk | SYS_GPG_MFPH_PG14MFP_Msk | SYS_GPG_MFPH_PG13MFP_Msk | SYS_GPG_MFPH_PG12MFP_Msk |
  287. SYS_GPG_MFPH_PG11MFP_Msk | SYS_GPG_MFPH_PG10MFP_Msk | SYS_GPG_MFPH_PG9MFP_Msk)) |
  288. (LCD_SEG15_PG15 | LCD_SEG16_PG14 | LCD_SEG17_PG13 | LCD_SEG18_PG12 |
  289. LCD_SEG19_PG11 | LCD_SEG20_PG10 | LCD_SEG21_PG9);
  290. /* SEG 22~23 */
  291. SYS->GPE_MFPH = (SYS->GPE_MFPH & ~(SYS_GPE_MFPH_PE15MFP_Msk | SYS_GPE_MFPH_PE14MFP_Msk)) | (LCD_SEG22_PE15 | LCD_SEG23_PE14);
  292. /* SEG 24~29 */
  293. SYS->GPA_MFPL = (SYS->GPA_MFPL &
  294. ~(SYS_GPA_MFPL_PA0MFP_Msk | SYS_GPA_MFPL_PA1MFP_Msk | SYS_GPA_MFPL_PA2MFP_Msk | SYS_GPA_MFPL_PA3MFP_Msk |
  295. SYS_GPA_MFPL_PA4MFP_Msk | SYS_GPA_MFPL_PA5MFP_Msk)) |
  296. (LCD_SEG24_PA0 | LCD_SEG25_PA1 | LCD_SEG26_PA2 | LCD_SEG27_PA3 | LCD_SEG28_PA4 | LCD_SEG29_PA5);
  297. /* SEG 30~32 */
  298. SYS->GPE_MFPH = (SYS->GPE_MFPH & ~(SYS_GPE_MFPH_PE10MFP_Msk | SYS_GPE_MFPH_PE9MFP_Msk | SYS_GPE_MFPH_PE8MFP_Msk)) |
  299. (LCD_SEG30_PE10 | LCD_SEG31_PE9 | LCD_SEG32_PE8);
  300. /* SEG 33~36 */
  301. SYS->GPH_MFPL = (SYS->GPH_MFPL & ~(SYS_GPH_MFPL_PH7MFP_Msk | SYS_GPH_MFPL_PH6MFP_Msk | SYS_GPH_MFPL_PH5MFP_Msk | SYS_GPH_MFPL_PH4MFP_Msk)) |
  302. (LCD_SEG33_PH7 | LCD_SEG34_PH6 | LCD_SEG35_PH5 | LCD_SEG36_PH4);
  303. /* SEG 37~39 */
  304. SYS->GPG_MFPL = (SYS->GPG_MFPL & ~(SYS_GPG_MFPL_PG4MFP_Msk | SYS_GPG_MFPL_PG3MFP_Msk | SYS_GPG_MFPL_PG2MFP_Msk)) |
  305. (LCD_SEG37_PG4 | LCD_SEG38_PG3 | LCD_SEG39_PG2);
  306. }
  307. void nutool_pincfg_init(void)
  308. {
  309. //SYS->GPA_MFPH = 0xEEEE0077;
  310. //SYS->GPA_MFPL = 0x77004444;
  311. //SYS->GPB_MFPH = 0xEF091111;
  312. //SYS->GPB_MFPL = 0x11333333;
  313. //SYS->GPC_MFPH = 0x000CCCC0;
  314. //SYS->GPC_MFPL = 0x550000CC;
  315. //SYS->GPD_MFPH = 0x00000000;
  316. //SYS->GPD_MFPL = 0x00000000;
  317. //SYS->GPE_MFPH = 0x00000000;
  318. //SYS->GPE_MFPL = 0xCC000066;
  319. //SYS->GPF_MFPH = 0x00000444;
  320. //SYS->GPF_MFPL = 0x440000EE;
  321. //SYS->GPG_MFPH = 0x00000000;
  322. //SYS->GPG_MFPL = 0x00005500;
  323. //SYS->GPH_MFPH = 0x00000066;
  324. //SYS->GPH_MFPL = 0x00000000;
  325. nutool_pincfg_init_eadc0();
  326. nutool_pincfg_init_epwm0();
  327. nutool_pincfg_init_epwm1();
  328. nutool_pincfg_init_i2c1();
  329. nutool_pincfg_init_i2s0();
  330. nutool_pincfg_init_ice();
  331. nutool_pincfg_init_ph();
  332. nutool_pincfg_init_sd0();
  333. nutool_pincfg_init_spi0();
  334. nutool_pincfg_init_spi1();
  335. nutool_pincfg_init_uart0();
  336. #if !defined(BOARD_USING_LCD_ILI9341)
  337. nutool_pincfg_init_uart1();
  338. #endif
  339. nutool_pincfg_init_uart4();
  340. nutool_pincfg_init_usb();
  341. #if defined(BSP_USING_SLCD)
  342. pincfg_init_slcd();
  343. #endif
  344. return;
  345. }
  346. void nutool_pincfg_deinit(void)
  347. {
  348. nutool_pincfg_deinit_eadc0();
  349. nutool_pincfg_deinit_epwm0();
  350. nutool_pincfg_deinit_epwm1();
  351. nutool_pincfg_deinit_i2c1();
  352. nutool_pincfg_deinit_i2s0();
  353. nutool_pincfg_deinit_ice();
  354. nutool_pincfg_deinit_ph();
  355. nutool_pincfg_deinit_sd0();
  356. nutool_pincfg_deinit_spi0();
  357. nutool_pincfg_deinit_spi1();
  358. nutool_pincfg_deinit_uart0();
  359. nutool_pincfg_deinit_uart1();
  360. nutool_pincfg_deinit_uart4();
  361. nutool_pincfg_deinit_usb();
  362. return;
  363. }
  364. /*** (C) COPYRIGHT 2013-2020 Nuvoton Technology Corp. ***/