From ebf48500df91440773cb9684a5898d7ee61593d9 Mon Sep 17 00:00:00 2001 From: Keerthy Date: Wed, 2 May 2018 15:06:31 +0530 Subject: [PATCH] board: ti: am43: Fix DCDC3 voltage for epos-evm MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit A common voltage of 1.35V was being programmed for all am43 board versions. EPOS-EVM Needs 1.20V for LPDDR2. Fixes: fc69d472621b5 (“board: ti: AM43XX: Add ddr voltage rail configuration”) Reported-by: James Doublesin Signed-off-by: Keerthy Reviewed-by: Tom Rini --- board/ti/am43xx/board.c | 10 +++++++--- include/power/tps65218.h | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c index 0431cd4606..44f9774eb9 100644 --- a/board/ti/am43xx/board.c +++ b/board/ti/am43xx/board.c @@ -385,7 +385,7 @@ const struct dpll_params *get_dpll_per_params(void) void scale_vcores_generic(u32 m) { - int mpu_vdd; + int mpu_vdd, ddr_volt; if (i2c_probe(TPS65218_CHIP_PM)) return; @@ -424,9 +424,13 @@ void scale_vcores_generic(u32 m) return; } + if (board_is_eposevm()) + ddr_volt = TPS65218_DCDC3_VOLT_SEL_1200MV; + else + ddr_volt = TPS65218_DCDC3_VOLT_SEL_1350MV; + /* Set DCDC3 (DDR) voltage */ - if (tps65218_voltage_update(TPS65218_DCDC3, - TPS65218_DCDC3_VOLT_SEL_1350MV)) { + if (tps65218_voltage_update(TPS65218_DCDC3, ddr_volt)) { printf("%s failure\n", __func__); return; } diff --git a/include/power/tps65218.h b/include/power/tps65218.h index 43b9c9aa52..f5218f9eb2 100644 --- a/include/power/tps65218.h +++ b/include/power/tps65218.h @@ -64,6 +64,7 @@ enum { #define TPS65218_DCDC_VOLT_SEL_1260MV 0x29 #define TPS65218_DCDC_VOLT_SEL_1330MV 0x30 #define TPS65218_DCDC3_VOLT_SEL_1350MV 0x12 +#define TPS65218_DCDC3_VOLT_SEL_1200MV 0xC #define TPS65218_CC_STAT (BIT(0) | BIT(1)) #define TPS65218_STATE (BIT(2) | BIT(3)) -- 2.39.5