summaryrefslogtreecommitdiff
path: root/firmware/drivers/i2c-pp5002.c
diff options
context:
space:
mode:
authorBrandon Low <lostlogic@rockbox.org>2006-03-09 19:47:12 +0000
committerBrandon Low <lostlogic@rockbox.org>2006-03-09 19:47:12 +0000
commit19f4c2a093698940482aad6df0bd8478a82f2a9d (patch)
tree66de55749bcaaf45d95b828423ffca8c715b7112 /firmware/drivers/i2c-pp5002.c
parent5ecac908a2738e7a83dc0227daef3aaf16787dbc (diff)
downloadrockbox-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.c10
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
139int 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
140int i2c_readbyte(unsigned int dev_addr, int addr) 150int i2c_readbyte(unsigned int dev_addr, int addr)
141{ 151{