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.