• Status Closed
  • Percent Complete
  • Task Type Bugs
  • Category Drivers
  • Assigned To No-one
  • 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 - 2009-04-01
Last edited by Buschel - 2011-06-20

FS#10084 - Pop noise via headphones when starting up

When starting up the iPod 5G you will hear a loud pop/click noise via the headphones. The loud click comes when calling “audiohw_preinit()”. The exact line which causes the clicking is enabling the headphone outputs via “wmcodec_write(PWRMGMT2, PWRMGMT2_ROUT1EN | PWRMGMT2_LOUT1EN)”. I played around a lot with the initialization sequence and also took into account the application notes from the datasheet (e.g. muting all output before enabling BIAS, sleeping after enabling BIAS, …). I could not even reduce the clicking.

Is there maybe an extra GPIO which already has the headphones enabled?

This was tested with r20578 (but it is in svn since ages).

Closed by  Buschel
2011-06-20 18:19
Reason for closing:  Duplicate
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

 FS#12154  provides a patch to fix this. I close this report as duplicate.

MikeS commented on 2009-04-02 00:37

That's why there's audiohw_postinit() to allow a delay in the background and continue main inits. Sometimes it takes a good second of delay before enabling outputs and jacks with these codecs and muting is mostly irrelevent. See wm8978.c, wm8751.c, etc.

It's possible to delay the final click, but I don't see a way to eliminate it. See "recommended l/rout1 enable sequence" and "recommended power up/down sequence" in . In particular, OUT4TOADC_DELEN, OUT4TOADC_OUT1DEL and OUT4TOADC_POBCTRL can be used to delay the click.

There are also quieter clicks when Rockbox starts running and at wmcodec_write(RESET, RESET_RESET).

I played around with the recommended sequences before writing this flyspray entry. I could not see any effect – popping is connected to the call of LOUT1EN and ROUT1EN. Also, for the 5G I can see no hp_jack_enable()-function. Is there a GPIO known which is used for enabling the headphone jack?

I hear clicks when muting and unmuting output 1 (when changing to and from the lowest volume setting). I also hear clicks when changing volume at the higher settings while nothing is playing. Muting the DAC doesn't help. Considering the internal schematic of the WM8983, this would imply that there is a DC offset at the output of the left and right mixers. This is certainly part of what's responsible for the click. I still don't know how to make the click go away. So far I've only managed to split the click into two smaller clicks. I don't know what else to try and I am giving up for now.

Right now I don't know of any headphone enable GPIO. If I find one in the future, will post about it here.

MikeS commented on 2009-04-03 05:57

You actually tried it with a HZ delay in audiohw_postinit at the right point? That doesn't really seem to be a recommended step but it never failed to mostly get rid of pops for other targets. Sometimes it's not possible to make these things perfect but only not as irritating even with sometimes better behavior than retailos (but I can't remember how my sister's 5.5G sounded re: clicks) Perhaps also try sequences from the wm8978 or wm8985 datasheets? Being sure to use the lowest VMIDSEL can help since it speeds up the settling (helped Meg-FX alot).

And if it's perfectly quiet with retailos, then yeah, I'd go hunting for some additional GPIO. :-)


Available keyboard shortcuts


Task Details

Task Editing