FS#9865 - PortalPlayer i2c multi-byte reads

Attached to Project: Rockbox
Opened by Mark Arigo (lowlight) - Monday, 02 February 2009, 21:47 GMT
Last edited by Nils Wallménius (nls) - Saturday, 14 February 2009, 23:39 GMT
Task Type Patches
Category Drivers
Status Closed
Assigned To No-one
Operating System PortalPlayer-based
Severity Low
Priority Normal
Reported Version Version 3.1
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


The Portalplayer i2c controller can read/write up to 4 bytes of data at a time. The current svn code does multi-byte writes (sends), however, when reading, it always requests 1 byte at a time.

While working on the Philips hdd1630 radio (tea5767 connected via i2c), I found that it doesn't like this method of i2c communication. When reading from the tea5767, you need get 4 bytes at once or else, with the current code, you only get the first byte over and over again.

Since this potentially impacts all Portalplayer devices, I'll put the patch here for some testing just to be cautious. Looks like effected drivers are pcf50605 (ipods), rtc_e8564 (h10 & hdd1630), and as3514 devices (sansas). I tested it on the hdd1630 (PP5022B), sansa c200 (PP5022C), and m:robe 100 (PP5020E) with seemingly no bad results. I suspect that the PP502x players are fine, but I'm unsure about the ipods, particularly PP5002's.
This task depends upon

Closed by  Nils Wallménius (nls)
Saturday, 14 February 2009, 23:39 GMT
Reason for closing:  Accepted
Additional comments about closing:  This patch was committed as r19995
Comment by Alexander Papst (DerPapst) - Wednesday, 04 February 2009, 23:46 GMT
iPod 5.5G behaves normally. Though i've no idea what to expect if the i2c controller acts wired.
Comment by Alexander Papst (DerPapst) - Thursday, 05 February 2009, 01:51 GMT
3G iPod (PP5002) seems to work too. However the menu button doesn't work anymore, though hard reset still works. But the menu button doesn't work in the OF either so I guess that doesn't have anything to do with the i2c.
Comment by Bertrik Sikken (bertrik) - Thursday, 05 February 2009, 19:23 GMT
Sansa e200 behaves normally with this patch applied.