[alsa-devel] [PATCH v3] ASoC: imx-wm8958: add imx-wm8958 machine driver

Nicolin Chen nicoleotsuka at gmail.com
Fri Mar 4 19:39:09 CET 2016


On Fri, Mar 04, 2016 at 08:54:10AM +0000, Zidan Wang wrote:
> On Friday, March 04, 2016 3:40 PM,  Nicolin Chen wrote:
> 
> > > > cpu-dai1	: The phandle of an CPU DAI controller for AIF1
> > > > cpu-dai2	: The phandle of an CPU DAI controller for AIF2
> > > > cpu-dai3	: The phandle of an CPU DAI controller for AIF3
> > > >
> > > > > +	data->card.num_links = DAI_LINK_NUM;
> > > > > +	data->card.dai_link = data->dai_link;
> > > >
> > > > Then, rather than hard coding the total DAI link number and creating
> > > > useless dummy links, you may create the links dynamically according
> > > > to the presence of the three properties above.
> > >
> > > I don't know how to using cpu-dai1/2/3. There don't have voice and bt
> > controller on the IMX cpu, don't have such cpu nodes.
> > > Do you means our hardware connection are wrong, and we must have voice
> > and bt controller on the cpu?
> > 
> > Okay. I was trying to give you an excuse to have all three aifs included,
> > as I thought you might eventually need them to *connect* something via DT.
> > If you think you don't have any idea to pre-allocate these links, you
> > probably should ignore my suggestion here and just follow Mark's comments:
> 
>  I am just confused by our hardward connection. If dummy cpu dai is not ok, I think I should follow your suggestion.
> 
>  If we want to keep our hardware connection, which bt and voice directly connect to codec, and don't have bt and voice controller.
>  What's the best way? 

The only way to keep them while not having BT and voice controllers
is just what I suggested you to make it through DT. Devicetree is a
script to reflect your exact hardware connections. You can dis-link
them for now in the DT as they are not "connected" in your current
design and then link them whenever you get them connected -- I think
there should be connections since you are using a validation board.
You just don't have the extension board or something. So you may
try to reach your hardware team, especially designer, for detail.

The idea here is similar to the ASRC links in fsl-asoc-card driver:
users can drop ASRC by merely removing the asrc phandle in the DT,
depending on their board design or requirement.

The drawback of this way is that you need to figure out an accurate
DT binding: you might need to figure out a better name rather than
"cpu-dai" because it sounds like WM8958 may not act as a Codec at
all when it connects your BT route. That means WM8958 will become a
cpu-dai somehow? You can send a patch with a decent DT binding. I
believe Mark will give some better advice.


More information about the Alsa-devel mailing list