|
@@ -55,14 +55,16 @@ static void mmci_set_clkreg(struct mmci_host *host, unsigned int desired)
|
|
host->cclk = host->mclk / (2 * (clk + 1));
|
|
host->cclk = host->mclk / (2 * (clk + 1));
|
|
}
|
|
}
|
|
if (host->hw_designer == AMBA_VENDOR_ST)
|
|
if (host->hw_designer == AMBA_VENDOR_ST)
|
|
- clk |= MCI_FCEN; /* Bug fix in ST IP block */
|
|
|
|
|
|
+ clk |= MCI_ST_FCEN; /* Bug fix in ST IP block */
|
|
clk |= MCI_CLK_ENABLE;
|
|
clk |= MCI_CLK_ENABLE;
|
|
/* This hasn't proven to be worthwhile */
|
|
/* This hasn't proven to be worthwhile */
|
|
/* clk |= MCI_CLK_PWRSAVE; */
|
|
/* clk |= MCI_CLK_PWRSAVE; */
|
|
}
|
|
}
|
|
|
|
|
|
if (host->mmc->ios.bus_width == MMC_BUS_WIDTH_4)
|
|
if (host->mmc->ios.bus_width == MMC_BUS_WIDTH_4)
|
|
- clk |= MCI_WIDE_BUS;
|
|
|
|
|
|
+ clk |= MCI_4BIT_BUS;
|
|
|
|
+ if (host->mmc->ios.bus_width == MMC_BUS_WIDTH_8)
|
|
|
|
+ clk |= MCI_ST_8BIT_BUS;
|
|
|
|
|
|
writel(clk, host->base + MMCICLOCK);
|
|
writel(clk, host->base + MMCICLOCK);
|
|
}
|
|
}
|