summaryrefslogtreecommitdiffstats
path: root/drivers/mci
diff options
context:
space:
mode:
authorTrent Piepho <tpiepho@kymetacorp.com>2015-11-18 21:14:30 +0000
committerSascha Hauer <s.hauer@pengutronix.de>2015-11-19 08:52:10 +0100
commit9d0ff0aa79ccc40820ce5f581733df08b74e5800 (patch)
tree17a6aba555c1fc1bbbd2966cde56f741532c973a /drivers/mci
parent9e45df8ebb1716a305049342ba65639fc856dabd (diff)
downloadbarebox-9d0ff0aa79ccc40820ce5f581733df08b74e5800.tar.gz
barebox-9d0ff0aa79ccc40820ce5f581733df08b74e5800.tar.xz
mci: dw_mmc: Add support for high speed modes
The Synopsys DesignWare core supports 52 MHz MMC mode and 50 MHz SD mode, so add the cap flags so they are used. This works on socfpga. The other user of this driver is Rockchip and the datasheet I found for the RK30xx indicated it supported highspeed modes as well. The Linux kernel has DT properties, e.g. "cap-mmc-highspeed", but none of the drivers in barebox support this at all. They all specify flags in their code. Signed-off-by: Trent Piepho <tpiepho@kymetacorp.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mci')
-rw-r--r--drivers/mci/dw_mmc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mci/dw_mmc.c b/drivers/mci/dw_mmc.c
index 18ddd167bf..cbd3f00646 100644
--- a/drivers/mci/dw_mmc.c
+++ b/drivers/mci/dw_mmc.c
@@ -706,6 +706,8 @@ static int dw_mmc_probe(struct device_d *dev)
host->mci.hw_dev = dev;
host->mci.voltages = MMC_VDD_32_33 | MMC_VDD_33_34;
host->mci.host_caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA;
+ host->mci.host_caps |= MMC_CAP_MMC_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED_52MHZ |
+ MMC_CAP_SD_HIGHSPEED;
if (pdata) {
host->ciu_div = pdata->ciu_div;