[PATCH] Add SDR12 & SDR25 support for sdio cards.

From: Yuan Juntao
Date: Tue Jul 22 2014 - 06:16:34 EST


According to SDIO simplified specification v3.0, a card should also
support SDR25 & SDR12 if one of the DDR50, SDR50, and SDR104 modes
is supported.

Signed-off-by: Yuan Juntao <juntaox.yuan@xxxxxxxxx>
---
drivers/mmc/core/sdio.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
index 4d721c6..6a8ce6f 100644
--- a/drivers/mmc/core/sdio.c
+++ b/drivers/mmc/core/sdio.c
@@ -160,15 +160,23 @@ static int sdio_read_cccr(struct mmc_card *card, u32 ocr)
if (mmc_host_uhs(card->host)) {
if (data & SDIO_UHS_DDR50)
card->sw_caps.sd3_bus_mode
- |= SD_MODE_UHS_DDR50;
+ |= SD_MODE_UHS_DDR50 |
+ SD_MODE_UHS_SDR50 |
+ SD_MODE_UHS_SDR25 |
+ SD_MODE_UHS_SDR12;

if (data & SDIO_UHS_SDR50)
card->sw_caps.sd3_bus_mode
- |= SD_MODE_UHS_SDR50;
+ |= SD_MODE_UHS_SDR50 |
+ SD_MODE_UHS_SDR25 |
+ SD_MODE_UHS_SDR12;

if (data & SDIO_UHS_SDR104)
card->sw_caps.sd3_bus_mode
- |= SD_MODE_UHS_SDR104;
+ |= SD_MODE_UHS_SDR104 |
+ SD_MODE_UHS_SDR50 |
+ SD_MODE_UHS_SDR25 |
+ SD_MODE_UHS_SDR12;
}

ret = mmc_io_rw_direct(card, 0, 0,
--
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/