summaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorHaijun Zhang <Haijun.Zhang@freescale.com>2013-10-23 03:01:54 (GMT)
committerJose Rivera <German.Rivera@freescale.com>2013-12-18 19:22:22 (GMT)
commit83c51ddaf26377cb6f63ba1fcf23e91d9b382e68 (patch)
tree5c7f145ab3e08195f921bd3e89fcabb746bdce28 /drivers/mmc
parent31fa0d266a5b44dab69a61d77992df30734727fd (diff)
downloadlinux-fsl-qoriq-83c51ddaf26377cb6f63ba1fcf23e91d9b382e68.tar.xz
esdhc: Correct host version of T4240-R1.0-R2.0
Vender version and sdhc spec version of T4240-R1.0-R2.0 is incorrect. The right value should be VVN=0x13, SVN = 0x1. The wrong version number will break down the ADMA data transfer. This defect only exist in T4240-R1.0-R2.0. Signed-off-by: Haijun Zhang <haijun.zhang@freescale.com> Change-Id: I9fd43ec6d293b51d8928c28b4880c8f73704d946 Reviewed-on: http://git.am.freescale.net:8181/5923 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Xiaobo Xie <X.Xie@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/sdhci-of-esdhc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c
index b82a4e6..c5b3e60 100644
--- a/drivers/mmc/host/sdhci-of-esdhc.c
+++ b/drivers/mmc/host/sdhci-of-esdhc.c
@@ -63,6 +63,13 @@ static u16 esdhc_readw(struct sdhci_host *host, int reg)
ret = in_be32(host->ioaddr + base) & 0xffff;
else
ret = (in_be32(host->ioaddr + base) >> shift) & 0xffff;
+
+ /* T4240-R1.0-R2.0 had a incorrect vendor version and spec version */
+ if ((reg == SDHCI_HOST_VERSION) &&
+ ((SVR_SOC_VER(svr) == SVR_T4240) &&
+ (SVR_REV(svr) <= 0x20)))
+ ret = (VENDOR_V_23 << SDHCI_VENDOR_VER_SHIFT) | SDHCI_SPEC_200;
+
return ret;
}