
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(); }
/**