diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu-pm299-power-rails.c | 35 |
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*/ |