Skip to content

Commit be07512

Browse files
committed
[M453] Classify by M45xD/M45xC and M45xG/M45xE
M451 series can classify by M45xD/M45xC and M45xG/M45xE. To support this classification: 1. Create TARGET_M45xD_M45xC and TARGET_M45xG_M45xE targets. 2. Mark NUMAKER_PFM_M453 belongs to TARGET_M45xG_M45xE by 'extra_labels_add' in targets.json. 3. Fix pin name table according to the classification. 4. Fix pinmap table according to the classification.
1 parent 52deecd commit be07512

File tree

3 files changed

+45
-1
lines changed

3 files changed

+45
-1
lines changed

targets/TARGET_NUVOTON/TARGET_M451/PeripheralPins.c

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,13 @@ const PinMap PinMap_ADC[] = {
150150
{PB_13, ADC_0_10, SYS_GPB_MFPH_PB13MFP_EADC_CH10},
151151
{PB_14, ADC_0_11, SYS_GPB_MFPH_PB14MFP_EADC_CH11},
152152
{PB_15, ADC_0_12, SYS_GPB_MFPH_PB15MFP_EADC_CH12},
153+
#if defined(TARGET_M45xD_M45xC)
153154
{PD_0, ADC_0_6, SYS_GPD_MFPL_PD0MFP_EADC_CH6},
154155
{PD_1, ADC_0_11, SYS_GPD_MFPL_PD1MFP_EADC_CH11},
155156
{PD_8, ADC_0_7, SYS_GPD_MFPH_PD8MFP_EADC_CH7},
156157
{PD_9, ADC_0_10, SYS_GPD_MFPH_PD9MFP_EADC_CH10},
157-
158+
#endif
159+
158160
{NC, NC, 0}
159161
};
160162

@@ -174,7 +176,9 @@ const PinMap PinMap_I2C_SDA[] = {
174176
{PE_0, I2C_1, SYS_GPE_MFPL_PE0MFP_I2C1_SDA},
175177
{PE_5, I2C_1, SYS_GPE_MFPL_PE5MFP_I2C1_SDA},
176178
{PE_9, I2C_1, SYS_GPE_MFPH_PE9MFP_I2C1_SDA},
179+
#if defined(TARGET_M45xD_M45xC)
177180
{PE_11, I2C_1, SYS_GPE_MFPH_PE11MFP_I2C1_SDA},
181+
#endif
178182
{PE_13, I2C_0, SYS_GPE_MFPH_PE13MFP_I2C0_SDA},
179183
{PF_4, I2C_1, SYS_GPF_MFPL_PF4MFP_I2C1_SDA},
180184

@@ -187,7 +191,9 @@ const PinMap PinMap_I2C_SCL[] = {
187191
{PD_5, I2C_0, SYS_GPD_MFPL_PD5MFP_I2C0_SCL},
188192
{PE_4, I2C_1, SYS_GPE_MFPL_PE4MFP_I2C1_SCL},
189193
{PE_8, I2C_1, SYS_GPE_MFPH_PE8MFP_I2C1_SCL},
194+
#if defined(TARGET_M45xD_M45xC)
190195
{PE_10, I2C_1, SYS_GPE_MFPH_PE10MFP_I2C1_SCL},
196+
#endif
191197
{PE_12, I2C_0, SYS_GPE_MFPH_PE12MFP_I2C0_SCL},
192198
{PF_3, I2C_1, SYS_GPF_MFPL_PF3MFP_I2C1_SCL},
193199

@@ -239,16 +245,24 @@ const PinMap PinMap_UART_TX[] = {
239245
{PA_2, UART_0, SYS_GPA_MFPL_PA2MFP_UART0_TXD},
240246
{PA_8, UART_3, SYS_GPA_MFPH_PA8MFP_UART3_TXD},
241247
{PB_1, UART_2, SYS_GPB_MFPL_PB1MFP_UART2_TXD},
248+
#if defined(TARGET_M45xD_M45xC)
242249
{PB_3, UART_1, SYS_GPB_MFPL_PB3MFP_UART1_TXD},
250+
#endif
243251
{PB_3, UART_3, SYS_GPB_MFPL_PB3MFP_UART3_TXD},
252+
#if defined(TARGET_M45xD_M45xC)
244253
{PB_4, UART_2, SYS_GPB_MFPL_PB4MFP_UART2_TXD},
245254
{PC_0, UART_3, SYS_GPC_MFPL_PC0MFP_UART3_TXD},
255+
#endif
246256
{PC_2, UART_2, SYS_GPC_MFPL_PC2MFP_UART2_TXD},
257+
#if defined(TARGET_M45xD_M45xC)
247258
{PC_6, UART_0, SYS_GPC_MFPL_PC6MFP_UART0_TXD},
259+
#endif
248260
{PD_1, UART_0, SYS_GPD_MFPL_PD1MFP_UART0_TXD},
249261
{PD_12, UART_3, SYS_GPD_MFPH_PD12MFP_UART3_TXD},
250262
{PE_8, UART_1, SYS_GPE_MFPH_PE8MFP_UART1_TXD},
263+
#if defined(TARGET_M45xD_M45xC)
251264
{PE_10, UART_3, SYS_GPE_MFPH_PE10MFP_UART3_TXD},
265+
#endif
252266
{PE_12, UART_1, SYS_GPE_MFPH_PE12MFP_UART1_TXD},
253267

254268
{NC, NC, 0}
@@ -259,17 +273,25 @@ const PinMap PinMap_UART_RX[] = {
259273
{PA_3, UART_0, SYS_GPA_MFPL_PA3MFP_UART0_RXD},
260274
{PA_9, UART_3, SYS_GPA_MFPH_PA9MFP_UART3_RXD},
261275
{PB_0, UART_2, SYS_GPB_MFPL_PB0MFP_UART2_RXD},
276+
#if defined(TARGET_M45xD_M45xC)
262277
{PB_2, UART_1, SYS_GPB_MFPL_PB2MFP_UART1_RXD},
278+
#endif
263279
{PB_2, UART_3, SYS_GPB_MFPL_PB2MFP_UART3_RXD},
280+
#if defined(TARGET_M45xD_M45xC)
264281
{PB_5, UART_2, SYS_GPB_MFPL_PB5MFP_UART2_RXD},
265282
{PC_1, UART_3, SYS_GPC_MFPL_PC1MFP_UART3_RXD},
283+
#endif
266284
{PC_3, UART_2, SYS_GPC_MFPL_PC3MFP_UART2_RXD},
285+
#if defined(TARGET_M45xD_M45xC)
267286
{PC_7, UART_0, (int) SYS_GPC_MFPL_PC7MFP_UART0_RXD},
287+
#endif
268288
{PD_0, UART_0, SYS_GPD_MFPL_PD0MFP_UART0_RXD},
269289
{PD_6, UART_0, SYS_GPD_MFPL_PD6MFP_UART0_RXD},
270290
{PD_13, UART_3, SYS_GPD_MFPH_PD13MFP_UART3_RXD},
271291
{PE_9, UART_1, SYS_GPE_MFPH_PE9MFP_UART1_RXD},
292+
#if defined(TARGET_M45xD_M45xC)
272293
{PE_11, UART_3, SYS_GPE_MFPH_PE11MFP_UART3_RXD},
294+
#endif
273295
{PE_13, UART_1, SYS_GPE_MFPH_PE13MFP_UART1_RXD},
274296

275297
{NC, NC, 0}

targets/TARGET_NUVOTON/TARGET_M451/PinNames.h

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,31 @@ typedef enum {
7676

7777
// Generic naming
7878
PA_0 = NU_PORT_N_PIN_TO_PINNAME(0, 0), PA_1, PA_2, PA_3, PA_4, PA_5, PA_6, PA_7, PA_8, PA_9, PA_10, PA_11, PA_12, PA_13, PA_14, PA_15,
79+
80+
#if defined(TARGET_M45xD_M45xC)
81+
PB_0 = NU_PORT_N_PIN_TO_PINNAME(1, 0), PB_1, PB_2, PB_3, PB_4, PB_5, PB_6, PB_7, PB_8, PB_11 = PB_8 + 3, PB_12, PB_13, PB_14, PB_15,
82+
#elif defined(TARGET_M45xG_M45xE)
7983
PB_0 = NU_PORT_N_PIN_TO_PINNAME(1, 0), PB_1, PB_2, PB_3, PB_4, PB_5, PB_6, PB_7, PB_8, PB_9, PB_10, PB_11, PB_12, PB_13, PB_14, PB_15,
84+
#endif
85+
86+
#if defined(TARGET_M45xD_M45xC)
87+
PC_0 = NU_PORT_N_PIN_TO_PINNAME(2, 0), PC_1, PC_2, PC_3, PC_4, PC_5, PC_6, PC_7, PC_8, PC_10 = PC_8 + 2, PC_11, PC_12, PC_13,
88+
#elif defined(TARGET_M45xG_M45xE)
8089
PC_0 = NU_PORT_N_PIN_TO_PINNAME(2, 0), PC_1, PC_2, PC_3, PC_4, PC_5, PC_6, PC_7, PC_8, PC_9, PC_10, PC_11, PC_12, PC_13, PC_14, PC_15,
90+
#endif
91+
92+
#if defined(TARGET_M45xD_M45xC)
93+
PD_0 = NU_PORT_N_PIN_TO_PINNAME(3, 0), PD_1, PD_2, PD_3, PD_4, PD_5, PD_6, PD_7, PD_8, PD_9, PD_12 = PD_9 + 3, PD_13, PD_14, PD_15,
94+
#elif defined(TARGET_M45xG_M45xE)
8195
PD_0 = NU_PORT_N_PIN_TO_PINNAME(3, 0), PD_1, PD_2, PD_3, PD_4, PD_5, PD_6, PD_7, PD_8, PD_9, PD_10, PD_11, PD_12, PD_13, PD_14, PD_15,
96+
#endif
97+
98+
#if defined(TARGET_M45xD_M45xC)
99+
PE_0 = NU_PORT_N_PIN_TO_PINNAME(4, 0), PE_1, PE_3 = PE_1 + 2, PE_4, PE_5, PE_8 = PE_5 + 3, PE_9, PE_10, PE_11, PE_12, PE_13,
100+
#elif defined(TARGET_M45xG_M45xE)
82101
PE_0 = NU_PORT_N_PIN_TO_PINNAME(4, 0), PE_1, PE_2, PE_3, PE_4, PE_5, PE_6, PE_7, PE_8, PE_9, PE_10, PE_11, PE_12, PE_13, PE_14,
102+
#endif
103+
83104
PF_0 = NU_PORT_N_PIN_TO_PINNAME(5, 0), PF_1, PF_2, PF_3, PF_4, PF_5, PF_6, PF_7,
84105

85106
// Arduino UNO naming

targets/targets.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7512,6 +7512,7 @@
75127512
"extra_labels": [
75137513
"NUVOTON",
75147514
"M451",
7515+
"M45xG_M45xE",
75157516
"NUMAKER_PFM_M453",
75167517
"FLASH_CMSIS_ALGO"
75177518
],

0 commit comments

Comments
 (0)