[U-Boot] [PATCH] board: ti: am43: Fix DCDC3 voltage for epos-evm

Keerthy j-keerthy at ti.com
Wed May 2 09:36:31 UTC 2018


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 <doublesin at ti.com>
Signed-off-by: Keerthy <j-keerthy at ti.com>
---

Tested on am43x-epos-evm
 
 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 d8a024f..7d412db 100644
--- a/board/ti/am43xx/board.c
+++ b/board/ti/am43xx/board.c
@@ -382,7 +382,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;
@@ -421,9 +421,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 43b9c9a..f5218f9 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))
-- 
1.9.1



More information about the U-Boot mailing list