PowerMac11,2 sound questions

Benjamin Herrenschmidt benh at kernel.crashing.org
Mon Feb 20 09:14:53 EST 2006


On Sun, 2006-02-19 at 12:45 +0100, Harald Welte wrote:
> Hi!
> 
> Since I recently got a Quad G5, and paulus/benh were too fast for me to
> hack on the fan control, I was looking for something else that is
> missing.
> 
> Apparently there is no sound support for those machines yet.  Apple
> seems to call the sound architecture of those boxes 'onyx', and a quick
> look at
> http://darwinsource.opendarwin.org/10.4.5.ppc/AppleOnboardAudio-256.2.5/AppleOnboardAudio/
> revealed that all onyx specific bits are not present in the source code
> :(
> 
> Does anyone have more information on what needs to be done / what is
> missing for getting sound support on those devices?
> 
> [yes, I'm well aware of the long-standing
> i2s/infrastructure/ubuntu-bounty/... discussion, but that's not what I'm
> asking about]

Those machines have dual codecs (Onyx + Topaz). Onyx is a PCM3052 (TI
afaik) and I have a spec. Topaz is is CS84xx (Darwin at least knows at
least 3 models, CS8406, CS8416, CS8420), spec available online.

The main issue right now is that the current driver can't really handle
properly multiple codecs and multiple i2s busses, along with all the
various bits & pieces that are already barely working and need serious
rework.

I've had plans for some time to rewrite the sound driver (at least for
newer architectures based on layoutID) but didn't have time yet to
seriously begin work on it. Among the things that need to be done is
proper usage of platform-do-* functions for things like GPIO
manipulations (Ben Collins did some work on that already), better
"objectisation" of the whole driver so we can properly instanciate sound
busses (I think up to 2 i2s busses can be used, maybe 3) and codecs,
with a generic callback system for things like clock changes etc...
(when using digital inputs, the bus clocking and other codecs must adapt
to changes ot hte digital input clock) etc...


Ben.





More information about the Linuxppc64-dev mailing list