linux-kernel-test/drivers/mmc/core
Subhash Jadavani f2815f68da mmc: sd: Handle SD3.0 cards not supporting UHS-I bus speed mode
Here is Essential conditions to indicate Version 3.00 Card
(SD_SPEC=2 and SD_SPEC3=1) :
(1) The card shall support CMD6
(2) The card shall support CMD8
(3) The card shall support CMD42
(4) User area capacity shall be up to 2GB (SDSC) or 32GB (SDHC)
    User area capacity shall be more than or equal to 32GB and
    up to 2TB (SDXC)
(5) Speed Class shall be supported (SDHC or SDXC)

So even if SD card doesn't support any of the newly defined
UHS-I bus speed mode, it can advertise itself as SD3.0 cards
as long as it supports all the essential conditions of
SD3.0 cards. Given this, these type of cards should atleast
run in High Speed mode @50MHZ if it supports HS.

But current initialization sequence for SD3.0 cards is
such that these non-UHS-I SD3.0 cards runs in Default
Speed mode @25MHz.

This patch makes sure that these non-UHS-I SD3.0 cards run
in High Speed Mode @50MHz.

Tested this patch with SanDisk Extreme SDHC 8GB Class 10 card.

Reported-by: "Hiremath, Vaibhav" <hvaibhav@ti.com>
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
2011-10-26 16:32:30 -04:00
..
bus.c mmc: replace printk with appropriate display macro 2011-10-26 16:32:22 -04:00
bus.h mmc: rename dev_to_mmc_card() to mmc_dev_to_card() 2010-10-23 21:11:12 +08:00
core.c mmc: core: support HPI send command 2011-10-26 16:32:29 -04:00
core.h mmc: core: Fix hangs related to insert/remove of cards 2011-10-26 16:32:01 -04:00
debugfs.c mmc: using module_param requires the inclusion of moduleparam.h 2011-10-26 16:32:18 -04:00
host.c mmc: enable runtime PM by default 2011-10-26 15:43:35 -04:00
host.h mmc: rename mmc_host_clk_{ungate|gate} to mmc_host_clk_{hold|release} 2011-08-31 16:24:54 -04:00
Kconfig mmc: Aggressive clock gating framework 2011-01-08 22:48:03 -05:00
Makefile mmc: add per device quirk placeholder 2011-03-15 13:48:33 -04:00
mmc_ops.c mmc: core: support HPI send command 2011-10-26 16:32:29 -04:00
mmc_ops.h mmc: core: support HPI send command 2011-10-26 16:32:29 -04:00
mmc.c mmc: core: support HPI send command 2011-10-26 16:32:29 -04:00
quirks.c mmc: sdio: Workaround for dev with broken CMD53 2011-10-26 16:32:02 -04:00
sd_ops.c mmc: fix integer assignments to pointer 2011-10-26 15:43:35 -04:00
sd_ops.h mmc: add erase, secure erase, trim and secure trim operations 2010-08-12 08:43:30 -07:00
sd.c mmc: sd: Handle SD3.0 cards not supporting UHS-I bus speed mode 2011-10-26 16:32:30 -04:00
sd.h mmc: sd: add support for driver type selection 2011-05-24 23:53:24 -04:00
sdio_bus.c mmc: replace printk with appropriate display macro 2011-10-26 16:32:22 -04:00
sdio_bus.h
sdio_cis.c mmc: replace printk with appropriate display macro 2011-10-26 16:32:22 -04:00
sdio_cis.h
sdio_io.c sdio: add new function for RAW (Read after Write) operation 2010-05-27 09:12:40 -07:00
sdio_irq.c mmc: replace printk with appropriate display macro 2011-10-26 16:32:22 -04:00
sdio_ops.c mmc: sdio: Workaround for dev with broken CMD53 2011-10-26 16:32:02 -04:00
sdio_ops.h sdio: recognize io card without powercycle 2010-03-12 15:52:28 -08:00
sdio.c mmc: replace printk with appropriate display macro 2011-10-26 16:32:22 -04:00