[alsa-devel] ASoC audio fabric OF bindings RFC. was: Re: ASoC MPC5xxx PSC AC97 audio driver
david.jander at protonic.nl
Mon Sep 12 14:55:07 CEST 2011
On Mon, 12 Sep 2011 12:09:50 +0100
Mark Brown <broonie at opensource.wolfsonmicro.com> wrote:
> On Mon, Sep 12, 2011 at 08:31:58AM +0200, David Jander wrote:
> > Mark Brown <broonie at opensource.wolfsonmicro.com> wrote:
> > > This isn't really something that should go into device tree, ALSA is a
> > > Linux specific concept.
> > There are many Linux-specific details in Linux's implementation of Open
> > Firmware Device Trees. Right now, thanks to Linux, Open-Firmware device
> > trees
> This is generally considered a bug in the bindings, the bindings are for
> cross-platform usage and should not be specific to any OS.
Ok. I get your point.
> > introduced in arch/arm right now. On all these platforms, its sole
> > existence is purely for running Linux with minimal board support code in
> > the kernel.
> Other OSs are actively using device tree.
Interesting. I wasn't aware of "actively using". Sure, there's MacOS-X-ppc,
IBM AIX, Oracle Solaris.... and I just discovered that Free-/OpenBSD also use
> > So, why not add a few more Linux-specific bits to it, if it helps get rid
> > of the last bit of board-specific code?
> Eliminating board specific code for audio is not a realistic goal, the
> configuration of modern audio subsystems is too complex and dynamic.
Why not? How complex could it be in order to not be able to describe it in a
Device-Tree in some OS-agnostic way?
> is realistic to make machine drivers which cover broad classes of
> devices with similar hardware.
Ok. That was my original plan... it just occurred to me that describing the
audio fabric in OF-DT would be a better idea :-(
> > The platforms that will use those bindings, will never have
> > Open-Firmware bioses in the first place, and their DT sources will be part
> > of the kernel source tree anyway.
> The plan is to push the device trees out of the kernel into a separate
Good idea.... but where should such a repository be hosted?
> > > What we should really be doing here is to autodiscover by reading the ID
> > > registers in the device. That needs generic AC'97 bus work which we
> > > don't have right now.
> > Seems reasonable, but is correct autodiscovery really possible for all
> > configurations and all DAI-codec combinations?
> Yes, it's a very basic part of AC'97.
Thanks for pointing out. I suspected that already, but since everyone seems to
just go ahead and write his own piece of fabric-code, I started wondering
about the reason. I wouldn't consider a second about just blindfolded
duplicating what several others already did before me without seriously
thinking about a universal "fits almost all" solution instead. And I still
refuse to just copy-cat audio fabric code for our board!
More information about the Alsa-devel