[PATCH] mci: imx-esdhc-pbl: fix iMX50 prediv setting
Alexander Kurz
akurz at blala.de
Sat Aug 2 22:54:49 PDT 2025
The ESDHC3 instance is common between iMX50 and iMX53.
Extend the required quirk also to iMX50 fixing a problem that data could
not be written to an eMMC.
Fixes: 1713fa5bf0f9 ("mci: imx-esdhc-pbl: fix prediv setting")
Signed-off-by: Alexander Kurz <akurz at blala.de>
---
drivers/mci/imx-esdhc.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/mci/imx-esdhc.c b/drivers/mci/imx-esdhc.c
index 0ae0bb4ede..ae02d80443 100644
--- a/drivers/mci/imx-esdhc.c
+++ b/drivers/mci/imx-esdhc.c
@@ -22,6 +22,7 @@
#include <gpio.h>
#include <of_device.h>
#include <mach/imx/generic.h>
+#include <mach/imx/imx50-regs.h>
#include <mach/imx/imx53-regs.h>
#include "sdhci.h"
@@ -97,8 +98,9 @@ static void set_sysctl(struct mci_host *mci, u32 clock, bool ddr)
if (esdhc_is_layerscape(host))
sdhc_clk >>= 1;
- /* For i.MX53 eSDHCv3, SYSCTL.SDCLKFS may not be set to 0. */
- if (cpu_is_mx53() && host->sdhci.base == (void *)MX53_ESDHC3_BASE_ADDR)
+ /* For i.MX50 and i.MX53 eSDHCv3, SYSCTL.SDCLKFS may not be set to 0. */
+ if ((cpu_is_mx50() && host->sdhci.base == (void *)MX50_ESDHC3_BASE_ADDR)
+ || (cpu_is_mx53() && host->sdhci.base == (void *)MX53_ESDHC3_BASE_ADDR))
pre_div = 2;
else
pre_div = 1;
--
2.39.5
More information about the barebox
mailing list