* Introduce CONFIG_BATTERY_MEASURE define, to allow targets (application)
to break powermgmt.c's assumption about the ability to read battery voltage.
There's now additionally percentage (android) and remaining time measure
(maemo). No measure at all also works (sdl app). If voltage can't be measured,
then battery_level() is king and it'll be used for power_history and runtime
estimation.
* Implement target's API in the simulator, i.e. _battery_voltage(), so it
doesn't need to implement it's own powermgmt.c and other stubs. Now
the sim behaves much more like a native target, although it still
changes the simulated battery voltage quickly,
* Other changes include include renaming battery_adc_voltage() to
_battery_voltage(), for consistency with the new target functions and
making some of the apps code aware that voltage and runtime estimation
is not always available.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31548 a1c6a512-1295-4272-9138-f99709370657
Enabled a PMIC event where it should be disabled. Used constant from wrong enum
to get sense bits (??) which messed up main charger detection.
Also remove an obsolete struct declaration.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31536 a1c6a512-1295-4272-9138-f99709370657
Dispense with "pmic" thread and process PMIC events directly within ISR. Add
sense bit reading as part of the handling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31528 a1c6a512-1295-4272-9138-f99709370657
In lcd_power_on(), R_DRV_OUTPUT_CONTROL and R_GATE_SCAN_START_POS are now
initialized like in lcd_set_flip(), so the display wakes up properly when it
is supposed to be upside down.
Thanks to Neil Sharrow for reporting the problem and testing the patch.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31514 a1c6a512-1295-4272-9138-f99709370657
Synchronous cable read is still required because the timing of the receipt of
the cable event cannot be known for sure-- basically it introduced a thread
race between main and pmic. If a keypress is desired instead to enter BL USB
mode a la AS3525, then it's possible to remove that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31510 a1c6a512-1295-4272-9138-f99709370657
as3525v2 specific part is 400 LoC, ipod specific less than 300
(comments and whitespace included)
TODO: merge properly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31509 a1c6a512-1295-4272-9138-f99709370657
Scheme is more flexible and should help to enable threadless RDS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31461 a1c6a512-1295-4272-9138-f99709370657
This commit changes the default HDD endianness to the correct one,
but stays compatible with the old endianness.
If an MBR with the wrong endianness is detected, it will
automatically enable word swapping and issue a warning splash.
To permanently fix this you'll need to upgrade emCORE to at least r836.
This will wipe all data! A post-r836 build of emCORE will be
officially released during the next couple of days.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31455 a1c6a512-1295-4272-9138-f99709370657