diff --git a/arch/arm/src/lpc54xx/lpc54_sdmmc.c b/arch/arm/src/lpc54xx/lpc54_sdmmc.c index 4b42f23de3f..d79c6312646 100644 --- a/arch/arm/src/lpc54xx/lpc54_sdmmc.c +++ b/arch/arm/src/lpc54xx/lpc54_sdmmc.c @@ -1309,7 +1309,7 @@ static void lpc54_clock(FAR struct sdio_dev_s *dev, enum sdio_clock_e rate) lpc54_setclock(clkdiv); - /* Enable disable clock */ + /* Enable the new clock */ lpc54_sdcard_clock(enabled); } diff --git a/configs/lpcxpresso-lpc54628/include/board.h b/configs/lpcxpresso-lpc54628/include/board.h index b5c7c68ede5..b94d5f2ebdb 100644 --- a/configs/lpcxpresso-lpc54628/include/board.h +++ b/configs/lpcxpresso-lpc54628/include/board.h @@ -196,10 +196,14 @@ /* SD/MMC or SDIO interface * * NOTE: The SDIO function clock to the interface can be up to 50 MHZ. + * Example: BOARD_MAIN_CLK=220MHz, CLKDIV=5 */ +#define BOARD_SDMMC_MAXFREQ 50000000 +#define BOARD_SDMMC_CEIL(a,b) (((a) + (b) - 1) / (b)) + #define BOARD_SDMMC_CLKSRC SYSCON_SDIOCLKSEL_MAINCLK -#define BOARD_SDMMC_CLKDIV (BOARD_MAIN_CLK / 50000000) +#define BOARD_SDMMC_CLKDIV BOARD_SDMMC_CEIL(BOARD_MAIN_CLK, BOARD_SDMMC_MAXFREQ) #define BOARD_SDMMC_FREQUENCY (BOARD_MAIN_CLK / BOARD_SDMMC_CLKDIV) /* LED definitions *********************************************************/