[RFC][PATCH 2/2 v2] ASoC: simple-card: add Device Tree support
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Tue Jan 29 13:14:47 EST 2013
Hi Stephen
Thank you for checking path
> > +Required properties:
> > +
> > +- compatible : "simple-audio"
> > +- simple-audio,card-name : simple-audio card name
> > +
> > +- simple-audio,platform,controller : phandle for platform
>
> Rename that simple-audio,dma-controller perhaps? "platform" is a word
> specific to ASoC, and the bindings really should be generic across OSs.
>
> But I wonder why you'd even need the ASoC platform to be specified in
> DT; instead, the following seem better:
>
> a) Have the CPU DAI's driver register the platform itself. Tegra does this.
>
> b) Assume the ASoC "platform" device simply does DMA via a standard
> dmaengine driber, and instead refer to the DMA controller using DMA
> engine DT bindings.
This is the feature of this "simple-audio" driver.
"simple-audio" produces board/SoC specific relationship between codec/cpu.
For example, we are using FSI for cpu, and AK4642/WM8978/DA7210 for codec.
In our old style, we created fsi-ak4642, fsi-wm8978, fsi-da7210...
This means that new fsi-xxx driver is required whenever new boards were created.
This simple-audio was created to avoid it
> > +- simple-audio,platform,name : simple-audio platform name
>
> Can you explain why you'd need the platform name in the DT? Doesn't the
> phandle always uniquely identify it? The example doesn't use this property.
Ahh yes, this simple-audio supports both phandle and name matching for compatibility.
example showed phandle matching only.
> > +- simple-audio,cpu,controller : phandle for CPU DAI
> > +- simple-audio,cpu,dai,name : simple-audio CPU DAI name
>
> It'd be a bit more typical of device-tree to have a single property that
> defines both the controller and any properties of the controller at
> once, e.g. something like:
>
> simple-audio,cpu-interface = <&codec_phandle AK4648_I2S_ITF_A>;
>
> where we assume something like:
>
> #define AK4648_I2S_ITF_A 0 // Interface A's ID
>
> That would remove the need to put string names into the DT.
Hmm... this "name" is required on ASoC matching...
Especially, "codec dai name" is must item.
Should I modify ASoC itself ?
> > +simple-audio,xxx,dai,clock-gating
> > + "continuous"
> > + "gated"
>
> Don't you need to use the common clock bindings to define which clock to
> gate? Or, is the I2S/... node's binding supposed to provide that
> information?
I guess it is dependent on SoC/board.
No ?
Best regards
---
Kuninori Morimoto
More information about the devicetree-discuss
mailing list