[alsa-devel] ASoC MPC5xxx PSC AC97 audio driver

torbenh torbenh at gmx.de
Thu Sep 8 20:44:41 CEST 2011


On Thu, Sep 08, 2011 at 04:32:31PM +0200, David Jander wrote:
> 
> Dear Jon,
> 
> On Thu, 8 Sep 2011 06:55:56 -0400
> "jonsmirl at gmail.com" <jonsmirl at gmail.com> wrote:
> 
> > On Thu, Sep 8, 2011 at 6:45 AM, David Jander <david.jander at protonic.nl>
> > wrote:
> > >
> > > Dear Jon,
> > >
> > > Thanks for replying so quickly.
> > >
> > > On Thu, 8 Sep 2011 06:28:02 -0400
> > > "jonsmirl at gmail.com" <jonsmirl at gmail.com> wrote:
> > >> On Thu, Sep 8, 2011 at 6:16 AM, David Jander <david.jander at protonic.nl>
> > >> wrote:
> > >> >
> > >> > Dear Jon,
> > >>
> > >> Here's the device tree...
> > >> http://git.digispeaker.com/?p=digispeaker-kernel.git;a=blob;f=arch/powerpc/boot/dts/dspeak01.dts;h=50cc247b4da0eb2bc4deb315b1b5348af87e5979;hb=9166a4a4141ab7c8d7a7b97fa5b726e11a8d0ca4
> > >
> > > Thanks... but it uses I2S, not AC97 :-(
> > > It doesn't have a "fsl,mpc5200-pcm" node either, btw.
> > > In the case of I2C, this makes some sense, since the Codec is usually
> > > connected to two different interfaces at the same time (I2S and I2C for
> > > control), so you have 2 device nodes. AC97 OTOH has just one interface. It
> > > is connected to a AC97 bus (a PSC in this case). AFAICS there are no OF
> > > bindings yet for an AC97 bus, so the actual codec doesn't figure and thus
> > > still needs this ugly fabric driver thing.
> > 
> > Try the pcm030 device tree...
> > 
> > http://git.digispeaker.com/?p=digispeaker-kernel.git;a=blob;f=arch/powerpc/boot/dts/pcm030.dts;h=30bfdc04c6dfacd88a9c6e325e873d75a633bdf5;hb=HEAD
> 
> I had also looked at that one.... still no "fsl,mpc5200-pcm" node. I would not
> expect one either, given the way the fabric driver works. But what is the
> reason for this OF compatible string then?
> 
> Most important question: Does the mpc5200_dma.c/mpc5200_psc_ac97.c combination
> in current mainline still work correctly?
> 
> I am unable (by inference) to say for sure that mpc5200_hpcd_probe() will
> always be called before psc_ac97_of_probe(). If it is not, the latter will
> OOPS.
> In fact, when I try to mimic the same on a MPC5121e, it does get called in the
> opposite order! My theory is that this order may have changed in recent
> versions of kernel/ALSA, and that since that moment this driver has been
> broken and nobody noticed yet. I need to know, because I intend to enhance
> mpc5200_psc_ac97.c, to also support MPC512x, but this is not working the way it
> is written now. If I knew for sure that mpc5200 still works this way, I would
> need to find a bug in my code. In the other case, I'd just go and fix the
> driver for MPC5200 also, but I have no hardware to try it out myself.

i am working on mpc5125 right now.
i dont have hardware with an audio codec yet, but will get that soon.
I already have extended drivers/dma/mpc512x_dma.c to support slave dma
to the sdhc. (only got it working today, so its still a bit sketchy)

i am also interested in a proper fabric example. 


> 
> Best regards,
> 
> -- 
> David Jander
> Protonic Holland.
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

-- 
torben Hohn


More information about the Alsa-devel mailing list