diff --git a/miosix/arch/common/drivers/sd_stm32f2_f4_f7.cpp b/miosix/arch/common/drivers/sd_stm32f2_f4_f7.cpp index 33666f6108dbb721a8dded02d28051bf8a271f41..8e6012a4782244fe3207219237a42dc5faf428e0 100644 --- a/miosix/arch/common/drivers/sd_stm32f2_f4_f7.cpp +++ b/miosix/arch/common/drivers/sd_stm32f2_f4_f7.cpp @@ -815,6 +815,10 @@ private: void ClockController::calibrateClockSpeed(SDIODriver *sdio) { + #ifdef SD_DIVIDER + // The frequency will be divided by a factor of SD_DIVIDER + 2 + setClockSpeed(SD_DIVIDER); + #else //During calibration we call readBlock() which will call reduceClockSpeed() //so not to invalidate calibration clock reduction must not be available clockReductionAvailable=0; @@ -843,6 +847,7 @@ void ClockController::calibrateClockSpeed(SDIODriver *sdio) setClockSpeed(minFreq); DBG("Optimal CLKCR=%d\n",minFreq); } + #endif //Make clock reduction available clockReductionAvailable=MAX_ALLOWED_REDUCTIONS;