From 528e5f79b4494aab0823ca9e26aae0db8b92de5c Mon Sep 17 00:00:00 2001 From: Andrey Gusakov Date: Mon, 13 Jan 2025 16:02:40 +0300 Subject: [PATCH] mmc_card: calculate SPI dividers in runtime (is supported by platform) --- firmware/hw_layer/mmc_card.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/firmware/hw_layer/mmc_card.cpp b/firmware/hw_layer/mmc_card.cpp index b909ddaa55..6a401f051f 100644 --- a/firmware/hw_layer/mmc_card.cpp +++ b/firmware/hw_layer/mmc_card.cpp @@ -339,6 +339,11 @@ static BaseBlockDevice* initializeMmcBlockDevice() { return nullptr; } + // max SPI rate is 25 MHz after init + spiCalcClockDiv(mmccfg.spip, &mmc_hs_spicfg, 25 * 1000 * 1000); + // and 250 KHz during initialization + spiCalcClockDiv(mmccfg.spip, &mmc_ls_spicfg, 250 * 1000); + // We think we have everything for the card, let's try to mount it! mmcObjectInit(&MMCD1); mmcStart(&MMCD1, &mmccfg);