rockbox/firmware
Lorenzo Miori 6879dec6ec yp-r0: improve the charging code
Some people reported strange charging times and
strange battery life.
Charging by OF: 25 hours; RB: 18 hours
It has been found that there are at least two issues here:

1) the way of getting battery charging status wasn't
really accurate. This attempts to fix that issue.
This patch also simplifies some code (opening a
device is no more needed, for example).

To technically explain, battery charging implies first a constant
current mode (where the voltage increases) and then a constant
voltage mode (where, obviously, the voltage reads more or less
the same). The old way the End Of Charge was detected was based solely
on the voltage, while now it is based on chip's EOC interrupt,
which should be more accurate.

2) OF explicitly sets a constant current 350 mA, while we usually had
55 mA (by as3543 default).
This wasn't discovered before since there is a caching problem
("an accurate guess") in the Samsung power mgmt Linux module,
thus its debugging dumper wasn't really working, reporting a 55 mA current.
Strangely this option should have been set by the bootloader
but apparently it does not.

Some testing is still needed, but I confirm that with this patch
I could run a benchmark for 25 hours (vs. 18 hours), by charging
within Rockbox of course.

Change-Id: I3bd921e86b9018d1cc3c720d15cc46896e8490b3
2015-01-29 20:28:07 +01:00
..
asm Fix YUV generic C performance function on 24-bit framebuffer 2014-11-10 20:30:16 +01:00
common Limit "struct dircache_runinfo" to file scope 2015-01-01 13:51:08 +01:00
decompressor Add KEEP() around vectors in linker scripts. 2011-12-18 06:43:08 +00:00
drivers Bypass the AS3543 audio mixer at higher volumes. 2015-01-19 22:38:51 +01:00
export yp-r0: improve the charging code 2015-01-29 20:28:07 +01:00
include Improve core_alloc() / buflib_alloc() documentation 2015-01-02 18:51:15 +01:00
kernel Remove I/O priority. It is harmful when used with the new file code. 2014-08-30 14:01:21 -04:00
libc mktime(): Remove redundant assignment of 'result' 2015-01-04 17:37:35 +01:00
target yp-r0: improve the charging code 2015-01-29 20:28:07 +01:00
test Limit more variables to file scope 2015-01-11 21:40:51 +01:00
usbstack Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
arabjoin.c
arabjoin.h
ata_idle_notify.c Fix reds. 2014-03-14 23:43:45 +01:00
backlight-sw-fading.c Get rid of stupid _backlight_* function names 2015-01-12 11:09:27 +01:00
backlight.c Get rid of stupid _backlight_* function names 2015-01-12 11:09:27 +01:00
bidi.c bidi.c: Check buffer sizes. 2014-01-09 23:30:32 +01:00
buflib.c buflib: Switch from term "cookie" to "metadata" 2015-01-02 19:26:03 +01:00
COPYING
core_alloc.c Make a few local variables static 2015-01-11 18:02:43 +01:00
debug.c Redirect (L)DEBUGFs to adb logcat in DEBUG enabled builds. 2010-09-20 17:38:47 +00:00
eeprom_settings.c
enc_base.c FS#12378 : Remove various unused code, and comment out some unused code and data for reference or future use. 2011-12-14 21:45:25 +00:00
events.c Make thirty functions static to reduce binary size 2015-01-05 18:44:36 +01:00
firmware.make Prevent spurious recompiles on account of changed version. 2014-08-28 15:48:56 +02:00
font.c fonts: Fix regression(s) caused by c23ce62. 2014-01-26 14:01:48 +01:00
font_cache.c fonts: Do not unload completely on USB. 2014-01-15 23:37:39 +01:00
general.c kernel: Break out kernel primitives into separate files and move to separate dir. 2014-03-03 18:11:57 +01:00
hangul.c
ifp_usb_serial.c Make thirty functions static to reduce binary size 2015-01-05 18:44:36 +01:00
load_code.c Fix various reds. Some includes needed fixup. 2014-03-03 19:10:48 +01:00
logf.c Make a few local variables static 2015-01-11 18:02:43 +01:00
lru.c Revert r30818 2011-10-22 08:02:38 +00:00
panic.c panicf doesn't return so why not tell GCC and $AVE : 2014-08-25 13:55:16 -04:00
pcm.c Greatly reduce volume-change zipper artifacts with SW volume. 2014-03-08 08:04:41 +01:00
pcm_mixer.c Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
pcm_sampr.c
pcm_sw_volume.c Greatly reduce volume-change zipper artifacts with SW volume. 2014-03-08 08:04:41 +01:00
powermgmt.c Make a few local variables static 2015-01-11 18:02:43 +01:00
profile.c Remove last traces of sprintf.h 2010-05-07 02:13:47 +00:00
README
rolo.c Fix reds. Also apply the new scrolling to lcd charcell (this even uncovered an 2013-12-15 00:38:48 +01:00
rom.lds rombox: Do not copy .init section to ram on startup. 2014-01-20 10:42:02 +01:00
screendump.c lcd-24bit: Introduce a 24-bit mid-level LCD driver 2014-06-21 00:15:53 +02:00
scroll_engine.c scroll_engine: Fix FS#12894: Text scrolling stops working after a few seconds/minutes 2014-01-12 21:29:55 +01:00
sdmmc.c Various minor cleanups 2010-08-01 10:07:05 +00:00
sound.c Add DAC's oversampling filter roll-off selection to sound settings. 2013-05-24 11:18:16 +04:00
SOURCES HDD1630/HDD6330/SA9200: Integration of the clicker with the "Keyclick" menu. 2014-11-10 21:40:47 +01:00
storage.c Remove I/O priority. It is harmful when used with the new file code. 2014-08-30 14:01:21 -04:00
system.c Fix reds. 2011-12-24 12:21:16 +00:00
timer.c
tuner.c Add stub STFM1000 tuner driver 2012-05-19 16:10:52 +02:00
usb.c usb: finally get rid of USE_ROCKBOX_USB in Sansa bootloader, use bootloader usb 2015-01-08 22:30:22 +01:00

See docs/README