• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Drivers
  • Assigned To
  • Operating System iPod 5G
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by Buschel - 2008-02-12
Last edited by Buschel - 2009-09-27

FS#8603 - iPod power management: voltage supply of dock connector pin17 (accessories)

Before the submission of the power management changes for PP-processors I was asked to not change the voltage supply of the PCF register D2REG for all targets (former svn did set it 3.3V).
After some runtime tests on a 5.5G 30GB it shows that this voltage supply results in ~1.5mA current consumption and is therefor of interest for further investigation.

v01-patch does simply switch leave the register unchanged. On a 5.5G 30GB (and a 4G Color/Photo) this is OFF, on other it is unknown yet.

v02-patch does switch it OFF, no matter what the PCF’s default is.

I need some test support as I neither have any other iPods than my good old 5.5G 30GB, nor do I have any docking station or accessories. What is needed to be tested:

- What is the default value of D2REGC1 (”View PCF register” in the debug menu) for your player using v01-patch?
- Is there any influence on the “normal” rockbox behaviour (e.g. playing music/video, USB connect, USB charging, …) using v01 or v02?
- Can anyone who owns or has access to any accessories or docking station check whether there is some change in behaviour with v01 or v02?

For iPod nano / Video it might be possible to enable / disable the voltage supply upon “dock detect” (GPIOA_INPUT_VAL & 0×10). But before doing so, I would really like to know whether this voltage supply is needed at all.

Closed by  Buschel
2009-09-27 19:17
Reason for closing:  Accepted
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Already submitted with r17193 and r17196.
This was kept open to collect changes for automatic detection. Will be reopened in this case.

cpu98 commented on 2008-02-13 15:57

Nano with v01 , D2REGC1 value is 18 and plays music well, recharging or being recognized normally and I haven’t seen any strange behavior.
with v2, D2REGC1 value is 18 again and same as above. So pin 17 is disabled by default on nano?

Yes, your results show that it is disabled by default. Can you test with any accessories?

For all testers: If you use v01-patch and D2REGC1 value is 18, there is no need to further test v02 – the results will be the same.

cpu98 commented on 2008-02-15 07:38

Unfortunately, I have no accessories.
But this patch also makes runtime longer. godspeed

A rather unnecessary post on my part, but I just wanted to say I also have no accessories (nor have I actually tried to work with patches yet, instead of just test builds), else I would help you test this, Buschel. I’ve really appreciated the work you’ve been doing in improving battery life.

Also, one more thing… my friend back home has a dock that works with Rockbox, so in a few weeks I may be able to test this patch out (hopefully by then I’ll have figured out patches). Hopefully others will have stepped up to test by then, but if not, I’m game…

Tested this on my 5G 30gb iPod. D2REGC1 shows 18 after applying v1. Function is unchanged, except for a few extra hours of battery life.

Unfortunately, I don’t have any accessories to test.

Synced against r17083.

- Leaves all non 5G-iPod untouched
- Does not enable PCF5060X_D2REGC1 for 5G iPods.

Reopened due to bug report in

Results on 5.5G 80GB with radio remote:

without remote:

with remote (after transition):
GPIOA_INPUT_VAL: 0×78 → 0×10 GPIOA_INPUT_VAL: 0×46 → 0×40

What do these results represent (why two readings for GPIOA_INPUT_VAL?)
Like the idea of enabling the voltage when a dock or accessory is detected. Thinking that the ‘dock detect’ logic is really an ADC connected to pin 21 . There must be a way to read that level so probably a range of values rather than a single dock detect flag?

I am quite puzzled by the results in There were also tests done with r17110 (which has the power supply disabled) – in this test the GPIO didn’t change at all. Maybe the GPIO needs the supply for detection? If so, I need to find another way… As far as I understood the _detailed_ accessory detection is done via resistors, this must be done via ADC in some way. So, another option would be to check the ADC channels. Nevertheless I am not sure whether such ADC-detection also needs the voltage supply on pin17…

I guess as a first step it would be fine to create a setting (”Accessory support: yes/no”) to have the possibility to choose between battery runtime and functionality) until there is an automatic detection.

With r17193 and r17196 a new setting was added to the system settings → “Accessory Power Supply”. It is disabled by default to save power and gain battery runtime. If you are using any iPod accessory which does not work, please first enable this setting.


Available keyboard shortcuts


Task Details

Task Editing