John Watlington wrote:
You forgot to throw in the part where this signal crosses between
+3.3V logic and +5V logic, nixing a few
of the proposed designs... The biggest headache is that EAPD really
should be inverted, from a hardware
point of view, but changing a ten year old standard seems like tilting
at windmills.
I was under the impression that Arnold and I agreed the best fix was
to move the amp shutdown signal
to the EC (and eliminate pullup R335). No additional components
required, and the driver doesn't require
modification.
This is a plausible approach, for sure. The implications, just to get
it all out on the table, are:
a) While the AC97 driver doesn't need to change, we essentially need
another driver, unless we have the EC do the magic behind the scenes.
b) If the EC does the magic, it can power-off the amp at suspend/resume
boundaries; we lose the flexibility of turning the amp off when audio is
inactive. I don't know how much power that saves in practice.
c) The EC will have to time the amp power-up so it happens after the
supplies have settled.
d) According to my experiments, even when the power is stable, bringing
the amp out of shutdown results in a little pop. Not nearly as loud as
before, but still audible, and likely to be annoying if it happens
periodically as a result of micro-sleeps.
e) Plus the fact that the EC code development continues to be a sore
spot....
There are alternative solutions, but most seem to cost one EC output...
Comments ? Alternative suggestions ?
wad
On Mar 16, 2007, at 4:37 PM, Mitch Bradley wrote:
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
[email protected]
http://mailman.laptop.org/mailman/listinfo/devel
_______________________________________________
Devel mailing list
[email protected]
http://mailman.laptop.org/mailman/listinfo/devel