From 801316091ac7e14cc8fa9b0bd2cdce76bea06991 Mon Sep 17 00:00:00 2001 From: Joel A Fernandes Date: Thu, 3 Nov 2011 22:19:19 -0500 Subject: [PATCH v2] am335x-evm: Fix bone pmic shut down over USB power Cc: trini@ti.com, chase.maupin@ti.com * Set DCDC2 to 1.2v for all power sources and board revs except for A1 * Set USB current trip point to 1300mA for all boards and power sources. * Only Skip setting of MPU frequency to 720MHz for A1 and USB-powered boards. Credits to Jason for noticing this. Tested with several reboots over USB on a Rev A2/3. v2 changes: Take care of not upping DCDC2 and LDO voltages for A1. For A1- only operation done is to set the USB current limit. Signed-off-by: Jason Kridner Signed-off-by: Joel A Fernandes --- Chase has volunteered to test this out on his A1. board/ti/am335x/evm.c | 31 ++++++++++++++++--------------- 1 files changed, 16 insertions(+), 15 deletions(-) diff --git a/board/ti/am335x/evm.c b/board/ti/am335x/evm.c index e95a088..bc1119e 100644 --- a/board/ti/am335x/evm.c +++ b/board/ti/am335x/evm.c @@ -483,12 +483,20 @@ void spl_board_init(void) if (tps65217_reg_read(STATUS, &pmic_status_reg)) return; + /* Increase USB current limit to 1300mA */ + if (tps65217_reg_write(PROT_LEVEL_NONE, POWER_PATH, + USB_INPUT_CUR_LIMIT_1300MA, + USB_INPUT_CUR_LIMIT_MASK)) + printf("tps65217_reg_write failure\n"); + /* Only perform PMIC configurations if board rev > A1 */ if (!strncmp(header.version, "00A1", 4)) return; - if (!(pmic_status_reg & PWR_SRC_AC_BITMASK)) { - printf("No AC power, disabling frequency switch\n"); + /* Set DCDC2 (MPU) voltage to 1.275V */ + if (tps65217_voltage_update(DEFDCDC2, + DCDC_VOLT_SEL_1275MV)) { + printf("tps65217_voltage_update failure\n"); return; } @@ -501,20 +509,13 @@ void spl_board_init(void) LDO_VOLTAGE_OUT_3_3, LDO_MASK)) printf("tps65217_reg_write failure\n"); - /* Increase USB current limit to 1300mA */ - if (tps65217_reg_write(PROT_LEVEL_NONE, POWER_PATH, - USB_INPUT_CUR_LIMIT_1300MA, - USB_INPUT_CUR_LIMIT_MASK)) - printf("tps65217_reg_write failure\n"); - - /* Set DCDC2 (MPU) voltage to 1.275V */ - if (!tps65217_voltage_update(DEFDCDC2, - DCDC_VOLT_SEL_1275MV)) { - /* Set MPU Frequency to 720MHz */ - mpu_pll_config(MPUPLL_M_720); - } else { - printf("tps65217_voltage_update failure\n"); + if (!(pmic_status_reg & PWR_SRC_AC_BITMASK)) { + printf("No AC power, disabling frequency switch\n"); + return; } + + /* Set MPU Frequency to 720MHz */ + mpu_pll_config(MPUPLL_M_720); } else { /* * EVM PMIC code. PMIC voltage is configuring for frequency -- 1.7.4.1