FS#11423 - Use udelay in AMS driver for FM radio I2C

Attached to Project: Rockbox
Opened by Bertrik Sikken (bertrik) - Sunday, 20 June 2010, 16:03 GMT
Last edited by Bertrik Sikken (bertrik) - Monday, 21 June 2010, 21:41 GMT
Task Type Patches
Category FM Tuner
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Release 3.4
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Attached patch uses udelay to time I2C transfers for FM radio, instead of using the current crude delay.

This makes timing (mostly) processor speed independent, so less time wasted in busy-loops.
I also simplified the generic i2c driver a bit, replacing the various delay functions with a single one that takes a delay parameter.

I'd like people to test on the following targets (basically the AMS/AMSv2 targets):
* m200v4
* clipv2
* c200v2
* e200v2
* fuze v1
* fuze v2
(I already tested it myself on clip v1, clip+)
Just check if the radio is still detected and if radio tuning and reception still works.
This task depends upon

Closed by  Bertrik Sikken (bertrik)
Monday, 21 June 2010, 21:41 GMT
Reason for closing:  Accepted
Additional comments about closing:  Committed as SVN r27035, thanks for testing!
Comment by Michael Chicoine (mc2739) - Sunday, 20 June 2010, 20:51 GMT
Tested on e200v2 (r26997) with no noticeable issues,
Comment by Jack Halpin (FlynDice) - Monday, 21 June 2010, 17:19 GMT
Tested on fuzev1 r27015 no isues, seems to work fine. Checked radio, playback, just tried plugins without really testing and no problems.