From 370dc27c608329a5d59850eae8d4b9a47021ed27 Mon Sep 17 00:00:00 2001 From: Anthony Merlino Date: Wed, 3 Apr 2019 19:36:21 +0000 Subject: [PATCH] Merged in antmerlino/nuttx/stm32f7-sdmmc-bypclk (pull request #844) arch/stm32f7: Support bypassing the input clock divider on the SDMMC interface. This enables using the full clock speed provided to the SDMMC interface with no dividing. Approved-by: Gregory Nutt --- arch/arm/src/stm32f7/stm32_sdmmc.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/arch/arm/src/stm32f7/stm32_sdmmc.c b/arch/arm/src/stm32f7/stm32_sdmmc.c index 20d2076fa8..07df69af39 100644 --- a/arch/arm/src/stm32f7/stm32_sdmmc.c +++ b/arch/arm/src/stm32f7/stm32_sdmmc.c @@ -184,12 +184,22 @@ #define STM32_SDMMC_CLKCR_MMCXFR (STM32_SDMMC_MMCXFR_CLKDIV | \ STM32_SDMMC_CLKCR_EDGE | \ STM32_SDMMC_CLKCR_WIDBUS_D1) -#define STM32_SDMMC_CLCKR_SDXFR (STM32_SDMMC_SDXFR_CLKDIV | \ - STM32_SDMMC_CLKCR_EDGE | \ - STM32_SDMMC_CLKCR_WIDBUS_D1) -#define STM32_SDMMC_CLCKR_SDWIDEXFR (STM32_SDMMC_SDXFR_CLKDIV | \ - STM32_SDMMC_CLKCR_EDGE | \ - STM32_SDMMC_CLKCR_WIDBUS_D4) + +#ifdef STM32_SDMMC_SDXFR_BYPCLKDIV +# define STM32_SDMMC_CLCKR_SDXFR (STM32_SDMMC_CLKCR_BYPASS | \ + STM32_SDMMC_CLKCR_EDGE | \ + STM32_SDMMC_CLKCR_WIDBUS_D1) +# define STM32_SDMMC_CLCKR_SDWIDEXFR (STM32_SDMMC_CLKCR_BYPASS | \ + STM32_SDMMC_CLKCR_EDGE | \ + STM32_SDMMC_CLKCR_WIDBUS_D4) +#else +# define STM32_SDMMC_CLCKR_SDXFR (STM32_SDMMC_SDXFR_CLKDIV | \ + STM32_SDMMC_CLKCR_EDGE | \ + STM32_SDMMC_CLKCR_WIDBUS_D1) +# define STM32_SDMMC_CLCKR_SDWIDEXFR (STM32_SDMMC_SDXFR_CLKDIV | \ + STM32_SDMMC_CLKCR_EDGE | \ + STM32_SDMMC_CLKCR_WIDBUS_D4) +#endif /* Timing */