FS#7321 - I2C driver working unreliable/not working on h1x0

Attached to Project: Rockbox
Opened by Robert Kukla (roolku) - Sunday, 17 June 2007, 23:39 GMT
Last edited by Nils Wallménius (nls) - Tuesday, 19 June 2007, 20:40 GMT
Task Type Bugs
Category Drivers
Status Closed
Assigned To No-one
Operating System Iriver H100 series
Severity Medium
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


The commit of " FS#7264  - Build with -Os switch for coldfire targets." broke the bit bang I2C driver (used for EEPROM and RTC MOD). At first guess because the delay loops get optimised away. It still works when un-boosted, but not at all when boosted.
This task depends upon

Closed by  Nils Wallménius (nls)
Tuesday, 19 June 2007, 20:40 GMT
Reason for closing:  Fixed
Additional comments about closing:  Fix comitted
Comment by Nils Wallménius (nls) - Tuesday, 19 June 2007, 15:27 GMT
As I don't have a h100 to test on I do not know if this helps but it should keep gcc from opimizing away the delay loops

Comment by Robert Kukla (roolku) - Tuesday, 19 June 2007, 17:33 GMT
This seems to do the trick - RTC is working again and eeprom contents looks sensible.
Comment by Nathan (balliewnd) - Tuesday, 19 June 2007, 20:06 GMT
I have tested this against the current svn build (rev 13673) on a real iriver h-140. After correcting for the last svn commit that broke the build (2007-06-19 09:54), this does solve the bootloader issue. Thanks nls!