diff options
| author | Jens Arnold <amiconn@rockbox.org> | 2006-04-16 23:16:32 +0000 |
|---|---|---|
| committer | Jens Arnold <amiconn@rockbox.org> | 2006-04-16 23:16:32 +0000 |
| commit | f2897e81807bf66b5a391d82bca163d59008ccb0 (patch) | |
| tree | f085f4e14e7f5a1a642dad52bfe43fc951faf672 /firmware/export | |
| parent | 295c226ed507603a485e3524723f20741b9bdd7e (diff) | |
| download | rockbox-f2897e81807bf66b5a391d82bca163d59008ccb0.zip rockbox-f2897e81807bf66b5a391d82bca163d59008ccb0.tar.gz rockbox-f2897e81807bf66b5a391d82bca163d59008ccb0.tar.bz2 rockbox-f2897e81807bf66b5a391d82bca163d59008ccb0.tar.xz | |
H300: Optimised PCF50606 driver, significantly reduces CPU power drain from the button tick (with both main & remote buttons: 50%->13% at 11MHz, 12%->6% at 45MHz): * Delay is adapted to the current CPU clock, aiming at constant 400kHz i2c clock. * Reduced number of port accesses (accessing GPIO is very slow, especially with the atomic boolean instructions) by implementing an open-collector-like behaviour. * Time-critical functions implemented in assembler.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9693 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
| -rw-r--r-- | firmware/export/pcf50606.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/firmware/export/pcf50606.h b/firmware/export/pcf50606.h index cbfaeb1..d9f44bb 100644 --- a/firmware/export/pcf50606.h +++ b/firmware/export/pcf50606.h @@ -20,6 +20,7 @@ #define PCF50606_H void pcf50606_init(void); +void pcf50606_i2c_recalc_delay(int cpu_clock); int pcf50606_write_multiple(int address, const unsigned char* buf, int count); int pcf50606_write(int address, unsigned char val); int pcf50606_read_multiple(int address, unsigned char* buf, int count); |