arm: tegra: ardbeg: support E1735 pmu module
Seema Khowala [Mon, 24 Jun 2013 18:25:19 +0000 (11:25 -0700)]
Bug 1310396
Bug 1309984

Change-Id: I7e1af6da7a9521afbadeabf1b3cd66188dfdb188
Signed-off-by: Seema Khowala <seemaj@nvidia.com>
Reviewed-on: http://git-master/r/242616

arch/arm/mach-tegra/board-ardbeg-pinmux-t11x.h
arch/arm/mach-tegra/board-ardbeg-pinmux-t12x.h
arch/arm/mach-tegra/board-ardbeg-power.c
arch/arm/mach-tegra/tegra-board-id.h

index d904d3d..e8fd81e 100644 (file)
@@ -244,6 +244,7 @@ static __initdata struct tegra_pingroup_config ardbeg_pinmux_common[] = {
        GPIO_PINMUX(KB_COL0, PULL_UP, NORMAL, INPUT, DISABLE),
        GPIO_PINMUX(KB_COL1, NORMAL, NORMAL, INPUT, DISABLE),
        GPIO_PINMUX(KB_COL2, PULL_UP, NORMAL, INPUT, DISABLE),
+       GPIO_PINMUX(KB_COL3, NORMAL, NORMAL, OUTPUT, DISABLE),
        GPIO_PINMUX(KB_COL5, PULL_UP, NORMAL, INPUT, DISABLE),
        GPIO_PINMUX(KB_COL6, PULL_UP, NORMAL, INPUT, DISABLE),
        GPIO_PINMUX(KB_COL7, PULL_UP, NORMAL, INPUT, DISABLE),
@@ -276,7 +277,6 @@ static __initdata struct tegra_pingroup_config unused_pins_lowpower[] = {
        UNUSED_PINMUX(ULPI_DATA3),
        UNUSED_PINMUX(GMI_OE_N),
        UNUSED_PINMUX(GMI_RST_N),
-       UNUSED_PINMUX(KB_COL3),
        UNUSED_PINMUX(KB_ROW4),
        UNUSED_PINMUX(USB_VBUS_EN1),
 };
@@ -354,4 +354,10 @@ static struct gpio_init_pin_info init_gpio_mode_ardbeg_common[] = {
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PU6, true, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PN7, true, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PK5, false, 0),
+       /* KB_COL3 GPIO should be set to high to tristate vid for vboot
+       voltage. SW has to drive it low to change RT8812 o/p voltage
+       depending on pwm duty cyle. With default setting of kb_col3
+       boot voltage is 1.0 V
+       */
+       GPIO_INIT_PIN_MODE(TEGRA_GPIO_PQ3, false, 1),
 };
index 9737e8c..d1a7c4e 100644 (file)
@@ -351,7 +351,12 @@ static struct gpio_init_pin_info init_gpio_mode_ardbeg_common[] = {
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PR1, false, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PS3, false, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PS4, false, 0),
-       GPIO_INIT_PIN_MODE(TEGRA_GPIO_PS5, false, 0),
+       /* KB_ROW13 GPIO should be set to high to tristate vid for vboot
+       voltage. SW has to drive it low to change RT8812 o/p voltage
+       depending on pwm duty cyle. With default setting of kb_row13
+       boot voltage is 1.0 V
+       */
+       GPIO_INIT_PIN_MODE(TEGRA_GPIO_PS5, false, 1),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PS6, false, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PR2, false, 0),
        GPIO_INIT_PIN_MODE(TEGRA_GPIO_PR4, true, 0),
index 02521b5..acb85ff 100644 (file)
@@ -364,7 +364,7 @@ static struct regulator_consumer_supply palmas_ti913_regen1_supply[] = {
 PALMAS_PDATA_INIT(ti913_smps123, 900, 1400, NULL, 1, 1, 1, NORMAL);
 PALMAS_PDATA_INIT(ti913_smps45, 900, 1400, NULL, 1, 1, 1, NORMAL);
 PALMAS_PDATA_INIT(ti913_smps6, 1800, 1800, NULL, 1, 1, 1, NORMAL);
-PALMAS_PDATA_INIT(ti913_smps7, 1350, 1350, NULL, 1, 1, 1, NORMAL);
+PALMAS_PDATA_INIT(ti913_smps7, 900, 1350, NULL, 1, 1, 1, NORMAL);
 PALMAS_PDATA_INIT(ti913_smps9, 1050, 1050, NULL, 0, 0, 0, NORMAL);
 PALMAS_PDATA_INIT(ti913_ldo1, 1050, 1250, palmas_rails(ti913_smps7),
                1, 1, 1, 0);
@@ -376,12 +376,12 @@ PALMAS_PDATA_INIT(ti913_ldo4, 1200, 1200, palmas_rails(ti913_smps6),
 PALMAS_PDATA_INIT(ti913_ldo5, 2700, 2700, NULL, 0, 0, 1, 0);
 PALMAS_PDATA_INIT(ti913_ldo6, 1800, 1800, NULL, 0, 0, 1, 0);
 PALMAS_PDATA_INIT(ti913_ldo7, 2700, 2700, NULL, 0, 0, 1, 0);
-PALMAS_PDATA_INIT(ti913_ldo8, 1000, 1000, NULL, 1, 1, 1, NORMAL);
+/* TODO PALMAS_PDATA_INIT(ti913_ldo8, 1000, 1100, NULL, 1, 1, 1, NORMAL);*/
 PALMAS_PDATA_INIT(ti913_ldo9, 1800, 3300, NULL, 0, 0, 1, 0);
 PALMAS_PDATA_INIT(ti913_ldoln, 1050, 1050, palmas_rails(ti913_smps6),
                0, 0, 1, 0);
 PALMAS_PDATA_INIT(ti913_ldousb, 1800, 1800, NULL, 0, 0, 1, 0);
-PALMAS_PDATA_INIT(ti913_regen1, 3300, 3300, NULL, 1, 1, 1, 0);
+PALMAS_PDATA_INIT(ti913_regen1, 3000, 3300, NULL, 1, 1, 1, 0);
 
 #define PALMAS_REG_PDATA(_sname) &reg_idata_##_sname
 static struct regulator_init_data *ardbeg_1735_reg_data[PALMAS_NUM_REGS] = {
@@ -402,7 +402,7 @@ static struct regulator_init_data *ardbeg_1735_reg_data[PALMAS_NUM_REGS] = {
        PALMAS_REG_PDATA(ti913_ldo5),
        PALMAS_REG_PDATA(ti913_ldo6),
        PALMAS_REG_PDATA(ti913_ldo7),
-       PALMAS_REG_PDATA(ti913_ldo8),
+       NULL, /* TODO PALMAS_REG_PDATA(ti913_ldo8),*/
        PALMAS_REG_PDATA(ti913_ldo9),
        NULL,
        NULL,
@@ -430,7 +430,7 @@ PALMAS_REG_INIT(ti913_ldo4, 0, 0, 0, 0, 0);
 PALMAS_REG_INIT(ti913_ldo5, 0, 0, 0, 0, 0);
 PALMAS_REG_INIT(ti913_ldo6, 0, 0, 0, 0, 0);
 PALMAS_REG_INIT(ti913_ldo7, 0, 0, 0, 0, 0);
-PALMAS_REG_INIT(ti913_ldo8, 0, 0, 0, 0, 0);
+/* TODO PALMAS_REG_INIT(ti913_ldo8, 0, 0, 0, 0, 0);*/
 PALMAS_REG_INIT(ti913_ldo9, 0, 0, 0, 0, 0);
 PALMAS_REG_INIT(ti913_ldoln, 0, 0, 0, 0, 0);
 PALMAS_REG_INIT(ti913_ldousb, 0, 0, 0, 0, 0);
@@ -455,7 +455,7 @@ static struct palmas_reg_init *ardbeg_1735_reg_init[PALMAS_NUM_REGS] = {
        PALMAS_REG_INIT_DATA(ti913_ldo5),
        PALMAS_REG_INIT_DATA(ti913_ldo6),
        PALMAS_REG_INIT_DATA(ti913_ldo7),
-       PALMAS_REG_INIT_DATA(ti913_ldo8),
+       NULL, /*PALMAS_REG_INIT_DATA(ti913_ldo8), */
        PALMAS_REG_INIT_DATA(ti913_ldo9),
        NULL,
        NULL,
index 785e9a8..bd2fc23 100644 (file)
@@ -67,6 +67,7 @@
 #define BOARD_E1733    0x6c5
 #define BOARD_E1734    0x6c6
 #define BOARD_E1735    0x6c7
+#define BOARD_E1736    0x6c8
 
 /* Board Fab version */
 #define BOARD_FAB_A00                  0x0