Subject: Re: State of the MPC5200 PSC AC97 driver

From: Juergen Beisert <[email-masked]>
Date: Tue, 15 Apr 2008 10:03:17 +0200

On Friday 11 April 2008 09:29, Sylvain Munaut wrote:
> > Last year you have posted a MPC5200 PSC AC97 driver patch
> > "[PATCH 9/9] sound: Add support for Freescale MPC5200 AC97 interface."
> >
> > with the following comment:
> >> Not quite a clean driver, but it get things done (well, mostly).
> >> Only included to be able to test functionalityi/usage of
> >> the BestComm driver.
>
> Yes ... and it still applies.
>
> > There are various FIXMEs and commented out code here and there.
> > Could you elaborate a bit on the overall state of the driver's
> > functionality,
> > which areas need improvement and attention?
>
> It's a minimum boiler plate.
> I filled the function at the minimum to get some sound output and being
> able to hear music coming out of it :)
> I also completely skipped the 5200 (not B) support ...
>
> At first there was no DMA at all (full software copy). I added some
> simple DMA later just to prove it could work and how to use the API.
>
> I just wrote it to get some sound, prove the interface could work under
> linux and to show how to use DMA. I had hoped someone else would finish
> it ... (yeah, I know ... big mistake).
>
> > Seems that you mainly tested BestComm with this driver, what was the
> > overall
> > BestComm performance, any issues here? Did you use any specific test
> > setup involving some dedicated application, etc.?
>
> My test was listening to Gorrillaz "Feel Good inc" using mplayer ...
>
> > Did anyone else tried it and/or has a updated version or can share
> > experience?
>
> At the time several other people tried it and it worked ... unless you
> did lots of harddrive IO and then it crumbled ...

Currently it fails to play anything with an external Wolfson WM9712 connected 
to it. It seems the current AC97 reset sequence switches the WM9712 into 
testmode due to SDATA_OUT and Sync are not held low while the reset is 
active. Any idea to solve this? Switching both signals to GPIO and force them 
to low level while reset is active? How to cover PSC1 and PSC2 with different 
GPIOs for this case?

Juergen
-- 
Dipl.-Ing. Juergen Beisert | http://www.pengutronix.de
 Pengutronix - Linux Solutions for Science and Industry
    Handelsregister: Amtsgericht Hildesheim, HRA 2686
         Vertretung Sued/Muenchen, Germany
   Phone: +49-8766-939 228 |  Fax: +49-5121-206917-9