aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLokesh Vutla <lokeshvutla@ti.com>2017-06-10 13:22:56 +0530
committerTom Rini <trini@konsulko.com>2017-06-12 08:38:48 -0400
commit9f7923c73cca2a2735148c16de331cbdcf77ec63 (patch)
tree6020e3ad4ebfc0a3f9a6be0258204e4c5fb46dea
parent57ba8d6ddc5cbad29316fc34aa1a764cac6e7b89 (diff)
downloadu-boot-9f7923c73cca2a2735148c16de331cbdcf77ec63.zip
u-boot-9f7923c73cca2a2735148c16de331cbdcf77ec63.tar.gz
u-boot-9f7923c73cca2a2735148c16de331cbdcf77ec63.tar.bz2
board: ti: am335x: Fix scale_vcore for beaglebones
commit 0650798824 ("board: am335x: Introduce scale_vcores") updated voltages of each board based on efuse. It updated beagle bone specific voltages under the condition board_is_bone(). But this is true only for BeagleBoneWhite. Due to which voltages are not configured for BBB, BBW as wrong device is being probed. So create a common function board_is_beaglebonex() which includes am335x based beagle family. Use this for updating voltages. Also remove extra if condition for selecting voltages which is done later using a switch case and match usb current limit as before the commit 0650798824. Fixes: 0650798824 ("board: am335x: Introduce scale_vcores") Reported-by: Emmanuel Vadot <manu@bidouilliste.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
-rw-r--r--board/ti/am335x/board.c15
-rw-r--r--board/ti/am335x/board.h5
2 files changed, 9 insertions, 11 deletions
diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c
index b5c4ed7..0a16529 100644
--- a/board/ti/am335x/board.c
+++ b/board/ti/am335x/board.c
@@ -344,14 +344,6 @@ static void scale_vcores_bone(int freq)
if (board_is_bone_lt())
freq = MPUPLL_M_1000;
- if (freq == MPUPLL_M_1000) {
- usb_cur_lim = TPS65217_USB_INPUT_CUR_LIMIT_1800MA;
- mpu_vdd = TPS65217_DCDC_VOLT_SEL_1325MV;
- } else {
- usb_cur_lim = TPS65217_USB_INPUT_CUR_LIMIT_1300MA;
- mpu_vdd = TPS65217_DCDC_VOLT_SEL_1275MV;
- }
-
switch (freq) {
case MPUPLL_M_1000:
mpu_vdd = TPS65217_DCDC_VOLT_SEL_1325MV;
@@ -359,15 +351,16 @@ static void scale_vcores_bone(int freq)
break;
case MPUPLL_M_800:
mpu_vdd = TPS65217_DCDC_VOLT_SEL_1275MV;
- usb_cur_lim = TPS65217_USB_INPUT_CUR_LIMIT_1800MA;
+ usb_cur_lim = TPS65217_USB_INPUT_CUR_LIMIT_1300MA;
break;
case MPUPLL_M_720:
mpu_vdd = TPS65217_DCDC_VOLT_SEL_1200MV;
- usb_cur_lim = TPS65217_USB_INPUT_CUR_LIMIT_1800MA;
+ usb_cur_lim = TPS65217_USB_INPUT_CUR_LIMIT_1300MA;
break;
case MPUPLL_M_600:
case MPUPLL_M_500:
case MPUPLL_M_300:
+ default:
mpu_vdd = TPS65217_DCDC_VOLT_SEL_1100MV;
usb_cur_lim = TPS65217_USB_INPUT_CUR_LIMIT_1300MA;
break;
@@ -470,7 +463,7 @@ void scale_vcores(void)
gpi2c_init();
freq = am335x_get_efuse_mpu_max_freq(cdev);
- if (board_is_bone())
+ if (board_is_beaglebonex())
scale_vcores_bone(freq);
else
scale_vcores_generic(freq);
diff --git a/board/ti/am335x/board.h b/board/ti/am335x/board.h
index 48c139a..e13fcff 100644
--- a/board/ti/am335x/board.h
+++ b/board/ti/am335x/board.h
@@ -39,6 +39,11 @@ static inline int board_is_bbg1(void)
return board_is_bone_lt() && !strncmp(board_ti_get_rev(), "BBG1", 4);
}
+static inline int board_is_beaglebonex(void)
+{
+ return board_is_bone() || board_is_bone_lt() || board_is_bbg1();
+}
+
static inline int board_is_evm_sk(void)
{
return board_ti_is("A335X_SK");