From 9b44a6adb9c63388c865b9807f42c25346128306 Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Mon, 27 Jun 2016 11:02:40 +0200 Subject: apalis/colibri_t30: vdd core pmic handling Just release TPS65911 GPIO1 (EN_CORE_DVFS_N) connected to TPS62362 VSEL1 to switch VDD_CORE back to boot set 1 defaulting to 1.200V. Signed-off-by: Marcel Ziswiler Acked-by: Max Krummenacher (cherry picked from commit 622d408fea7af6d2ed778b546de346e90ea1a21f) --- arch/arm/mach-tegra/tegra30/cpu.c | 10 ++++++++++ include/configs/apalis_t30.h | 3 +++ include/configs/colibri_t30.h | 3 +++ scripts/config_whitelist.txt | 1 + 4 files changed, 17 insertions(+) diff --git a/arch/arm/mach-tegra/tegra30/cpu.c b/arch/arm/mach-tegra/tegra30/cpu.c index 66b021b824..e0c99842a0 100644 --- a/arch/arm/mach-tegra/tegra30/cpu.c +++ b/arch/arm/mach-tegra/tegra30/cpu.c @@ -40,6 +40,8 @@ void tegra_i2c_ll_write_data(uint data, uint config) #define TPS62361B_SET3_DATA (0x4600 | TPS62361B_SET3_REG) #define TPS65911_I2C_ADDR 0x5A +#define TPS65911_GPIO1_REG 0x61 +#define TPS65911_GPIO1_DATA (0x0000 | TPS65911_GPIO1_REG) #define TPS65911_VDDCTRL_OP_REG 0x28 #define TPS65911_VDDCTRL_SR_REG 0x27 #define TPS65911_VDDCTRL_OP_DATA (0x2400 | TPS65911_VDDCTRL_OP_REG) @@ -64,6 +66,14 @@ static void enable_cpu_power_rail(void) #ifdef CONFIG_TEGRA_VDD_CORE_TPS62361B_SET3 tegra_i2c_ll_write_addr(TPS62361B_I2C_ADDR, 2); tegra_i2c_ll_write_data(TPS62361B_SET3_DATA, I2C_SEND_2_BYTES); +#endif +#ifdef CONFIG_TEGRA_VDD_CORE_TPS62362_SET_TPS65911_GPIO1 + /* + * Just release TPS65911 GPIO1 (EN_CORE_DVFS_N) connected to TPS62362 + * VSEL1 to switch VDD_CORE back to boot set 1 defaulting to 1.200V + */ + tegra_i2c_ll_write_addr(TPS65911_I2C_ADDR, 2); + tegra_i2c_ll_write_data(TPS65911_GPIO1_DATA, I2C_SEND_2_BYTES); #endif udelay(1000); diff --git a/include/configs/apalis_t30.h b/include/configs/apalis_t30.h index fcd230ed75..cf9e40bfb2 100644 --- a/include/configs/apalis_t30.h +++ b/include/configs/apalis_t30.h @@ -15,6 +15,9 @@ #define CONFIG_ARCH_MISC_INIT +/* VDD core PMIC */ +#define CONFIG_TEGRA_VDD_CORE_TPS62362_SET_TPS65911_GPIO1 + /* High-level configuration options */ #define CONFIG_DISPLAY_BOARDINFO_LATE /* Calls show_board_info() */ diff --git a/include/configs/colibri_t30.h b/include/configs/colibri_t30.h index d93a874c3e..8a7ea2c8df 100644 --- a/include/configs/colibri_t30.h +++ b/include/configs/colibri_t30.h @@ -15,6 +15,9 @@ #define CONFIG_ARCH_MISC_INIT +/* VDD core PMIC */ +#define CONFIG_TEGRA_VDD_CORE_TPS62362_SET_TPS65911_GPIO1 + /* High-level configuration options */ #define CONFIG_DISPLAY_BOARDINFO_LATE /* Calls show_board_info() */ diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index 5d5ecdc845..482b075ef3 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -7928,6 +7928,7 @@ CONFIG_TEGRA_UARTA_GPU CONFIG_TEGRA_UARTA_SDIO1 CONFIG_TEGRA_UARTA_UAA_UAB CONFIG_TEGRA_VDD_CORE_TPS62361B_SET3 +CONFIG_TEGRA_VDD_CORE_TPS62362_SET_TPS65911_GPIO1 CONFIG_TEGRA_VDD_CORE_TPS62366A_SET1 CONFIG_TESTPIN_MASK CONFIG_TESTPIN_REG -- cgit v1.2.3