1 /**************************************************************************** 2 * @file nutool_pincfg.c 3 * @version V1.21 4 * @Date 2021/03/03-17:36:00 5 * @brief NuMicro generated code file 6 * 7 * SPDX-License-Identifier: Apache-2.0 8 * 9 * Copyright (C) 2013-2020 Nuvoton Technology Corp. All rights reserved. 10 *****************************************************************************/ 11 12 /******************** 13 MCU:M032KIAAE(LQFP128) 14 Pin Configuration: 15 Pin1:ADC0_CH5 16 Pin2:ADC0_CH4 17 Pin3:UART1_TXD 18 Pin4:UART1_RXD 19 Pin9:ADC0_CH1 20 Pin10:ADC0_CH0 21 Pin31:X32_IN 22 Pin32:X32_OUT 23 Pin37:XT1_IN 24 Pin38:XT1_OUT 25 Pin50:PWM1_CH4 26 Pin51:PWM1_CH5 27 Pin55:QSPI0_MISO1 28 Pin56:QSPI0_MOSI1 29 Pin57:QSPI0_SS 30 Pin58:QSPI0_CLK 31 Pin59:QSPI0_MISO0 32 Pin60:QSPI0_MOSI0 33 Pin65:ICE_DAT 34 Pin66:ICE_CLK 35 Pin69:PWM1_CH0 36 Pin70:PWM1_CH1 37 Pin71:PWM1_CH2 38 Pin72:PWM1_CH3 39 Pin73:I2C0_SCL 40 Pin74:I2C0_SDA 41 Pin118:UART0_TXD 42 Pin119:UART0_RXD 43 Pin127:ADC0_CH7 44 Pin128:ADC0_CH6 45 ********************/ 46 47 #include "M031Series.h" 48 #include "rtconfig.h" 49 nutool_pincfg_init_ice(void)50void nutool_pincfg_init_ice(void) 51 { 52 SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF1MFP_Msk | SYS_GPF_MFPL_PF0MFP_Msk); 53 SYS->GPF_MFPL |= (SYS_GPF_MFPL_PF1MFP_ICE_CLK | SYS_GPF_MFPL_PF0MFP_ICE_DAT); 54 55 return; 56 } 57 nutool_pincfg_deinit_ice(void)58void nutool_pincfg_deinit_ice(void) 59 { 60 SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF1MFP_Msk | SYS_GPF_MFPL_PF0MFP_Msk); 61 62 return; 63 } 64 nutool_pincfg_init_uart0(void)65void nutool_pincfg_init_uart0(void) 66 { 67 SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB13MFP_Msk | SYS_GPB_MFPH_PB12MFP_Msk); 68 SYS->GPB_MFPH |= (SYS_GPB_MFPH_PB13MFP_UART0_TXD | SYS_GPB_MFPH_PB12MFP_UART0_RXD); 69 70 return; 71 } 72 nutool_pincfg_deinit_uart0(void)73void nutool_pincfg_deinit_uart0(void) 74 { 75 SYS->GPB_MFPH &= ~(SYS_GPB_MFPH_PB13MFP_Msk | SYS_GPB_MFPH_PB12MFP_Msk); 76 77 return; 78 } 79 nutool_pincfg_init_x32(void)80void nutool_pincfg_init_x32(void) 81 { 82 SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF5MFP_Msk | SYS_GPF_MFPL_PF4MFP_Msk); 83 SYS->GPF_MFPL |= (SYS_GPF_MFPL_PF5MFP_X32_IN | SYS_GPF_MFPL_PF4MFP_X32_OUT); 84 85 return; 86 } 87 nutool_pincfg_deinit_x32(void)88void nutool_pincfg_deinit_x32(void) 89 { 90 SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF5MFP_Msk | SYS_GPF_MFPL_PF4MFP_Msk); 91 92 return; 93 } 94 nutool_pincfg_init_xt1(void)95void nutool_pincfg_init_xt1(void) 96 { 97 SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF3MFP_Msk | SYS_GPF_MFPL_PF2MFP_Msk); 98 SYS->GPF_MFPL |= (SYS_GPF_MFPL_PF3MFP_XT1_IN | SYS_GPF_MFPL_PF2MFP_XT1_OUT); 99 100 return; 101 } 102 nutool_pincfg_deinit_xt1(void)103void nutool_pincfg_deinit_xt1(void) 104 { 105 SYS->GPF_MFPL &= ~(SYS_GPF_MFPL_PF3MFP_Msk | SYS_GPF_MFPL_PF2MFP_Msk); 106 107 return; 108 } 109 nutool_pincfg_init_qspi0(void)110void nutool_pincfg_init_qspi0(void) 111 { 112 SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA0MFP_Msk | SYS_GPA_MFPL_PA1MFP_Msk | SYS_GPA_MFPL_PA2MFP_Msk | SYS_GPA_MFPL_PA3MFP_Msk | 113 SYS_GPA_MFPL_PA4MFP_Msk | SYS_GPA_MFPL_PA5MFP_Msk); 114 115 SYS->GPA_MFPL |= (SYS_GPA_MFPL_PA0MFP_QSPI0_MOSI0 | SYS_GPA_MFPL_PA1MFP_QSPI0_MISO0 | 116 SYS_GPA_MFPL_PA2MFP_QSPI0_CLK | SYS_GPA_MFPL_PA3MFP_QSPI0_SS | 117 SYS_GPA_MFPL_PA4MFP_QSPI0_MOSI1 | SYS_GPA_MFPL_PA5MFP_QSPI0_MISO1); 118 119 /* pull high qspi quad mode pins. */ 120 GPIO_SetMode(PA, BIT4 | BIT5, GPIO_MODE_QUASI); 121 122 } 123 nutool_pincfg_init_usci0(void)124void nutool_pincfg_init_usci0(void) 125 { 126 SYS->GPA_MFPH &= ~(SYS_GPA_MFPH_PA8MFP_Msk | SYS_GPA_MFPH_PA9MFP_Msk | SYS_GPA_MFPH_PA10MFP_Msk | SYS_GPA_MFPH_PA11MFP_Msk); 127 128 SYS->GPA_MFPH |= (/*SYS_GPA_MFPH_PA8MFP_USCI0_CTL1 |*/ SYS_GPA_MFPH_PA9MFP_USCI0_DAT1 | SYS_GPA_MFPH_PA10MFP_USCI0_DAT0 | SYS_GPA_MFPH_PA11MFP_USCI0_CLK); 129 } 130 nutool_pincfg_deinit_qspi0(void)131void nutool_pincfg_deinit_qspi0(void) 132 { 133 SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA0MFP_Msk | SYS_GPA_MFPL_PA1MFP_Msk | SYS_GPA_MFPL_PA2MFP_Msk | SYS_GPA_MFPL_PA3MFP_Msk | 134 SYS_GPA_MFPL_PA4MFP_Msk | SYS_GPA_MFPL_PA5MFP_Msk); 135 } 136 nutool_pincfg_init_i2c0(void)137void nutool_pincfg_init_i2c0(void) 138 { 139 SYS->GPC_MFPL &= ~(SYS_GPC_MFPL_PC0MFP_Msk | SYS_GPC_MFPL_PC1MFP_Msk); 140 SYS->GPC_MFPL |= (SYS_GPC_MFPL_PC0MFP_I2C0_SDA | SYS_GPC_MFPL_PC1MFP_I2C0_SCL); 141 } 142 nutool_pincfg_deinit_i2c0(void)143void nutool_pincfg_deinit_i2c0(void) 144 { 145 SYS->GPC_MFPL &= ~(SYS_GPC_MFPL_PC0MFP_Msk | SYS_GPC_MFPL_PC1MFP_Msk); 146 } 147 nutool_pincfg_init_adc0(void)148void nutool_pincfg_init_adc0(void) 149 { 150 SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB0MFP_Msk | SYS_GPB_MFPL_PB1MFP_Msk | SYS_GPB_MFPL_PB4MFP_Msk | 151 SYS_GPB_MFPL_PB5MFP_Msk | SYS_GPB_MFPL_PB6MFP_Msk | SYS_GPB_MFPL_PB7MFP_Msk); 152 153 SYS->GPB_MFPL |= (SYS_GPB_MFPL_PB0MFP_ADC_CH0 | SYS_GPB_MFPL_PB1MFP_ADC_CH1 | SYS_GPB_MFPL_PB4MFP_ADC_CH4 | 154 SYS_GPB_MFPL_PB5MFP_ADC_CH5 | SYS_GPB_MFPL_PB6MFP_ADC_CH6 | SYS_GPB_MFPL_PB7MFP_ADC_CH7); 155 156 /* Disable digital path on these ADC pins */ 157 GPIO_DISABLE_DIGITAL_PATH(PB, BIT0 | BIT1 | BIT4 | BIT5 | BIT6 | BIT7); 158 } 159 nutool_pincfg_deinit_adc0(void)160void nutool_pincfg_deinit_adc0(void) 161 { 162 SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB0MFP_Msk | SYS_GPB_MFPL_PB1MFP_Msk | SYS_GPB_MFPL_PB4MFP_Msk | 163 SYS_GPB_MFPL_PB5MFP_Msk | SYS_GPB_MFPL_PB6MFP_Msk | SYS_GPB_MFPL_PB7MFP_Msk); 164 165 /* Enable digital path on these ADC pins */ 166 GPIO_ENABLE_DIGITAL_PATH(PB, BIT0 | BIT1 | BIT4 | BIT5 | BIT6 | BIT7); 167 } 168 nutool_pincfg_init_pwm0(void)169void nutool_pincfg_init_pwm0(void) 170 { 171 SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA6MFP_Msk | SYS_GPA_MFPL_PA7MFP_Msk); 172 SYS->GPC_MFPL &= ~(SYS_GPC_MFPL_PC2MFP_Msk | SYS_GPC_MFPL_PC3MFP_Msk | SYS_GPC_MFPL_PC4MFP_Msk | SYS_GPC_MFPL_PC5MFP_Msk); 173 174 SYS->GPA_MFPL |= (SYS_GPA_MFPL_PA6MFP_PWM1_CH5 | SYS_GPA_MFPL_PA7MFP_PWM1_CH4); 175 SYS->GPC_MFPL |= (SYS_GPC_MFPL_PC2MFP_PWM1_CH3 | SYS_GPC_MFPL_PC3MFP_PWM1_CH2 | SYS_GPC_MFPL_PC4MFP_PWM1_CH1 | SYS_GPC_MFPL_PC5MFP_PWM1_CH0); 176 } 177 nutool_pincfg_deinit_pwm0(void)178void nutool_pincfg_deinit_pwm0(void) 179 { 180 SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA6MFP_Msk | SYS_GPA_MFPL_PA7MFP_Msk); 181 SYS->GPC_MFPL &= ~(SYS_GPC_MFPL_PC2MFP_Msk | SYS_GPC_MFPL_PC3MFP_Msk | SYS_GPC_MFPL_PC4MFP_Msk | SYS_GPC_MFPL_PC5MFP_Msk); 182 } 183 nutool_pincfg_init_uart1(void)184void nutool_pincfg_init_uart1(void) 185 { 186 SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB2MFP_Msk | SYS_GPB_MFPL_PB3MFP_Msk); 187 SYS->GPB_MFPL |= (SYS_GPB_MFPL_PB2MFP_UART1_RXD | SYS_GPB_MFPL_PB3MFP_UART1_TXD); 188 } 189 nutool_pincfg_deinit_uart1(void)190void nutool_pincfg_deinit_uart1(void) 191 { 192 SYS->GPB_MFPL &= ~(SYS_GPB_MFPL_PB2MFP_Msk | SYS_GPB_MFPL_PB3MFP_Msk); 193 } 194 nutool_pincfg_init(void)195void nutool_pincfg_init(void) 196 { 197 //SYS->GPA_MFPH = 0x00000000UL; 198 //SYS->GPA_MFPL = 0xBB333333UL; 199 //SYS->GPB_MFPH = 0x00660000UL; 200 //SYS->GPB_MFPL = 0x11116611UL; 201 //SYS->GPC_MFPH = 0x00000000UL; 202 //SYS->GPC_MFPL = 0x00CCCC99UL; 203 //SYS->GPD_MFPH = 0x00000000UL; 204 //SYS->GPD_MFPL = 0x00000000UL; 205 //SYS->GPE_MFPH = 0x00000000UL; 206 //SYS->GPE_MFPL = 0x00000000UL; 207 //SYS->GPF_MFPH = 0x00000000UL; 208 //SYS->GPF_MFPL = 0x00AAAAEEUL; 209 //SYS->GPG_MFPH = 0x00000000UL; 210 //SYS->GPG_MFPL = 0x00000000UL; 211 //SYS->GPH_MFPH = 0x00000000UL; 212 //SYS->GPH_MFPL = 0x00000000UL; 213 214 nutool_pincfg_init_ice(); 215 nutool_pincfg_init_uart0(); 216 nutool_pincfg_init_x32(); 217 nutool_pincfg_init_xt1(); 218 nutool_pincfg_init_qspi0(); 219 #if defined(BOARD_USING_LCD_ILI9341) 220 nutool_pincfg_init_usci0(); 221 #endif 222 nutool_pincfg_init_i2c0(); 223 nutool_pincfg_init_adc0(); 224 #if !defined(BOARD_USING_LCD_ILI9341) 225 nutool_pincfg_deinit_pwm0(); 226 nutool_pincfg_deinit_uart1(); 227 #endif 228 229 return; 230 } 231 nutool_pincfg_deinit(void)232void nutool_pincfg_deinit(void) 233 { 234 nutool_pincfg_deinit_ice(); 235 nutool_pincfg_deinit_uart0(); 236 nutool_pincfg_deinit_x32(); 237 nutool_pincfg_deinit_xt1(); 238 nutool_pincfg_deinit_qspi0(); 239 nutool_pincfg_init_usci0(); 240 nutool_pincfg_deinit_i2c0(); 241 nutool_pincfg_deinit_adc0(); 242 nutool_pincfg_deinit_pwm0(); 243 nutool_pincfg_deinit_uart1(); 244 245 return; 246 } 247 /*** (C) COPYRIGHT 2013-2020 Nuvoton Technology Corp. ***/ 248