summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorSeema Khowala <seemaj@nvidia.com>2012-08-28 16:10:58 -0700
committerLokesh Pathak <lpathak@nvidia.com>2012-08-29 08:10:08 -0700
commit6bf311e63071e172c56f3e18475ad06c63cb8d30 (patch)
treef60fa4f499a1486f5adbcf80aa9597b10397bb41 /arch
parent5be4f2338b61cb876d6917b5f5e5fb275eaefc8b (diff)
arm: tegra: tai: keep smps4 ON
Bug 1029431 Change-Id: I79ba7e363feeaec86912445ce005ea65a3960718 Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: http://git-master/r/127994 Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-tegra/board-enterprise-power.c39
1 files changed, 37 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/board-enterprise-power.c b/arch/arm/mach-tegra/board-enterprise-power.c
index b7fd3654f1da..c154841eba93 100644
--- a/arch/arm/mach-tegra/board-enterprise-power.c
+++ b/arch/arm/mach-tegra/board-enterprise-power.c
@@ -140,6 +140,13 @@ static struct regulator_consumer_supply tps80031_smps4_supply_a03[] = {
REGULATOR_SUPPLY("vddf_core_emmc", NULL),
};
+static struct regulator_consumer_supply tps80031_smps4_supply_tai[] = {
+ REGULATOR_SUPPLY("vddio_sdmmc_2v85", NULL),
+ REGULATOR_SUPPLY("pwrdet_sdmmc3", NULL),
+ REGULATOR_SUPPLY("vdd_ddr_rx", NULL),
+ REGULATOR_SUPPLY("vddf_core_emmc", NULL),
+};
+
static struct regulator_consumer_supply tps80031_vana_supply_a02[] = {
REGULATOR_SUPPLY("unused_vana", NULL),
};
@@ -272,6 +279,7 @@ TPS_PDATA_INIT(SMPS2, smps2, common, 600, 2100, 0, 0, 0, 0, -1, 0, 0, 0, PWR_REQ
TPS_PDATA_INIT(SMPS3, smps3, common, 600, 2100, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0);
TPS_PDATA_INIT(SMPS4, smps4, a02, 600, 2100, 0, 0, 0, 0, -1, 0, 0, 0, PWR_REQ_INPUT_PREQ1, 0);
TPS_PDATA_INIT(SMPS4, smps4, a03, 600, 2100, 0, 0, 0, 0, -1, 0, 0, 0, PWR_REQ_INPUT_PREQ1, 0);
+TPS_PDATA_INIT(SMPS4, smps4, tai, 600, 2100, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0);
TPS_PDATA_INIT(LDO1, ldo1, a02, 1000, 3300, tps80031_rails(vio), 0, 0, 0, -1, 0, 0, 0, 0, 0);
TPS_PDATA_INIT(LDO1, ldo1, a03, 1000, 3300, tps80031_rails(vio), 0, 0, 0, -1, 0, 0, 0, PWR_REQ_INPUT_PREQ1, 0);
TPS_PDATA_INIT(LDO2, ldo2, common, 1000, 1000, 0, 1, 1, 1, -1, 0, 0, 0, 0, 0);
@@ -372,6 +380,25 @@ static struct tps80031_regulator_platform_data *tps80031_reg_pdata_a03[] = {
TPS_REG_PDATA(vana, a03),
};
+static struct tps80031_regulator_platform_data *tps80031_reg_pdata_tai[] = {
+ TPS_REG_PDATA(vio, a03),
+ TPS_REG_PDATA(smps1, common),
+ TPS_REG_PDATA(smps2, common),
+ TPS_REG_PDATA(smps3, common),
+ TPS_REG_PDATA(ldo2, common),
+ TPS_REG_PDATA(ldo3, common),
+ TPS_REG_PDATA(ldo5, common),
+ TPS_REG_PDATA(vbus, common),
+ TPS_REG_PDATA(smps4, tai),
+ TPS_REG_PDATA(ldo1, a03),
+ TPS_REG_PDATA(ldo4, a03),
+ TPS_REG_PDATA(ldo6, a03),
+ TPS_REG_PDATA(ldo7, a03),
+ TPS_REG_PDATA(ldoln, a03),
+ TPS_REG_PDATA(ldousb, a03),
+ TPS_REG_PDATA(vana, a03),
+};
+
static struct tps80031_clk32k_init_data clk32k_idata[] = {
{
.clk32k_nr = TPS80031_CLOCK32K_G,
@@ -745,8 +772,16 @@ int __init enterprise_regulator_init(void)
tps_platform.num_regulator_pdata = ARRAY_SIZE(tps80031_reg_pdata_a02);
tps_platform.regulator_pdata = tps80031_reg_pdata_a02;
} else {
- tps_platform.num_regulator_pdata = ARRAY_SIZE(tps80031_reg_pdata_a03);
- tps_platform.regulator_pdata = tps80031_reg_pdata_a03;
+ if (machine_is_tai()) {
+ tps_platform.num_regulator_pdata =
+ ARRAY_SIZE(tps80031_reg_pdata_tai);
+ tps_platform.regulator_pdata =
+ tps80031_reg_pdata_tai;
+ } else {
+ tps_platform.num_regulator_pdata =
+ ARRAY_SIZE(tps80031_reg_pdata_a03);
+ tps_platform.regulator_pdata = tps80031_reg_pdata_a03;
+ }
tps_platform.pupd_init_data = pupd_idata;
tps_platform.pupd_init_data_size = ARRAY_SIZE(pupd_idata);
tps_platform.gpio_init_data = gpio_idata_a03;