|
@@ -589,10 +589,18 @@ static void esdhc_pltfm_set_bus_width(struct sdhci_host *host, int width)
|
|
|
|
|
|
static void esdhc_reset(struct sdhci_host *host, u8 mask)
|
|
|
{
|
|
|
+ u32 val;
|
|
|
+
|
|
|
sdhci_reset(host, mask);
|
|
|
|
|
|
sdhci_writel(host, host->ier, SDHCI_INT_ENABLE);
|
|
|
sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE);
|
|
|
+
|
|
|
+ if (mask & SDHCI_RESET_ALL) {
|
|
|
+ val = sdhci_readl(host, ESDHC_TBCTL);
|
|
|
+ val &= ~ESDHC_TB_EN;
|
|
|
+ sdhci_writel(host, val, ESDHC_TBCTL);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/* The SCFG, Supplemental Configuration Unit, provides SoC specific
|
|
@@ -785,10 +793,6 @@ static void esdhc_init(struct platform_device *pdev, struct sdhci_host *host)
|
|
|
pltfm_host = sdhci_priv(host);
|
|
|
esdhc = sdhci_pltfm_priv(pltfm_host);
|
|
|
|
|
|
- val = sdhci_readl(host, ESDHC_TBCTL);
|
|
|
- val &= ~ESDHC_TB_EN;
|
|
|
- sdhci_writel(host, val, ESDHC_TBCTL);
|
|
|
-
|
|
|
host_ver = sdhci_readw(host, SDHCI_HOST_VERSION);
|
|
|
esdhc->vendor_ver = (host_ver & SDHCI_VENDOR_VER_MASK) >>
|
|
|
SDHCI_VENDOR_VER_SHIFT;
|