mmc: mv_sdhci: Fix host version read for Armada100

sdhci_readw does not work for host version read in Armada100 series
SoCs. This patch fix this issue by making a sdhci_readl call to get host
version.

Signed-off-by: Ajay Bhargav <ajay.bhargav@einfochips.com>
master
Ajay Bhargav 13 years ago committed by Andy Fleming
parent fdbe8b9a2d
commit 5af9a56999
  1. 5
      drivers/mmc/mv_sdhci.c
  2. 1
      include/sdhci.h

@ -48,7 +48,10 @@ int mv_sdh_init(u32 regbase, u32 max_clk, u32 min_clk, u32 quirks)
mv_ops.write_b = mv_sdhci_writeb;
host->ops = &mv_ops;
#endif
host->version = sdhci_readw(host, SDHCI_HOST_VERSION);
if (quirks & SDHCI_QUIRK_REG32_RW)
host->version = sdhci_readl(host, SDHCI_HOST_VERSION - 2) >> 16;
else
host->version = sdhci_readw(host, SDHCI_HOST_VERSION);
add_sdhci(host, max_clk, min_clk);
return 0;
}

@ -215,6 +215,7 @@
* quirks
*/
#define SDHCI_QUIRK_32BIT_DMA_ADDR (1 << 0)
#define SDHCI_QUIRK_REG32_RW (1 << 1)
/* to make gcc happy */
struct sdhci_host;

Loading…
Cancel
Save