diff options
author | Pavan Kunapuli <pkunapuli@nvidia.com> | 2011-04-26 17:03:55 +0530 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-05-05 00:17:26 -0700 |
commit | 451cc3626c9d3f5ebf369c2edf2a0fe3fdecb67a (patch) | |
tree | dad54ea3159d026368e8423b9c1f10d7137d4bed /arch | |
parent | 4996ee68126b7afaae11131f8b0fe6446f638c93 (diff) |
Sdhci:tegra:Switch OFF/ON power rails in suspend/resume
Switching off and switching on the power rails during
suspend and resume. Passing the power rail name, maxV
and minV through platform data.
Bug 793796
Change-Id: I6c80c1a23c9681043d11ffdd210dc6d2146bdd2e
Reviewed-on: http://git-master/r/29660
Reviewed-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Tested-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: Narendra Damahe <ndamahe@nvidia.com>
Reviewed-by: Scott Williams <scwilliams@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu-sdhci.c | 28 | ||||
-rw-r--r-- | arch/arm/mach-tegra/include/mach/sdhci.h | 6 |
2 files changed, 22 insertions, 12 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-sdhci.c b/arch/arm/mach-tegra/board-cardhu-sdhci.c index a1a9ec20e169..e6047ecd2246 100644 --- a/arch/arm/mach-tegra/board-cardhu-sdhci.c +++ b/arch/arm/mach-tegra/board-cardhu-sdhci.c @@ -121,8 +121,10 @@ static struct tegra_sdhci_platform_data tegra_sdhci_platform_data2 = { .power_gpio = -1, .tap_delay = 6, .is_voltage_switch_supported = false, - .vsd_name = NULL, - .vsd_slot_name = NULL, + .vdd_rail_name = NULL, + .slot_rail_name = NULL, + .vdd_max_uv = -1, + .vdd_min_uv = -1, .max_clk = 48000000, .is_8bit_supported = false, }; @@ -135,8 +137,10 @@ static struct tegra_sdhci_platform_data tegra_sdhci_platform_data0 = { .power_gpio = -1, .tap_delay = 6, .is_voltage_switch_supported = true, - .vsd_name = "vddio_sdmmc1", - .vsd_slot_name = "vddio_sd_slot", + .vdd_rail_name = "vddio_sdmmc1", + .slot_rail_name = "vddio_sd_slot", + .vdd_max_uv = 3320000, + .vdd_min_uv = 3280000, .max_clk = 208000000, .is_8bit_supported = false, }; @@ -149,8 +153,10 @@ static struct tegra_sdhci_platform_data tegra_sdhci_platform_data3 = { .power_gpio = -1, .tap_delay = 6, .is_voltage_switch_supported = false, - .vsd_name = NULL, - .vsd_slot_name = NULL, + .vdd_rail_name = NULL, + .slot_rail_name = NULL, + .vdd_max_uv = -1, + .vdd_min_uv = -1, .max_clk = 48000000, .is_8bit_supported = true, }; @@ -176,8 +182,8 @@ static struct tegra_sdhci_platform_data tegra_pm269_sdhci_platform_data0 = { .power_gpio = -1, .tap_delay = 6, .is_voltage_switch_supported = false, - .vsd_name = NULL, - .vsd_slot_name = NULL, + .vdd_rail_name = NULL, + .slot_rail_name = NULL, .max_clk = 48000000, .is_8bit_supported = false, }; @@ -190,8 +196,10 @@ static struct tegra_sdhci_platform_data tegra_pm269_sdhci_platform_data2 = { .power_gpio = -1, .tap_delay = 6, .is_voltage_switch_supported = false, - .vsd_name = "vddio_sdmmc3", - .vsd_slot_name = "vddio_sd_slot", + .vdd_rail_name = "vddio_sdmmc3", + .slot_rail_name = "vddio_sd_slot", + .vdd_max_uv = 3300000, + .vdd_min_uv = 3300000, .max_clk = 48000000, .is_8bit_supported = false, }; diff --git a/arch/arm/mach-tegra/include/mach/sdhci.h b/arch/arm/mach-tegra/include/mach/sdhci.h index 1f10914cc28a..c31e3f74b0d9 100644 --- a/arch/arm/mach-tegra/include/mach/sdhci.h +++ b/arch/arm/mach-tegra/include/mach/sdhci.h @@ -31,8 +31,10 @@ struct tegra_sdhci_platform_data { unsigned int tap_delay; bool is_voltage_switch_supported; bool is_8bit_supported; - const char *vsd_name; - const char *vsd_slot_name; + const char *vdd_rail_name; + const char *slot_rail_name; + int vdd_max_uv; + int vdd_min_uv; unsigned int max_clk; void (*board_probe)(int id, struct mmc_host *); |