FS#6891 - iPod Nano Charger Support

Attached to Project: Rockbox
Opened by Russell Harmon (eatnumber1) - Friday, 23 March 2007, 11:30 GMT
Last edited by Torne Wuff (torne) - Wednesday, 10 February 2010, 13:41 GMT
Task Type Patches
Category Battery/Charging
Status Closed
Assigned To No-one
Operating System iPod Nano
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No


I implemented the code so that the ipod nano can support usb chargers... Patch attached
This task depends upon

Closed by  Torne Wuff (torne)
Wednesday, 10 February 2010, 13:41 GMT
Reason for closing:  Fixed
Additional comments about closing:  This has been fixed in r24581 - the correct GPIOs were already checked but CONFIG_CHARGING had not been enabled.
Comment by oblib (oblib__) - Friday, 30 March 2007, 04:58 GMT
Um, looks like you got the wrong GPIO bit (I tried that one first too). See 6940.
Comment by Russell Harmon (eatnumber1) - Friday, 30 March 2007, 11:47 GMT
The gpio bit that person used was GPIOL 10. That bit does not change when you plug in the usb wall charger on my ipod. 8 is definatley the one that changes
Comment by oblib (oblib__) - Friday, 30 March 2007, 14:11 GMT
That's weird. When I go to the debug ports screen, the only activity I see is on GPIO L, and it goes from 0xE8 to 0xF8 when I plug in the wall USB charger when the backlight is on, and from 0x68 to 0x78 when the backlight is off. That means the mask for that bit is 0x10, with 1 being plugged in and 0 is not plugged in. What does your ipod do?

With your patch, does a little plug logo show up in the upper-left corner of rockbox-default when you plug it in? Can you make the backlight turn on and stay on by setting Power(while charging) to on and plugging in the ipod?
Comment by oblib (oblib__) - Friday, 30 March 2007, 14:13 GMT
Sorry, that should be "Backlight (while plugged in)" not Power(while charging)
Comment by Russell Harmon (eatnumber1) - Saturday, 31 March 2007, 02:05 GMT
I'm not sure how to set the power while charging setting, but I cannot charge the ipod if it is off. Also, the plug does show up. Lastly, the reason for the difference in gpio bits is I use a legacy firewire charger to charge my nano. You probably use the usb. If so, I will make a patch with both.
Comment by oblib (oblib__) - Saturday, 31 March 2007, 13:19 GMT
That makes more sense then. I thought by "usb chargers" you meant the +5V that comes from a USB port, which is what my patch addresses. It makes sense that there would be a different status bit for the +12V firewire charge. If I add it to my patch (FS6940), will you test it for me?
Comment by Russell Harmon (eatnumber1) - Saturday, 31 March 2007, 15:33 GMT
Comment by Katharine (d14u2x3) - Monday, 23 April 2007, 08:27 GMT
when i press that link for the patch, i saw some kind of code. i know you implemented the code, but how to i transfer this to my ipod nano to receive the charger support?
Comment by oblib (oblib__) - Monday, 23 April 2007, 23:54 GMT
You have to set up a build environment that will let you compile Rockbox, which is a fairly complicated procedure. See for details. If you haven't compiled a program in Linux before, you might have a tough time figuring out how to do it.
Comment by Nick Waterton (Nick_W) - Monday, 03 September 2007, 17:33 GMT
Hi I found that your logic didn't work with my Nano (build r14596)

This logic does work for both 12V and 5V charging though.

return ((GPIOL_INPUT_VAL & 0x10) | (GPIOL_INPUT_VAL &0x08))?false:true; /*5v and 12V pins */

You may want to update your patch.
Comment by Russell Harmon (eatnumber1) - Monday, 03 September 2007, 20:39 GMT
Here is a completely untested patch implementing your changes.
Comment by Russell Harmon (eatnumber1) - Sunday, 09 September 2007, 20:41 GMT
That patch was backwards... nevertheless, the code changes there work for me.

Here's a correct one.