aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/core/mmc.c
diff options
context:
space:
mode:
authorAaron Lu <aaron.lu@amd.com>2012-07-10 04:55:37 -0400
committerChris Ball <cjb@laptop.org>2012-07-22 15:25:53 -0400
commit108ecc4cf9c46a4caabaf18efc42d19818c95b70 (patch)
treeb28bc7b718318b54fcdb22fd3c58833a971ac9c9 /drivers/mmc/core/mmc.c
parent55c4665ea0a42fd6427826bfce96eb4b0389262a (diff)
mmc: core: reset signal voltage on power up
Add a call to mmc_set_signal_voltage() to set signal voltage to 3.3v in mmc_power_up so that we do not need to touch signal voltage setting in mmc/sd/sdio init functions and rescan function. For mmc/sd cards, when doing a suspend/resume cycle, consider the unsafe resume case, the card will lose its power and when powered on again, we will set signal voltage to 3.3v in mmc_power_up before its resume function gets called, which will re-init the card. And for sdio cards, when doing a suspend/resume cycle, consider the unsafe resume case, the card will either lose its power or not depending on if it wants to wakeup the host. If power is not maintained, it is the same case as mmc/sd cards. If power is maintained, mmc_power_up will not be called and the card's signal voltage will remain at the last setting. Signed-off-by: Aaron Lu <aaron.lu@amd.com> Tested-by: Venkatraman S <svenkatr@ti.com> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc/core/mmc.c')
-rw-r--r--drivers/mmc/core/mmc.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index 4f4489aa6bae..396b25891bb9 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -818,9 +818,6 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
818 if (!mmc_host_is_spi(host)) 818 if (!mmc_host_is_spi(host))
819 mmc_set_bus_mode(host, MMC_BUSMODE_OPENDRAIN); 819 mmc_set_bus_mode(host, MMC_BUSMODE_OPENDRAIN);
820 820
821 /* Initialization should be done at 3.3 V I/O voltage. */
822 mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330, 0);
823
824 /* 821 /*
825 * Since we're changing the OCR value, we seem to 822 * Since we're changing the OCR value, we seem to
826 * need to tell some cards to go back to the idle 823 * need to tell some cards to go back to the idle