summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2011-08-30 18:15:10 +0530
committerVarun Colbert <vcolbert@nvidia.com>2011-08-30 19:30:54 -0700
commitdccf55e9769471f482bd452ea62eb6a07d57ce03 (patch)
treecfee1b9f923bc5e11aca42024571fc5748ec19e3
parent7d17aa1d2c5abe53ed661cc076d0abc90db8a743 (diff)
arm: tegra: cardhu: Support for ES2.0 Ricoh583
Supporting the ES2.0 Ricoh583 based pmu. This pmu has the core current maximum upto 3A and so no need to have external dcdc regulator for the core supply. bug 822562 Change-Id: I47e9a3468501b0999a68aa093df623ac1bde5041 Reviewed-on: http://git-master/r/49853 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/board-cardhu-pm299-power-rails.c35
1 files changed, 24 insertions, 11 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-pm299-power-rails.c b/arch/arm/mach-tegra/board-cardhu-pm299-power-rails.c
index 753bc0335dac..5c92c217b8ca 100644
--- a/arch/arm/mach-tegra/board-cardhu-pm299-power-rails.c
+++ b/arch/arm/mach-tegra/board-cardhu-pm299-power-rails.c
@@ -45,7 +45,12 @@
#define PMC_CTRL 0x0
#define PMC_CTRL_INTR_LOW (1 << 17)
-static struct regulator_consumer_supply ricoh583_dc1_supply_0[] = {
+static struct regulator_consumer_supply ricoh583_dc1_supply_skubit0_0[] = {
+ REGULATOR_SUPPLY("vdd_core", NULL),
+ REGULATOR_SUPPLY("en_vddio_ddr_1v2", NULL),
+};
+
+static struct regulator_consumer_supply ricoh583_dc1_supply_skubit0_1[] = {
REGULATOR_SUPPLY("en_vddio_ddr_1v2", NULL),
};
@@ -174,7 +179,7 @@ static struct regulator_consumer_supply ricoh583_ldo8_supply_0[] = {
}
TPS_PDATA_INIT(dc0, 0, 700, 1500, 0, 1, 1, 0, -1, 0, 0);
-TPS_PDATA_INIT(dc1, 0, 700, 1500, 0, 1, 1, 0, -1, 0, 0);
+TPS_PDATA_INIT(dc1, skubit0_0, 700, 1500, 0, 1, 1, 0, -1, 0, 0);
TPS_PDATA_INIT(dc2, 0, 900, 2400, 0, 1, 1, 0, -1, 0, 0);
TPS_PDATA_INIT(dc3, 0, 900, 2400, 0, 1, 1, 0, -1, 0, 0);
@@ -199,7 +204,7 @@ TPS_PDATA_INIT(ldo8, 0, 900, 3400, ricoh583_rails(DC2), 1, 0, 0, -1, 0,
#define TPS6591X_DEV_COMMON_E118X \
TPS_REG(DC0, dc0, 0), \
- TPS_REG(DC1, dc1, 0), \
+ TPS_REG(DC1, dc1, skubit0_0), \
TPS_REG(DC2, dc2, 0), \
TPS_REG(DC3, dc3, 0), \
TPS_REG(LDO0, ldo8, 0), \
@@ -284,6 +289,16 @@ int __init cardhu_pm299_regulator_init(void)
return -ENODEV;
}
+ /* If TPS6236x DCDC is there then consumer for dc1 should
+ * not have vdd_core */
+ if ((board_info.sku & SKU_DCDC_TPS62361_SUPPORT) ||
+ (pmu_board_info.sku & SKU_DCDC_TPS62361_SUPPORT)) {
+ pdata_dc1_skubit0_0.regulator.consumer_supplies =
+ ricoh583_dc1_supply_skubit0_1;
+ pdata_dc1_skubit0_0.regulator.num_consumer_supplies =
+ ARRAY_SIZE(ricoh583_dc1_supply_skubit0_1);
+ }
+
ricoh_platform.num_subdevs = ARRAY_SIZE(tps_devs_e118x_dcdc);
ricoh_platform.subdevs = tps_devs_e118x_dcdc;
@@ -381,12 +396,6 @@ static struct regulator_consumer_supply gpio_switch_en_vdd_bl_supply[] = {
};
static int gpio_switch_en_vdd_bl_voltages[] = { 5000};
-/* EN_VDD_BL2 (E1291-A03) from AP PEX_L0_PRSNT_N DD.00 */
-static struct regulator_consumer_supply gpio_switch_en_vdd_bl2_supply[] = {
- REGULATOR_SUPPLY("vdd_backlight2", NULL),
-};
-static int gpio_switch_en_vdd_bl2_voltages[] = { 5000};
-
/* EN_3V3_MODEM from AP GPIO VI_VSYNCH D06*/
static struct regulator_consumer_supply gpio_switch_en_3v3_modem_supply[] = {
REGULATOR_SUPPLY("vdd_3v3_mini_card", NULL),
@@ -603,6 +612,8 @@ GREG_INIT(22, en_vbrtr, en_vbrtr, "vdd_3v3_devices", 0, 0, PMU_TCA641
ADD_GPIO_REG(en_3v3_sys), \
ADD_GPIO_REG(en_3v3_modem), \
ADD_GPIO_REG(en_vdd_pnl1), \
+ ADD_GPIO_REG(cam1_ldo_en), \
+ ADD_GPIO_REG(cam2_ldo_en), \
ADD_GPIO_REG(cam3_ldo_en), \
ADD_GPIO_REG(en_vdd_com), \
ADD_GPIO_REG(en_3v3_fuse), \
@@ -618,7 +629,9 @@ GREG_INIT(22, en_vbrtr, en_vbrtr, "vdd_3v3_devices", 0, 0, PMU_TCA641
ADD_GPIO_REG(en_vdd_bl_pm269), \
ADD_GPIO_REG(en_3v3_sys), \
ADD_GPIO_REG(en_3v3_modem), \
- ADD_GPIO_REG(en_vdd_pnl1_pm269), \
+ ADD_GPIO_REG(en_vdd_pnl1_pm269), \
+ ADD_GPIO_REG(cam1_ldo_en), \
+ ADD_GPIO_REG(cam2_ldo_en), \
ADD_GPIO_REG(cam3_ldo_en), \
ADD_GPIO_REG(en_vdd_com), \
ADD_GPIO_REG(en_3v3_fuse_pm269), \
@@ -636,7 +649,7 @@ GREG_INIT(22, en_vbrtr, en_vbrtr, "vdd_3v3_devices", 0, 0, PMU_TCA641
ADD_GPIO_REG(dis_5v_switch_e118x), \
ADD_GPIO_REG(en_usb1_vbus_oc_e118x), \
ADD_GPIO_REG(en_usb3_vbus_oc_e118x), \
- ADD_GPIO_REG(en_vddio_vid_oc_e118x), \
+ ADD_GPIO_REG(en_vddio_vid_oc_e118x), \
ADD_GPIO_REG(en_vbrtr),
/* Gpio switch regulator platform data for E1186/E1187/E1256*/