From 888b4f435f74ae8ba7a5df552b119ba25c7438dc Mon Sep 17 00:00:00 2001 From: Shawn Guo Date: Wed, 27 Oct 2010 23:36:04 +0800 Subject: mx51evk: Fix 2 hours reset issue The mx51evk u-boot has an issue that system will get reset every 2 hours. MC13892 has an inside charge timer which expires in 120 minutes. If ICHRG and CHGAUTOB are not set properly, this timer expiration will get system power recycled. Since mx51evk has no Li-Ion battery on board, the patch sets ICHRG in externally powered mode and sets CHGAUTOB bit to avoid automatic charging, so that system will not get reset by this timer expiration. The patch also corrects the bit field definition of register 48 (Charger 0) per latest MC13892 Reference Manual. Signed-off-by: Shawn Guo --- board/freescale/mx51evk/mx51evk.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'board/freescale') diff --git a/board/freescale/mx51evk/mx51evk.c b/board/freescale/mx51evk/mx51evk.c index c8d7d39..0b58b1b 100644 --- a/board/freescale/mx51evk/mx51evk.c +++ b/board/freescale/mx51evk/mx51evk.c @@ -188,10 +188,10 @@ static void power_init(void) val &= ~PWGT2SPIEN; pmic_reg_write(REG_POWER_MISC, val); - /* Write needed to update Charger 0 */ - pmic_reg_write(REG_CHARGE, VCHRG0 | VCHRG1 | VCHRG2 | - ICHRG0 | ICHRG1 | ICHRG2 | ICHRG3 | ICHRGTR0 | - OVCTRL1 | UCHEN | CHRGLEDEN | CYCLB); + /* Externally powered */ + val = pmic_reg_read(REG_CHARGE); + val |= ICHRG0 | ICHRG1 | ICHRG2 | ICHRG3 | CHGAUTOB; + pmic_reg_write(REG_CHARGE, val); /* power up the system first */ pmic_reg_write(REG_POWER_MISC, PWUP); -- cgit v1.1