Rebased ref, commits from common ancestor:
commit 4c53f3417cd7181f5b4ae2de0cd4481468d3a63d
Author: Werner Almesberger <werner at openmoko.org>
Date: Tue Jul 15 12:34:20 2008 +0100
deadbat-safe-voltage.patch
This patch finally enables the last bit of Matt's "safe battery voltage"
patch. Before the other changes in this series of patches, the
wait_for_power logic didn't really work anyway, but now we need this
protection.
I've lowered the safe voltage from 3.6V to 3.4V, since the system seems
to boot fine with 3.4V. A smaller threshold decreases the time the
system spends refusing to do anything but to charge.
Signed-off-by: Werner Almesberger <werner at openmoko.org>
commit 8fa55aac744e8d787492227fd4b21d14528f1735
Author: Werner Almesberger <werner at openmoko.org>
Date: Tue Jul 15 12:34:09 2008 +0100
deadbat-alternate.patch
When there is no battery or the battery is in its cut-off state, even the
slightest charge (once the capacitors on the battery rail are filled) will
drive the battery voltage up to VB_SYS.
The battery voltage monitor therefore only reports garbage. We work around
this problem by alternating the LED with the charger, so that the battery
only gets charged half of the time. We then measure right at the end of a
LED cycle, i.e., when the battery voltage has had time to return to the
level that really represents the battery state.
(Note: battery voltage drops quickly, so giving it one whole second to
drain is very much on the safe side.)
Signed-off-by: Werner Almesberger <werner at openmoko.org>
commit 718426fdc01e8a2e2210fc40bd21e0c7eb0d25e2
Author: Werner Almesberger <werner at openmoko.org>
Date: Tue Jul 15 12:33:57 2008 +0100
deadbat-gta02v5-noled.patch
The LEDs of GTA02v5 draw an excessive amount of current, which can sometimes
push us out of our current budget while running from 100mA. This patch turns
the blinking LED off if we're on GTA02v5.
Signed-off-by: Werner Almesberger <werner at openmoko.org>
commit cd57a43e495d125cbff0da7fce36c02a9a4588de
Author: Werner Almesberger <werner at openmoko.org>
Date: Tue Jul 15 12:33:43 2008 +0100
fix-early-upll.patch
During early initialization, the UPLL only ran at 3/4 speed.
This is swiftly corrected in board_init, but better do it right the
first time.
Signed-off-by: Werner Almesberger <werner at openmoko.org>
commit 539eeece8bb08f806a38acd0513341f944aaab5d
Author: Werner Almesberger <werner at openmoko.org>
Date: Tue Jul 15 12:33:33 2008 +0100
deadbat-cpu-200.patch
Raise the CPU clock (FCLK) from 200MHz to 400MHz only after we've established
that we have a good power source.
That way, the little bit of processing that are done in wait_for_power cause
less spikes in current consumption, which decreases the risk of running out
of power while waiting for USB signaling or similar.
We also save about 7mA of static consumption.
We need to do this awkward two-step process, once in board_init and then
again in board_late_init, since various clocks that depend on PCLK are
calculated after board_init (and start.S uses yet another set of different
settings).
Signed-off-by: Werner Almesberger <werner at openmoko.org>
commit 0f0533a0434cdb71247bb308c225d2b372331dfc
Author: Werner Almesberger <werner at openmoko.org>
Date: Tue Jul 15 12:33:24 2008 +0100
deadbat-cpu-idle.patch
This patch makes the CPU enter IDLE mode while waiting in wait_for_power.
To wake up from IDLE mode, we need an interrupt. Note that this interrupt
only needs to be signaled to the CPU, but the CPU does not have to execute
it. However, it has to clear the interrupt or, upon returning from the
interrupt handler, the system will immediately be interrupted by the same
interrupt.
We have the following sources of external events:
- battery insertion / battery voltage rises above Vth(batok)
- USB insertion (giving us 100mA)
- adapter insertion (giving us 1A)
- USB host signals availability of 500mA
- 1Hz tick
USB signaling is already handled by an interrupt handler, so we just use
what's there. USB insertion and the 1Hz tick cause PMU interrupts, so we
need to enable the interrupt path from the PMU. Adapter insertion is
handled as part of USB insertion.
We don't wake up from IDLE on battery insertion or when the battery
voltage rises above the threshold. Instead, we just poll for it on each
1Hz tick.
Signed-off-by: Werner Almesberger <werner at openmoko.org>
commit 1e126c864247702abaf78b9f7def168f5904dca5
Author: Werner Almesberger <werner at openmoko.org>
Date: Tue Jul 15 12:33:05 2008 +0100
deadbat-defer-glamo.patch
This patch defers initialization of the Glamo core, and in particular
enabling the clocks, until we're sure to have good power. This reduces
the power budget we need in early boot by about 15mA.
This patch also cleans up the remains of related code that has already
been moved to a later boot phase.
Signed-off-by: Werner Almesberger <werner at openmoko.org>
commit ce1e253ee6e75870534a9005dcfd1aad03fdbbbe
Author: Werner Almesberger <werner at openmoko.org>
Date: Tue Jul 15 12:32:57 2008 +0100
deadbat-soft-start.patch
This patch sets the maximum USB fast charge current to 100mA instead of
1A. This is an attempt to reduce the inrush current of the battery and
circuits directly attached to the battery.
Without change, the comparably large capacitors on subsystems that are
directly supplied from the battery would cause a sharp drop of VB_SYS,
which prompted the PMU to reset.
Signed-off-by: Werner Almesberger <werner at openmoko.org>
commit 77ef5a9f920092fcebfe592607b7866ac36e3c8e
Author: Werner Almesberger <werner at openmoko.org>
Date: Tue Jul 15 12:32:46 2008 +0100
deadbat-defer-ldo.patch
This patch defers the enabling of LDO regulators that are not needed during
early boot. (In fact, LDO1, LDO2, and LDO5 are not needed while in u-boot
at all.) These are:
- LDO1 (GSENSOR_3V3)
- LDO2 (CODEC_3V3)
- LDO5 (RF_3V)
- LDO6 (LCM_3V)
Enabling them after we've established that we have a good power source
reduces the USB current budget by about 40mA.
Signed-off-by: Werner Almesberger <werner at openmoko.org>
commit 3f38474f96a3d58e7b28052e643e2867ced6bd5b
Author: Werner Almesberger <werner at openmoko.org>
Date: Tue Jul 15 12:13:34 2008 +0100
deadbat-wait-silently.patch
In wait_for_power, we switch the AUX LED on and off every second. There's
no real need to noisily report this on the console.
Signed-off-by: Werner Almesberger <werner at openmoko.org>