diff --git a/targets/TARGET_NUVOTON/TARGET_M451/TARGET_NUMAKER_PFM_M453/PeripheralPins.h b/targets/TARGET_NUVOTON/TARGET_M451/TARGET_NUMAKER_PFM_M453/PeripheralPins.h index 5b1a453de9..6c9a26b865 100644 --- a/targets/TARGET_NUVOTON/TARGET_M451/TARGET_NUMAKER_PFM_M453/PeripheralPins.h +++ b/targets/TARGET_NUVOTON/TARGET_M451/TARGET_NUMAKER_PFM_M453/PeripheralPins.h @@ -55,6 +55,16 @@ extern const PinMap PinMap_SPI_MISO[]; extern const PinMap PinMap_SPI_SCLK[]; extern const PinMap PinMap_SPI_SSEL[]; +//*** SD *** + +extern const PinMap PinMap_SD_CD[]; +extern const PinMap PinMap_SD_CMD[]; +extern const PinMap PinMap_SD_CLK[]; +extern const PinMap PinMap_SD_DAT0[]; +extern const PinMap PinMap_SD_DAT1[]; +extern const PinMap PinMap_SD_DAT2[]; +extern const PinMap PinMap_SD_DAT3[]; + #ifdef __cplusplus } #endif diff --git a/targets/TARGET_NUVOTON/TARGET_NUC472/TARGET_NUMAKER_PFM_NUC472/PeripheralNames.h b/targets/TARGET_NUVOTON/TARGET_NUC472/TARGET_NUMAKER_PFM_NUC472/PeripheralNames.h index fe3cb0ed96..2cdc0bbc45 100644 --- a/targets/TARGET_NUVOTON/TARGET_NUC472/TARGET_NUMAKER_PFM_NUC472/PeripheralNames.h +++ b/targets/TARGET_NUVOTON/TARGET_NUC472/TARGET_NUMAKER_PFM_NUC472/PeripheralNames.h @@ -115,6 +115,11 @@ typedef enum { DMA_0 = (int) NU_MODNAME(PDMA_BASE, 0) } DMAName; +typedef enum { + SD_0 = (int) NU_MODNAME(SD_BASE, 0), + SD_1 = (int) NU_MODNAME(SD_BASE, 1) +} SDName; + #ifdef __cplusplus } #endif diff --git a/targets/TARGET_NUVOTON/TARGET_NUC472/TARGET_NUMAKER_PFM_NUC472/PeripheralPins.c b/targets/TARGET_NUVOTON/TARGET_NUC472/TARGET_NUMAKER_PFM_NUC472/PeripheralPins.c index 31779f32f5..4ab4693a68 100644 --- a/targets/TARGET_NUVOTON/TARGET_NUC472/TARGET_NUMAKER_PFM_NUC472/PeripheralPins.c +++ b/targets/TARGET_NUVOTON/TARGET_NUC472/TARGET_NUMAKER_PFM_NUC472/PeripheralPins.c @@ -227,7 +227,7 @@ const PinMap PinMap_I2C_SDA[] = { {PD_3, I2C_3, SYS_GPD_MFPL_PD3MFP_I2C3_SDA}, {PD_9, I2C_0, SYS_GPD_MFPH_PD9MFP_I2C0_SDA}, {PD_12, I2C_4, SYS_GPD_MFPH_PD12MFP_I2C4_SDA}, - {PG_15, I2C_1, SYS_GPG_MFPH_PG15MFP_I2C1_SDA}, + {PG_14, I2C_1, SYS_GPG_MFPH_PG14MFP_I2C1_SDA}, {PH_1, I2C_1, SYS_GPH_MFPL_PH1MFP_I2C1_SDA}, {PH_4, I2C_3, SYS_GPH_MFPL_PH4MFP_I2C3_SDA}, {PI_8, I2C_2, SYS_GPI_MFPH_PI8MFP_I2C2_SDA}, @@ -243,7 +243,7 @@ const PinMap PinMap_I2C_SCL[] = { {PD_2, I2C_3, SYS_GPD_MFPL_PD2MFP_I2C3_SCL}, {PD_8, I2C_0, SYS_GPD_MFPH_PD8MFP_I2C0_SCL}, {PD_10, I2C_4, SYS_GPD_MFPH_PD10MFP_I2C4_SCL}, - {PG_14, I2C_1, SYS_GPG_MFPH_PG14MFP_I2C1_SCL}, + {PG_15, I2C_1, SYS_GPG_MFPH_PG15MFP_I2C1_SCL}, {PH_0, I2C_1, SYS_GPH_MFPL_PH0MFP_I2C1_SCL}, {PH_3, I2C_3, SYS_GPH_MFPL_PH3MFP_I2C3_SCL}, {PI_7, I2C_2, SYS_GPI_MFPL_PI7MFP_I2C2_SCL}, @@ -370,7 +370,7 @@ const PinMap PinMap_SPI_MOSI[] = { {PA_12, SPI_3, SYS_GPA_MFPH_PA12MFP_SPI3_MOSI1}, {PB_5, SPI_2, SYS_GPB_MFPL_PB5MFP_SPI2_MOSI0}, {PB_13, SPI_2, SYS_GPB_MFPH_PB13MFP_SPI2_MOSI1}, - {PC_4, SPI_0, SYS_GPC_MFPL_PC4MFP_SPI0_MOSI0}, + {PC_4, SPI_0, SYS_GPC_MFPL_PC4MFP_SPI0_MOSI1}, {PC_7, SPI_0, SYS_GPC_MFPL_PC7MFP_SPI0_MOSI0}, {PC_13, SPI_1, SYS_GPC_MFPH_PC13MFP_SPI1_MOSI1}, {PC_15, SPI_1, SYS_GPC_MFPH_PC15MFP_SPI1_MOSI0}, @@ -379,7 +379,7 @@ const PinMap PinMap_SPI_MOSI[] = { {PE_7, SPI_0, SYS_GPE_MFPL_PE7MFP_SPI0_MOSI0}, {PE_11, SPI_0, SYS_GPE_MFPH_PE11MFP_SPI0_MOSI1}, {PF_0, SPI_1, SYS_GPF_MFPL_PF0MFP_SPI1_MOSI0}, - {PF_1, SPI_2, SYS_GPF_MFPL_PF1MFP_SPI2_MOSI0}, + {PF_1, SPI_2, SYS_GPF_MFPL_PF1MFP_SPI2_MOSI1}, {PF_5, SPI_3, SYS_GPF_MFPL_PF5MFP_SPI3_MOSI0}, {PG_8, SPI_2, SYS_GPG_MFPH_PG8MFP_SPI2_MOSI0}, {PH_8, SPI_2, SYS_GPH_MFPH_PH8MFP_SPI2_MOSI0}, @@ -447,3 +447,66 @@ const PinMap PinMap_SPI_SSEL[] = { {NC, NC, 0} }; + +//*** SD *** + +const PinMap PinMap_SD_CD[] = { + {PC_12, SD_1, SYS_GPC_MFPH_PC12MFP_SD1_CDn}, + {PD_3, SD_0, SYS_GPD_MFPL_PD3MFP_SD0_CDn}, + {PE_5, SD_0, SYS_GPE_MFPL_PE5MFP_SD0_CDn}, + {PF_6, SD_0, SYS_GPF_MFPL_PF6MFP_SD0_CDn}, + + {NC, NC, 0} +}; + +const PinMap PinMap_SD_CMD[] = { + {PC_13, SD_1, SYS_GPC_MFPH_PC13MFP_SD1_CMD}, + {PD_6, SD_0, SYS_GPD_MFPL_PD6MFP_SD0_CMD}, + {PE_6, SD_0, SYS_GPE_MFPL_PE6MFP_SD0_CMD}, + {PF_7, SD_0, SYS_GPF_MFPL_PF7MFP_SD0_CMD}, + + {NC, NC, 0} +}; + +const PinMap PinMap_SD_CLK[] = { + {PC_14, SD_1, SYS_GPC_MFPH_PC14MFP_SD1_CLK}, + {PD_7, SD_0, SYS_GPD_MFPL_PD7MFP_SD0_CLK}, + {PE_7, SD_0, SYS_GPE_MFPL_PE7MFP_SD0_CLK}, + {PF_8, SD_0, SYS_GPF_MFPH_PF8MFP_SD0_CLK}, + + {NC, NC, 0} +}; + +const PinMap PinMap_SD_DAT0[] = { + {PC_9, SD_1, SYS_GPC_MFPH_PC9MFP_SD1_DAT0}, + {PD_2, SD_1, SYS_GPD_MFPL_PD2MFP_SD1_DAT0}, + {PE_11, SD_0, SYS_GPE_MFPH_PE11MFP_SD0_DAT0}, + {PF_5, SD_0, SYS_GPF_MFPL_PF5MFP_SD0_DAT0}, + + {NC, NC, 0} +}; + +const PinMap PinMap_SD_DAT1[] = { + {PD_1, SD_1, SYS_GPD_MFPL_PD1MFP_SD1_DAT1}, + {PE_10, SD_0, SYS_GPE_MFPH_PE10MFP_SD0_DAT1}, + {PF_4, SD_0, SYS_GPF_MFPL_PF4MFP_SD0_DAT1}, + + + {NC, NC, 0} +}; + +const PinMap PinMap_SD_DAT2[] = { + {PD_0, SD_1, SYS_GPD_MFPL_PD0MFP_SD1_DAT2}, + {PE_9, SD_0, SYS_GPE_MFPH_PE9MFP_SD0_DAT2}, + {PF_3, SD_0, SYS_GPF_MFPL_PF3MFP_SD0_DAT2}, + + {NC, NC, 0} +}; + +const PinMap PinMap_SD_DAT3[] = { + {PC_15, SD_1, SYS_GPC_MFPH_PC15MFP_SD1_DAT3}, + {PE_8, SD_0, SYS_GPE_MFPH_PE8MFP_SD0_DAT3}, + {PF_2, SD_0, SYS_GPF_MFPL_PF2MFP_SD0_DAT3}, + + {NC, NC, 0} +}; diff --git a/targets/TARGET_NUVOTON/TARGET_NUC472/device/StdDriver/nuc472_sys.h b/targets/TARGET_NUVOTON/TARGET_NUC472/device/StdDriver/nuc472_sys.h index ed4ce3ae5e..bf6cc6995b 100644 --- a/targets/TARGET_NUVOTON/TARGET_NUC472/device/StdDriver/nuc472_sys.h +++ b/targets/TARGET_NUVOTON/TARGET_NUC472/device/StdDriver/nuc472_sys.h @@ -2,7 +2,7 @@ * @file SYS.h * @version V1.0 * $Revision 1 $ - * $Date: 14/10/06 1:15p $ + * $Date: 15/10/21 1:35p $ * @brief NUC472/NUC442 SYS Header File * * @note @@ -32,16 +32,14 @@ extern "C" /*---------------------------------------------------------------------------------------------------------*/ /* Module Reset Control Resister constant definitions. */ /*---------------------------------------------------------------------------------------------------------*/ -#define CHIP_RST ((0x0<<24)|SYS_IPRST0_CHIPRST_Pos) /*!BODCTL &= ~SYS_BODCTL_BODINTF_Msk) +#define SYS_CLEAR_BOD_INT_FLAG() (SYS->BODCTL |= SYS_BODCTL_BODINTF_Msk) /** * @brief Set Brown-out detector function to normal mode