summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWayne Zou <b36644@freescale.com>2011-06-10 09:58:33 +0800
committerWayne Zou <b36644@freescale.com>2011-06-10 10:18:06 +0800
commitde7bbfa11ec3f04d53e7b620a4f5371538b17253 (patch)
treeae02c827b3f444545ae97eb22899e65f662f20eb
parent4a4da8081f15c0c100822837a1f9290384f1713e (diff)
downloadu-boot-imx-de7bbfa11ec3f04d53e7b620a4f5371538b17253.zip
u-boot-imx-de7bbfa11ec3f04d53e7b620a4f5371538b17253.tar.gz
u-boot-imx-de7bbfa11ec3f04d53e7b620a4f5371538b17253.tar.bz2
ENGR00151187 MX53 SMD: Kernal stopped Usb driver after reseting in stop mode
After reseting in stop mode, the VUSB_2V5 voltage is disable by pmic. It needs to be enable manually in u-boot. Signed-off-by: Wayne Zou <b36644@freescale.com>
-rw-r--r--board/freescale/mx53_smd/mx53_smd.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/board/freescale/mx53_smd/mx53_smd.c b/board/freescale/mx53_smd/mx53_smd.c
index 3cfa430..aff0364 100644
--- a/board/freescale/mx53_smd/mx53_smd.c
+++ b/board/freescale/mx53_smd/mx53_smd.c
@@ -399,9 +399,15 @@ static void setup_i2c(unsigned int module_base)
}
}
+/* restore VUSB 2V5 active after suspend */
+#define BUCKPERI_RESTORE_SW_STEP (0x55)
+/* restore VUSB 2V5 power supply after suspend */
+#define SUPPLY_RESTORE_VPERISW_EN (0x20)
+#define DA9052_ID1213_REG (35)
+#define DA9052_SUPPLY_REG (60)
void setup_pmic_voltages(void)
{
- int value;
+ uchar value;
i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
/* increase VDDGP as 1.25V for 1GHZ */
value = 0x5e;
@@ -409,6 +415,13 @@ void setup_pmic_voltages(void)
i2c_read(0x48, 60, 1, &value, 1);
value |= 0x1;
i2c_write(0x48, 60, 1, &value, 1);
+
+ /* restore VUSB_2V5 when reset from suspend state */
+ value = BUCKPERI_RESTORE_SW_STEP;
+ i2c_write(0x48, DA9052_ID1213_REG, 1, &value, 1);
+ i2c_read(0x48, DA9052_SUPPLY_REG, 1, &value, 1);
+ value |= SUPPLY_RESTORE_VPERISW_EN;
+ i2c_write(0x48, DA9052_SUPPLY_REG, 1, &value, 1);
}
#endif