[alsa-devel] simple-audio-card vs. platform question

Ricard Wanderlof ricard.wanderlof at axis.com
Tue Jan 27 17:31:58 CET 2015


On Tue, 27 Jan 2015, Lars-Peter Clausen wrote:

> On 01/27/2015 01:01 PM, Ricard Wanderlof wrote:
> >
> > I'm trying to set up a simple device tree framework so I can do some
> > development on an I2S driver. I'm trying to use simple-audio-card, but I
> > keep running into the problem that once soc_bind_dai_link() gets called,
> > dai_link->platform is set to NULL (because it is not initialized by
> > simple-card.c when there is a DT node), while dai_link->platform_of_node
> > has been set to dai_link->cpu_of_node in asoc_simple_card_parse_of().
> >
> [...]
> >
> > I can't figure out either how to set up a platform (=DMA) driver in this
> > environment. Perhaps the case of having a CPU DAI, DMA driver and codec
> > DAI is not supported by simple-audio-card?
> [...]
> 
> Usually in such a setup the CPU DAI driver also register the platform 
> component. Which then as the same of_node as the CPU DAI and so the matching 
> works. There are plenty of examples e.g. check the drivers using 
> devm_snd_dmaengine_pcm_register().

Thanks for the hint, that helps me back on track!

Curious though, wouldn't it be more natural to bind it all together in the 
simple-audio-card DT entry, having a "simple-audio-card,platform" 
specification? Or is the idea that normally the CPU DAI driver is fairly 
tightly coupled to the PCM driver so it makes more sense to make that 
connection in the code?

/Ricard
-- 
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30


More information about the Alsa-devel mailing list