board: ti: am43: Fix DCDC3 voltage for epos-evm
authorKeerthy <j-keerthy@ti.com>
Wed, 2 May 2018 09:36:31 +0000 (15:06 +0530)
committerTom Rini <trini@konsulko.com>
Sun, 6 May 2018 17:35:40 +0000 (13:35 -0400)
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@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
board/ti/am43xx/board.c
include/power/tps65218.h

index 0431cd46067004738c6b0aac96473ebcc3ffb796..44f9774eb9439f76638fd5f898a340c3c7f904a9 100644 (file)
@@ -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;
        }
index 43b9c9aa52d8fc05f65b659b20d1448bd120a27d..f5218f9eb2b6cdda99721994e9f5d7b9aecc1cae 100644 (file)
@@ -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))