Proposed fix for the suspend/resume pop

Mitch Bradley wmb at firmworks.com
Fri Mar 16 16:37:00 EDT 2007


Here is the train of thought that led me to the inverted EAPD conclusion:

(Assume for the sake of discussion that we want to use EAPD, not an 
external GPIO)

a) There is a period of time after power up when EAPD is going to be at 
the logic low level, because that is the hardware default value, and it 
takes absolute minimum 8 mS (longer than the pop time) for me to get the 
CPU into a state where it could even think about talking to the CODEC.

b) To eliminate the pop, the amplifier shutdown pin must be in the 
shutdown state while power is stabilizing.  That is the opposite state 
from the EAPD default.

c) Therefore, in order to eliminate the pop yet preserve the normal 
sense of EAPD, it would be necessary to have an additional control to 
force the amp shutdown state despite the fact that EAPD is telling the 
amp to be on.  And that control would then have to be turned off after 
the software is certain that the EAPD pin has been driven to the 
power-down state.  Which might require more driver complexity than 
inverting.


Jim Gettys wrote:
> Let's see if Jaya Kumar has a heart attack ;-).
>
> He can tell us if we're on thin ice, or whether there is infrastructure
> in the audio subsystem that will avoid any heartburn.
>
> Jaya?  This is best from a hardware standpoint.
>
>                                      - Jim
>
>
> On Fri, 2007-03-16 at 09:46 -1000, Mitch Bradley wrote:
>   
>> I have a simple hardware fix for the popping sound that happens on power 
>> up, suspend, and resume.  The net component impact is the removal of one 
>> transistor.  I have tested this fix and it works.
>>
>> Details are in  http://dev.laptop.org/ticket/977#comment:5
>>
>> There is a software impact.  With this change, in order to get sound 
>> out, it is necessary to assert the EAPD pin on the CODEC.  That pin, 
>> deasserted by default, is nominally used to turn off the amp when 
>> asserted.  With the change, asserting that pin turns the amp on, not 
>> off.  Hardware engineers from Quanta and Analog Devices considered, 
>> without success, several other hardware changes to eliminate that pop.  
>> It boils down to the fact that we have either invert the sense of that 
>> pin, or switch the amp control to an entirely separate GPIO pin on 
>> another device (which are in short supply).
>>
>> To assert that pin, write 0x8000 to codec register 0x26.
>> _______________________________________________
>> Devel mailing list
>> Devel at laptop.org
>> http://mailman.laptop.org/mailman/listinfo/devel
>>     



More information about the Devel mailing list