summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBo Shen <voice.shen@atmel.com>2014-07-31 14:39:32 +0800
committerPantelis Antoniou <panto@antoniou-consulting.com>2014-08-01 20:01:33 +0300
commitda55c66ec92c962435175cf0b4f4d61732ca3ebf (patch)
treec145e12c9e74792ad7c0601eb8f80cf85993597d
parent70ec3286e654a97ba7a6685a45563b1546a8c2b9 (diff)
downloadu-boot-imx-da55c66ec92c962435175cf0b4f4d61732ca3ebf.zip
u-boot-imx-da55c66ec92c962435175cf0b4f4d61732ca3ebf.tar.gz
u-boot-imx-da55c66ec92c962435175cf0b4f4d61732ca3ebf.tar.bz2
MMC: atmel_mci: enable high speed mode support
If the MCI IP version >= 0x300, it supports hight speed mode option, this patch enable it. Signed-off-by: Bo Shen <voice.shen@atmel.com> Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
-rw-r--r--drivers/mmc/gen_atmel_mci.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/mmc/gen_atmel_mci.c b/drivers/mmc/gen_atmel_mci.c
index 8778a4d..45bcffb 100644
--- a/drivers/mmc/gen_atmel_mci.c
+++ b/drivers/mmc/gen_atmel_mci.c
@@ -110,6 +110,9 @@ static void mci_set_mode(struct mmc *mmc, u32 hz, u32 blklen)
if (version >= 0x200)
writel(MMCI_BF(BLKLEN, blklen), &mci->blkr);
+ if (mmc->card_caps & mmc->cfg->host_caps & MMC_MODE_HS)
+ writel(MMCI_BIT(HSMODE), &mci->cfg);
+
initialized = 1;
}
@@ -404,8 +407,10 @@ int atmel_mci_init(void *regs)
/* need to be able to pass these in on a board by board basis */
cfg->voltages = MMC_VDD_32_33 | MMC_VDD_33_34;
version = atmel_mci_get_version(mci);
- if ((version & 0xf00) >= 0x300)
+ if ((version & 0xf00) >= 0x300) {
cfg->host_caps = MMC_MODE_8BIT;
+ cfg->host_caps |= MMC_MODE_HS | MMC_MODE_HS_52MHz;
+ }
cfg->host_caps |= MMC_MODE_4BIT;