FS#12082 - Attempt to add IAP support to the nano 2g

Attached to Project: Rockbox
Opened by Bertrik Sikken (bertrik) - Tuesday, 26 April 2011, 20:30 GMT
Task Type Patches
Category Remote
Status New
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Release 3.8.1
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


Attached patch attempts to add iPod Accessory Protocol (IAP) support for the ipod nano2g.

I can't test this myself because I have neither an ipod nano 2g nor an accessory.
The patch basically just adds a serial driver and sends all data to the iap handler.
Automatic bit rate detection is not implemented.

Things that have not been figured out yet:
* is the bit rate calculation correct? currently the patch uses PCLK (48 MHz) for bit rate generation. We could also use UCLK, but I don't know how fast that runs.
* are we using the proper UART? the patch assumes UART0 is used, but we could also try UART1.
* maybe there is some other thing that's needed to actually to enable the UART connection to the dock/accessory (this is the case on older ipods). The patches assumes this is not needed.
* no idea if I got the ADC channel for the accessory power right (the code for the ipod radio remote needs this), so I made a guess.
This task depends upon

Comment by Bertrik Sikken (bertrik) - Wednesday, 27 April 2011, 06:14 GMT
Silly mistake in the setup of the UART pins through PCON0.
Comment by Deniz Zeybek (ZeyDen) - Sunday, 28 August 2011, 21:48 GMT
Hey mate.

Is it possible for you to add this patch in 3.7.1 version for Nano 2G and send it to me?

I have problems when my iPod is docked in my car. Can't use carcontrol's fast forward and skip buttons, they don't work.

Normal iPod firmware works without any problems on the same system, so it must be the IAP. Please help me!

My MSN is, would be awesome if you could add me, or send me an email.

Thanks in advance,
Comment by Bertrik Sikken (bertrik) - Friday, 30 December 2011, 00:03 GMT
Update after recent refactoring of firmware/SOURCE