ARM: 6032/1: ARM: MMCI: support 8bit mode on the ST Micro version
This adds support for an 8bit wide bus to the card (data lines MCIDAT0 through 7 exist) on the ST Micro version and alters the U300 platform to support this. Also add some ST_ prefix to the ST-specific registers. Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
8e797a7e4f
commit
771dc157e0
3 changed files with 9 additions and 5 deletions
|
@ -105,7 +105,7 @@ int __devinit mmc_init(struct amba_device *adev)
|
|||
mmci_card->mmc0_plat_data.gpio_wp = -1;
|
||||
mmci_card->mmc0_plat_data.gpio_cd = -1;
|
||||
mmci_card->mmc0_plat_data.capabilities = MMC_CAP_MMC_HIGHSPEED |
|
||||
MMC_CAP_SD_HIGHSPEED | MMC_CAP_4_BIT_DATA;
|
||||
MMC_CAP_SD_HIGHSPEED | MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA;
|
||||
|
||||
mmcsd_device->platform_data = (void *) &mmci_card->mmc0_plat_data;
|
||||
|
||||
|
|
|
@ -55,14 +55,16 @@ static void mmci_set_clkreg(struct mmci_host *host, unsigned int desired)
|
|||
host->cclk = host->mclk / (2 * (clk + 1));
|
||||
}
|
||||
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;
|
||||
/* This hasn't proven to be worthwhile */
|
||||
/* clk |= MCI_CLK_PWRSAVE; */
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
|
|
@ -25,9 +25,11 @@
|
|||
#define MCI_CLK_ENABLE (1 << 8)
|
||||
#define MCI_CLK_PWRSAVE (1 << 9)
|
||||
#define MCI_CLK_BYPASS (1 << 10)
|
||||
#define MCI_WIDE_BUS (1 << 11)
|
||||
#define MCI_4BIT_BUS (1 << 11)
|
||||
/* 8bit wide buses supported in ST Micro versions */
|
||||
#define MCI_ST_8BIT_BUS (1 << 12)
|
||||
/* HW flow control on the ST Micro version */
|
||||
#define MCI_FCEN (1 << 13)
|
||||
#define MCI_ST_FCEN (1 << 13)
|
||||
|
||||
#define MMCIARGUMENT 0x008
|
||||
#define MMCICOMMAND 0x00c
|
||||
|
|
Loading…
Reference in a new issue