diff options
author | Haijun Zhang <Haijun.Zhang@freescale.com> | 2013-10-23 03:01:54 (GMT) |
---|---|---|
committer | Jose Rivera <German.Rivera@freescale.com> | 2013-12-18 19:22:22 (GMT) |
commit | 83c51ddaf26377cb6f63ba1fcf23e91d9b382e68 (patch) | |
tree | 5c7f145ab3e08195f921bd3e89fcabb746bdce28 /drivers/mmc | |
parent | 31fa0d266a5b44dab69a61d77992df30734727fd (diff) | |
download | linux-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.c | 7 |
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; } |