summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorVenkatesh Yadav Abbarapu <[email protected]>2024-04-23 11:00:57 +0530
committerTom Rini <[email protected]>2024-09-05 16:18:39 -0600
commitefddda8f03f027cf6ed0f1d7e479c87c26247822 (patch)
tree5c356633ae28d173970694d85fc96feddf5c7c39 /drivers
parentfe11aa0b8ca34e24352fbb79c108b69fab011f6c (diff)
mmc: Change the frequency to MMC_HS_52 when selecting hs400
Per JESD84-B51 P47, host need to change frequency to <=52MHz after setting HS_TIMING to 0x1, and host need to set the 8-bit DDR buswidth. Currently setting the frequency to 26MHz and trying to switch 8-bit DDR buswidth resulting timeouts. mmc dev 1 0 Select HS400 failed -110 switch to partitions #0, OK mmc1(part 0) is current device Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mmc/mmc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index 0b881f11b4a..7e702c3ae85 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -997,8 +997,8 @@ static int mmc_set_card_speed(struct mmc *mmc, enum bus_mode mode,
* Extended CSD. Reconfigure the controller to run at HS mode.
*/
if (hsdowngrade) {
- mmc_select_mode(mmc, MMC_HS);
- mmc_set_clock(mmc, mmc_mode2freq(mmc, MMC_HS), false);
+ mmc_select_mode(mmc, MMC_HS_52);
+ mmc_set_clock(mmc, mmc_mode2freq(mmc, MMC_HS_52), false);
}
#endif
@@ -2077,7 +2077,7 @@ static int mmc_select_hs400(struct mmc *mmc)
}
/* Set back to HS */
- mmc_set_card_speed(mmc, MMC_HS, true);
+ mmc_set_card_speed(mmc, MMC_HS_52, true);
err = mmc_hs400_prepare_ddr(mmc);
if (err)