summaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorHaijun.Zhang <Haijun.Zhang@freescale.com>2014-01-10 13:52:17 +0800
committerYork Sun <yorksun@freescale.com>2014-01-22 08:56:15 -0800
commitf7e27cc5ee13aebce4e81fcf908d22d2d55d61e0 (patch)
treea654fcf4971cfb7ec31138e5e1c9db15a68c17b2 /drivers/mmc
parente222b1f36fedb0363dbc21e0add7dc3848bae553 (diff)
downloadu-boot-imx-f7e27cc5ee13aebce4e81fcf908d22d2d55d61e0.zip
u-boot-imx-f7e27cc5ee13aebce4e81fcf908d22d2d55d61e0.tar.gz
u-boot-imx-f7e27cc5ee13aebce4e81fcf908d22d2d55d61e0.tar.bz2
esdhc: Workaround for card can't be detected on T4240QDS
Card detection pin is ineffective on T4240QDS Rev1.0. There are two cards can be connected to board. 1. eMMC card is built-in board, can not be removed. so For eMMC card it is always there. 2. Card detecting pin is functional for SDHC card in Rev2.0. This workaround force sdhc driver scan and initialize the card regardless of whether the card is inserted or not in case Rev1.0. Signed-off-by: Haijun Zhang <Haijun.Zhang@freescale.com> Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com> Reviewed-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/fsl_esdhc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
index e3cd0c7..f79f167 100644
--- a/drivers/mmc/fsl_esdhc.c
+++ b/drivers/mmc/fsl_esdhc.c
@@ -500,6 +500,10 @@ static int esdhc_getcd(struct mmc *mmc)
struct fsl_esdhc *regs = (struct fsl_esdhc *)cfg->esdhc_base;
int timeout = 1000;
+#ifdef CONFIG_ESDHC_DETECT_QUIRK
+ if (CONFIG_ESDHC_DETECT_QUIRK)
+ return 1;
+#endif
while (!(esdhc_read32(&regs->prsstat) & PRSSTAT_CINS) && --timeout)
udelay(1000);