[U-Boot] [PATCH] mxs: fixed battery boot on imx233-olinuxino-micro

Peter Schumann peter.schumann at jeepxj.de
Wed May 21 04:01:55 CEST 2014


This patch makes it possible to boot from battery on olinuxino Boards
from Olimex.

We should not set DOUBLE_FETS in HW_POWER_MINPWR, it makes my system
reset with in seconds while running on battery power.

Also  mxs_power_enable_4p2() should not be called if running from
battery. It switches VDDD and VDDA to LinReg mode and than turns off
the VDDIO DCDC supply. At this point the system resets.
If we run on battery this is no good idea because the LinRegs are
chained behind VDDIO and battery voltage seems not enough to power
the system from LinRegs.
Also is the power system already running on DCDC after BootROM hands
over to u-boot, so no sense in switching back to LinRegs.
---
 arch/arm/cpu/arm926ejs/mxs/spl_power_init.c |    6 ------
 1 file changed, 6 deletions(-)

diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c b/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c
index d25019a..0cbb6c4 100644
--- a/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c
+++ b/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c
@@ -237,9 +237,6 @@ static void mxs_src_power_init(void)
 			POWER_LOOPCTRL_RCSCALE_THRESH |
 			POWER_LOOPCTRL_EN_RCSCALE_8X);
 
-	clrsetbits_le32(&power_regs->hw_power_minpwr,
-			POWER_MINPWR_HALFFETS, POWER_MINPWR_DOUBLE_FETS);
-
 	/* 5V to battery handoff ... FIXME */
 	setbits_le32(&power_regs->hw_power_5vctrl, POWER_5VCTRL_DCDC_XFER);
 	early_delay(30);
@@ -631,8 +628,6 @@ static void mxs_batt_boot(void)
 
 	writel(POWER_CTRL_ENIRQ_DCDC4P2_BO, &power_regs->hw_power_ctrl_clr);
 
-	clrsetbits_le32(&power_regs->hw_power_minpwr,
-			POWER_MINPWR_HALFFETS, POWER_MINPWR_DOUBLE_FETS);
 
 	mxs_power_set_linreg();
 
@@ -655,7 +650,6 @@ static void mxs_batt_boot(void)
 		POWER_5VCTRL_CHARGE_4P2_ILIMIT_MASK,
 		0x8 << POWER_5VCTRL_CHARGE_4P2_ILIMIT_OFFSET);
 
-	mxs_power_enable_4p2();
 }
 
 /**
-- 
1.7.10.4



More information about the U-Boot mailing list