diff options
Diffstat (limited to 'patches/u-boot-2011.09/0006-am335x-evm-Fix-bone-pmic-shut-down-over-USB-power.patch')
-rw-r--r-- | patches/u-boot-2011.09/0006-am335x-evm-Fix-bone-pmic-shut-down-over-USB-power.patch | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/patches/u-boot-2011.09/0006-am335x-evm-Fix-bone-pmic-shut-down-over-USB-power.patch b/patches/u-boot-2011.09/0006-am335x-evm-Fix-bone-pmic-shut-down-over-USB-power.patch new file mode 100644 index 0000000..158483b --- /dev/null +++ b/patches/u-boot-2011.09/0006-am335x-evm-Fix-bone-pmic-shut-down-over-USB-power.patch @@ -0,0 +1,82 @@ +From 801316091ac7e14cc8fa9b0bd2cdce76bea06991 Mon Sep 17 00:00:00 2001 +From: Joel A Fernandes <joelagnel@ti.com> +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 <jdk@ti.com> +Signed-off-by: Joel A Fernandes <joelagnel@ti.com> +--- +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 + |