aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host
diff options
context:
space:
mode:
authorJohan Rudholm <johan.rudholm@stericsson.com>2013-01-28 15:08:28 +0100
committerChris Ball <cjb@laptop.org>2013-02-24 14:37:08 -0500
commit0797e5f1453b2bedc08bbcbea0ea4fbe20350823 (patch)
tree999bbb3435f9c38f18506738834d13a9ea4a8f4e /drivers/mmc/host
parent567c89032cfdda8047562abe450947ac01f2d3c7 (diff)
downloadkernel_goldelico_gta04-0797e5f1453b2bedc08bbcbea0ea4fbe20350823.zip
kernel_goldelico_gta04-0797e5f1453b2bedc08bbcbea0ea4fbe20350823.tar.gz
kernel_goldelico_gta04-0797e5f1453b2bedc08bbcbea0ea4fbe20350823.tar.bz2
mmc: core: Fixup signal voltage switch
When switching SD and SDIO cards from 3.3V to 1.8V signal levels, the clock should be gated for 5 ms during the step. After enabling the clock, the host should wait for at least 1 ms before checking for failure. Failure by the card to switch is indicated by dat[0:3] being pulled low. The host should check for this condition and power-cycle the card if failure is indicated. Add a retry mechanism for the SDIO case. If the voltage switch fails repeatedly, give up and continue the initialization using the original voltage. This patch places a couple of requirements on the host driver: 1) mmc_set_ios with ios.clock = 0 must gate the clock 2) mmc_power_off must actually cut the power to the card 3) The card_busy host_ops member must be implemented if these requirements are not fulfilled, the 1.8V signal voltage switch will still be attempted but may not be successful. Signed-off-by: Johan Rudholm <johan.rudholm@stericsson.com> Signed-off-by: Kevin Liu <kliu5@marvell.com> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Tested-by: Wei WANG <wei_wang@realsil.com.cn> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc/host')
0 files changed, 0 insertions, 0 deletions