[U-Boot] [PATCH 2/2 v3] FSL/eSDHC: enable the clock to detect the SD card

Chang-Ming.Huang at freescale.com Chang-Ming.Huang at freescale.com
Fri May 18 11:57:02 CEST 2012


From: Jerry Huang <Chang-Ming.Huang at freescale.com>

For FSL low-end processors (VVN2.2), in order to detect the SD card,
we should enable PEREN, HCKEN and IPGEN to enable the clock.
Otherwise, after booting the u-boot, and then inserting the SD card,
the SD card can't be detected.
For SDHC VVN2.3 IP, these bits are reserved, and SDCLKEN is used.
And when accessing to these reserved bit, no any impact happened.

Signed-off-by: Jerry Huang <Chang-Ming.Huang at freescale.com>
CC: Andy Fleming <afleming at gmail.com>
CC: Marek Vasut <marex at denx.de>
---
changes for v2:
	- correct the typo
changes for v3:
	- enable all clock bits for VVN2.3 and VVN2.2
	- use funciton esdhc_setbits32
	- tested on p1022ds, p1025rdb, p1020mbg-pc, mpc8536ds, p3041ds

 drivers/mmc/fsl_esdhc.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
index a2f35e3..930a5c5 100644
--- a/drivers/mmc/fsl_esdhc.c
+++ b/drivers/mmc/fsl_esdhc.c
@@ -491,6 +491,9 @@ int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg)
 	/* First reset the eSDHC controller */
 	esdhc_reset(regs);
 
+	esdhc_setbits32(&regs->sysctl, SYSCTL_PEREN | SYSCTL_HCKEN
+				| SYSCTL_IPGEN | SYSCTL_CKEN);
+
 	mmc->priv = cfg;
 	mmc->send_cmd = esdhc_send_cmd;
 	mmc->set_ios = esdhc_set_ios;
-- 
1.7.5.4




More information about the U-Boot mailing list