ARM: tegra: power: Add LP1 cold low voltage parameter
Daniel Solomon [Tue, 2 Apr 2013 18:44:17 +0000 (11:44 -0700)]
Currently, if CONFIG_TEGRA_LP1_LOW_COREVOLTAGE is enabled,
we decrease core voltage to a level specified via lp1_core_volt_low
in each platform's board file.

Add another level, lp1_core_volt_low_cold, which will be used if
there's a low temperature core voltage floor set during LP1 entry.
Only one voltage floor exists for T30 and T114, so only one additional
low voltage entry has been added.

Bug 1261915

Change-Id: I614a4176b0bf68d6607a104a980d38589ebd3046
Signed-off-by: Daniel Solomon <daniels@nvidia.com>
Reviewed-on: http://git-master/r/216364
(cherry picked from commit b12e9b71552b89664dd8bdfc26e5e33cc9b45056)
Reviewed-on: http://git-master/r/226437
Reviewed-by: Mrutyunjay Sawant <msawant@nvidia.com>
Tested-by: Mrutyunjay Sawant <msawant@nvidia.com>

arch/arm/mach-tegra/board-dalmore-power.c
arch/arm/mach-tegra/board-macallan-power.c
arch/arm/mach-tegra/board-pluto-power.c
arch/arm/mach-tegra/board-roth-power.c
arch/arm/mach-tegra/pm.h

index c186142..3a92dcf 100644 (file)
@@ -1096,6 +1096,7 @@ static struct tegra_suspend_platform_data dalmore_suspend_data = {
        .i2c_base_addr = 0,
        .pmuslave_addr = 0,
        .core_reg_addr = 0,
+       .lp1_core_volt_low_cold = 0,
        .lp1_core_volt_low = 0,
        .lp1_core_volt_high = 0,
 #endif
index aab2da9..56a3168 100644 (file)
@@ -624,6 +624,7 @@ static struct tegra_suspend_platform_data macallan_suspend_data = {
        .i2c_base_addr = 0,
        .pmuslave_addr = 0,
        .core_reg_addr = 0,
+       .lp1_core_volt_low_cold = 0,
        .lp1_core_volt_low = 0,
        .lp1_core_volt_high = 0,
 #endif
index 53a60f0..99e1926 100644 (file)
@@ -717,7 +717,8 @@ static struct tegra_suspend_platform_data pluto_suspend_data = {
        .i2c_base_addr = TEGRA_I2C5_BASE,
        .pmuslave_addr = 0xB0,
        .core_reg_addr = 0x2B,
-       .lp1_core_volt_low = 0x33,
+       .lp1_core_volt_low_cold = 0x33,
+       .lp1_core_volt_low = 0x2e,
        .lp1_core_volt_high = 0x42,
 #endif
 };
index 23da2a6..1fa1706 100644 (file)
@@ -611,6 +611,7 @@ static struct tegra_suspend_platform_data roth_suspend_data = {
        .i2c_base_addr = 0,
        .pmuslave_addr = 0,
        .core_reg_addr = 0,
+       .lp1_core_volt_low_cold = 0,
        .lp1_core_volt_low = 0,
        .lp1_core_volt_high = 0,
 #endif
index e0b7106..d34df30 100644 (file)
@@ -71,6 +71,7 @@ struct tegra_suspend_platform_data {
        unsigned int i2c_base_addr;
        unsigned int pmuslave_addr;
        unsigned int core_reg_addr;
+       unsigned int lp1_core_volt_low_cold;
        unsigned int lp1_core_volt_low;
        unsigned int lp1_core_volt_high;
 #endif