summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorPavan Kunapuli <pkunapuli@nvidia.com>2011-04-26 17:03:55 +0530
committerVarun Colbert <vcolbert@nvidia.com>2011-05-05 00:17:26 -0700
commit451cc3626c9d3f5ebf369c2edf2a0fe3fdecb67a (patch)
treedad54ea3159d026368e8423b9c1f10d7137d4bed /arch
parent4996ee68126b7afaae11131f8b0fe6446f638c93 (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.c28
-rw-r--r--arch/arm/mach-tegra/include/mach/sdhci.h6
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 *);