diff options
author | Roy Zang <tie-fei.zang@freescale.com> | 2011-01-07 00:06:47 -0600 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2011-01-14 01:32:22 -0600 |
commit | 3b4456ec391877a950dd5e98ee20df6560f0e1af (patch) | |
tree | 1690d31ee59b2bbc8e6d5db326aac3c06bc43a6b /drivers | |
parent | d621da0066dff92a76ca3c6fb031a7f823a811f3 (diff) | |
download | device_goldelico_gta04_u-boot-3b4456ec391877a950dd5e98ee20df6560f0e1af.tar.gz device_goldelico_gta04_u-boot-3b4456ec391877a950dd5e98ee20df6560f0e1af.tar.bz2 device_goldelico_gta04_u-boot-3b4456ec391877a950dd5e98ee20df6560f0e1af.zip |
fsl_esdhc: Add the workaround for erratum ESDHC135 (enable on P4080)
The default value of the SRS, VS18 and VS30 and ADMAS fields in the host
controller capabilities register (HOSTCAPBLT) are incorrect. The default
of these bits should be zero instead of one.
Clear these bits out when we read HOSTCAPBLT.
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mmc/fsl_esdhc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index fe94164b0..d01c926c4 100644 --- a/drivers/mmc/fsl_esdhc.c +++ b/drivers/mmc/fsl_esdhc.c @@ -472,6 +472,11 @@ int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg) voltage_caps = 0; caps = regs->hostcapblt; + +#ifdef CONFIG_SYS_FSL_ERRATUM_ESDHC135 + caps = caps & ~(ESDHC_HOSTCAPBLT_SRS | + ESDHC_HOSTCAPBLT_VS18 | ESDHC_HOSTCAPBLT_VS30); +#endif if (caps & ESDHC_HOSTCAPBLT_VS18) voltage_caps |= MMC_VDD_165_195; if (caps & ESDHC_HOSTCAPBLT_VS30) |