diff options
author | Brandon Low <lostlogic@rockbox.org> | 2006-03-09 19:47:12 +0000 |
---|---|---|
committer | Brandon Low <lostlogic@rockbox.org> | 2006-03-09 19:47:12 +0000 |
commit | 19f4c2a093698940482aad6df0bd8478a82f2a9d (patch) | |
tree | 66de55749bcaaf45d95b828423ffca8c715b7112 /firmware/drivers/i2c-pp5002.c | |
parent | 5ecac908a2738e7a83dc0227daef3aaf16787dbc (diff) | |
download | rockbox-19f4c2a093698940482aad6df0bd8478a82f2a9d.tar.gz rockbox-19f4c2a093698940482aad6df0bd8478a82f2a9d.zip |
Improve ipod i2c driver somewhat by at least taking advantage of the in-device addressing in the pcf50605, also switch to a 10bit resistive divider for the ipod battery reading, this is easily configurable if it needs changing, or even to become a user/runtime setting
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8980 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers/i2c-pp5002.c')
-rw-r--r-- | firmware/drivers/i2c-pp5002.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/firmware/drivers/i2c-pp5002.c b/firmware/drivers/i2c-pp5002.c index dc26d8a5d9..958ddeebe4 100644 --- a/firmware/drivers/i2c-pp5002.c +++ b/firmware/drivers/i2c-pp5002.c | |||
@@ -136,6 +136,16 @@ int ipod_i2c_send_byte(unsigned int addr, int data0) | |||
136 | return ipod_i2c_send_bytes(addr, 1, data); | 136 | return ipod_i2c_send_bytes(addr, 1, data); |
137 | } | 137 | } |
138 | 138 | ||
139 | int i2c_readbytes(unsigned int dev_addr, int addr, int len, unsigned char *data) { | ||
140 | unsigned int temp; | ||
141 | int i; | ||
142 | ipod_i2c_send_byte(dev_addr, addr); | ||
143 | for (i = 0; i < len; i++) { | ||
144 | ipod_i2c_read_byte(dev_addr, &temp); | ||
145 | data[i] = temp; | ||
146 | } | ||
147 | return i; | ||
148 | } | ||
139 | 149 | ||
140 | int i2c_readbyte(unsigned int dev_addr, int addr) | 150 | int i2c_readbyte(unsigned int dev_addr, int addr) |
141 | { | 151 | { |