]> git.sur5r.net Git - u-boot/blobdiff - drivers/mmc/mv_sdhci.c
Merge branch 'master' of git://git.denx.de/u-boot-fdt
[u-boot] / drivers / mmc / mv_sdhci.c
index f92caeb8fd5f43884e720f311fc9e3f58b03f6d2..2fe34b6993b8a8a006da4d0ae5704e1d1e0f66a7 100644 (file)
@@ -44,11 +44,13 @@ int mv_sdh_init(u32 regbase, u32 max_clk, u32 min_clk, u32 quirks)
        host->quirks = quirks;
 #ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
        memset(&mv_ops, 0, sizeof(struct sdhci_ops));
-       if (mv_sdhci_writeb != NULL)
-               mv_ops.write_b = mv_sdhci_writeb;
+       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;
 }