diff options
author | Ahung Cheng <ahcheng@nvidia.com> | 2013-07-08 22:56:50 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 13:33:35 -0700 |
commit | fb19d758ed1767273b7fede3b1a0892817e3b73d (patch) | |
tree | 9d28a3d58762235625d81bd4a284450a3b95f7d6 /arch/arm/mach-tegra/board-tn8-power.c | |
parent | c0a4016f82910c446d15263dc4ddf24e86012874 (diff) |
ARM: tegra: tn8 : update power rail accordingly
- Update rails - pwrdet, hdmi, backlight and ddr.
- Add smps45 constraint for vdd_gpu.
- Disable roof_floor for smps45 since external gpio control is not ready in gpu init path.
- Correct init_mode for smps10 and ldo8
Bug 1313128
Change-Id: I7f3c8cdd3b75353e008e676ff399242e1203b4ca
Signed-off-by: Ahung Cheng <ahcheng@nvidia.com>
Reviewed-on: http://git-master/r/250549
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-tn8-power.c')
-rw-r--r-- | arch/arm/mach-tegra/board-tn8-power.c | 49 |
1 files changed, 39 insertions, 10 deletions
diff --git a/arch/arm/mach-tegra/board-tn8-power.c b/arch/arm/mach-tegra/board-tn8-power.c index eeb32d9ced88..7a5eb11ce709 100644 --- a/arch/arm/mach-tegra/board-tn8-power.c +++ b/arch/arm/mach-tegra/board-tn8-power.c @@ -56,7 +56,8 @@ static struct regulator_consumer_supply palmas_smps45_supply[] = { static struct regulator_consumer_supply palmas_smps6_supply[] = { REGULATOR_SUPPLY("vddio_ddr", NULL), REGULATOR_SUPPLY("vddio_ddr_mclk", NULL), - REGULATOR_SUPPLY("vddio_ddr_hs", NULL), + REGULATOR_SUPPLY("vddio_ddr3", NULL), + REGULATOR_SUPPLY("vcore1_ddr3", NULL), }; static struct regulator_consumer_supply palmas_smps7_supply[] = { @@ -74,8 +75,11 @@ static struct regulator_consumer_supply palmas_smps8_supply[] = { REGULATOR_SUPPLY("vddio_sys", NULL), REGULATOR_SUPPLY("vddio_sys_2", NULL), REGULATOR_SUPPLY("vddio_gmi", NULL), + REGULATOR_SUPPLY("pwrdet_nand", NULL), REGULATOR_SUPPLY("vddio_sdmmc", "sdhci-tegra.0"), + REGULATOR_SUPPLY("pwrdet_sdmmc1", NULL), REGULATOR_SUPPLY("vddio_sdmmc", "sdhci-tegra.3"), + REGULATOR_SUPPLY("pwrdet_sdmmc4", NULL), #ifdef CONFIG_ARCH_TEGRA_12x_SOC REGULATOR_SUPPLY("avdd_pll_utmip", "tegra-udc.0"), REGULATOR_SUPPLY("avdd_pll_utmip", "tegra-ehci.0"), @@ -84,13 +88,17 @@ static struct regulator_consumer_supply palmas_smps8_supply[] = { REGULATOR_SUPPLY("avdd_pll_utmip", "tegra-xhci"), #endif REGULATOR_SUPPLY("vddio_audio", NULL), + REGULATOR_SUPPLY("pwrdet_audio", NULL), REGULATOR_SUPPLY("vddio_uart", NULL), + REGULATOR_SUPPLY("pwrdet_uart", NULL), REGULATOR_SUPPLY("vddio_bb", NULL), + REGULATOR_SUPPLY("pwrdet_bb", NULL), REGULATOR_SUPPLY("vdd_1v8b", "0-0048"), REGULATOR_SUPPLY("vdd_dtv", NULL), REGULATOR_SUPPLY("vdd_1v8_eeprom", NULL), REGULATOR_SUPPLY("vddio_cam", "tegra_camera"), REGULATOR_SUPPLY("vddio_cam", "vi"), + REGULATOR_SUPPLY("pwrdet_cam", NULL), REGULATOR_SUPPLY("dvdd", "spi0.0"), REGULATOR_SUPPLY("vlogic", "0-0069"), REGULATOR_SUPPLY("vid", "0-000c"), @@ -112,7 +120,6 @@ static struct regulator_consumer_supply palmas_smps9_supply[] = { }; static struct regulator_consumer_supply palmas_smps10_supply[] = { - REGULATOR_SUPPLY("vdd_hdmi_5v0", "tegradc.1"), REGULATOR_SUPPLY("vdd_5v0_mdm", NULL), REGULATOR_SUPPLY("vdd_5v0_snsr", NULL), REGULATOR_SUPPLY("vdd_5v0_dis", NULL), @@ -121,7 +128,6 @@ static struct regulator_consumer_supply palmas_smps10_supply[] = { REGULATOR_SUPPLY("avddio_pex", "tegra-pcie"), REGULATOR_SUPPLY("dvddio_pex", "tegra-pcie"), REGULATOR_SUPPLY("avddio_usb", "tegra-xhci"), - REGULATOR_SUPPLY("avdd_hdmi_pll", "tegradc.1"), }; static struct regulator_consumer_supply palmas_ldo1_supply[] = { @@ -135,7 +141,7 @@ static struct regulator_consumer_supply palmas_ldo1_supply[] = { REGULATOR_SUPPLY("avdd_pll_x", NULL), REGULATOR_SUPPLY("avdd_pll_cg", NULL), REGULATOR_SUPPLY("avdd_pex_pll", "tegra-pcie"), - + REGULATOR_SUPPLY("avdd_hdmi_pll", "tegradc.1"), }; static struct regulator_consumer_supply palmas_ldo2_supply[] = { @@ -167,6 +173,7 @@ static struct regulator_consumer_supply palmas_ldo5_supply[] = { REGULATOR_SUPPLY("avdd_dsi_csi", "tegradc.0"), REGULATOR_SUPPLY("avdd_dsi_csi", "tegradc.1"), REGULATOR_SUPPLY("avdd_dsi_csi", "vi"), + REGULATOR_SUPPLY("pwrdet_mipi", NULL), REGULATOR_SUPPLY("avdd_hsic_com", NULL), REGULATOR_SUPPLY("avdd_hsic_mdm", NULL), REGULATOR_SUPPLY("vdd_lcd_bl", NULL), @@ -198,7 +205,7 @@ static struct regulator_consumer_supply palmas_ldo9_supply[] = { }; static struct regulator_consumer_supply palmas_ldousb_supply[] = { - REGULATOR_SUPPLY("avdd_hdmi", "tegradc.1"), + REGULATOR_SUPPLY("pwrdet_pex_ctl", NULL), REGULATOR_SUPPLY("avdd_usb", "tegra-udc.0"), REGULATOR_SUPPLY("avdd_usb", "tegra-ehci.0"), REGULATOR_SUPPLY("avdd_usb", "tegra-ehci.1"), @@ -210,6 +217,8 @@ static struct regulator_consumer_supply palmas_ldousb_supply[] = { static struct regulator_consumer_supply palmas_ldoln_supply[] = { REGULATOR_SUPPLY("vddio_hv", "tegradc.1"), + REGULATOR_SUPPLY("avdd_hdmi", "tegradc.1"), + REGULATOR_SUPPLY("pwrdet_hv", NULL), REGULATOR_SUPPLY("vddio_pex_ctl", "tegra-pcie"), }; @@ -219,7 +228,7 @@ PALMAS_PDATA_INIT(smps6, 1350, 1350, NULL, 1, 1, 1, NORMAL); PALMAS_PDATA_INIT(smps7, 900, 1400, NULL, 1, 1, 1, NORMAL); PALMAS_PDATA_INIT(smps8, 1800, 1800, NULL, 1, 1, 1, NORMAL); PALMAS_PDATA_INIT(smps9, 3300, 3300, NULL, 0, 0, 1, NORMAL); -PALMAS_PDATA_INIT(smps10, 5000, 5000, NULL, 0, 0, 1, NORMAL); +PALMAS_PDATA_INIT(smps10, 5000, 5000, NULL, 0, 0, 1, 0); PALMAS_PDATA_INIT(ldo1, 1050, 1050, palmas_rails(smps6), 1, 1, 1, 0); PALMAS_PDATA_INIT(ldo2, 1050, 1200, palmas_rails(smps6), 0, 0, 1, 0); PALMAS_PDATA_INIT(ldo3, 3300, 3300, NULL, 0, 0, 1, 0); @@ -227,9 +236,9 @@ PALMAS_PDATA_INIT(ldo4, 2700, 2700, NULL, 0, 0, 1, 0); PALMAS_PDATA_INIT(ldo5, 1200, 1200, palmas_rails(smps8), 0, 0, 1, 0); PALMAS_PDATA_INIT(ldo6, 1800, 1800, palmas_rails(smps9), 0, 0, 1, 0); PALMAS_PDATA_INIT(ldo7, 2700, 2700, palmas_rails(smps9), 0, 0, 1, 0); -PALMAS_PDATA_INIT(ldo8, 1000, 1000, NULL, 1, 1, 1, NORMAL); +PALMAS_PDATA_INIT(ldo8, 1000, 1000, NULL, 1, 1, 1, 0); PALMAS_PDATA_INIT(ldo9, 1800, 3300, palmas_rails(smps9), 0, 0, 1, 0); -PALMAS_PDATA_INIT(ldoln, 1050, 1050, palmas_rails(smps10), 0, 0, 1, 0); +PALMAS_PDATA_INIT(ldoln, 3300, 3300, palmas_rails(smps10), 1, 1, 1, 0); PALMAS_PDATA_INIT(ldousb, 3000, 3300, NULL, 1, 1, 1, 0); #define PALMAS_REG_PDATA(_sname) ®_idata_##_sname @@ -277,7 +286,7 @@ static struct regulator_init_data *tn8_reg_data[PALMAS_NUM_REGS] = { } PALMAS_REG_INIT(smps123, 0, PALMAS_EXT_CONTROL_ENABLE1, 0, 0); -PALMAS_REG_INIT(smps45, 0, PALMAS_EXT_CONTROL_ENABLE2, 0, 0); +PALMAS_REG_INIT(smps45, 0, 0, 0, 0); PALMAS_REG_INIT(smps6, 0, 0, 0, 0); PALMAS_REG_INIT(smps7, 0, PALMAS_EXT_CONTROL_NSLEEP, 0, 0); PALMAS_REG_INIT(smps8, 0, 0, 0, 0); @@ -404,6 +413,8 @@ int __init tn8_regulator_init(void) PALMAS_REGULATOR_CONFIG_TRACKING_ENABLE | PALMAS_REGULATOR_CONFIG_SUSPEND_TRACKING_DISABLE; */ + reg_idata_smps45.constraints.init_uV = 1000000; + i2c_register_board_info(4, palma_device, ARRAY_SIZE(palma_device)); return 0; @@ -484,6 +495,14 @@ static struct regulator_consumer_supply fixed_reg_en_palmas_gpio7_supply[] = { REGULATOR_SUPPLY("vpp_fuse", NULL), }; +static struct regulator_consumer_supply fixed_reg_en_lcd_bl_en_supply[] = { + REGULATOR_SUPPLY("vdd_lcd_bl_en", NULL), +}; + +static struct regulator_consumer_supply fixed_reg_en_vdd_hdmi_5v0_supply[] = { + REGULATOR_SUPPLY("vdd_hdmi_5v0", "tegradc.1"), +}; + FIXED_REG(0, battery, battery, NULL, 0, 0, -1, false, true, 0, 3300, 0); @@ -522,6 +541,14 @@ FIXED_REG(7, palmas_gpio7, palmas_gpio7, palmas_rails(smps8), 0, 0, PALMAS_TEGRA_GPIO_BASE + PALMAS_GPIO7, false, true, 0, 1800, 0); +FIXED_REG(8, lcd_bl_en, lcd_bl_en, NULL, + 0, 0, TEGRA_GPIO_PH2, + false, true, 0, 5000, 0); + +FIXED_REG(9, vdd_hdmi_5v0, vdd_hdmi_5v0, palmas_rails(smps10), + 0, 0, TEGRA_GPIO_PK6, + false, true, 0, 5000, 0); + /* * Creating fixed regulator device tables */ @@ -534,7 +561,9 @@ FIXED_REG(7, palmas_gpio7, palmas_gpio7, palmas_rails(smps8), ADD_FIXED_REG(palmas_gpio3), \ ADD_FIXED_REG(palmas_gpio4), \ ADD_FIXED_REG(palmas_gpio6), \ - ADD_FIXED_REG(palmas_gpio7), + ADD_FIXED_REG(palmas_gpio7), \ + ADD_FIXED_REG(lcd_bl_en), \ + ADD_FIXED_REG(vdd_hdmi_5v0), static struct platform_device *fixed_reg_devs_e1736[] = { |