How to specify the SAI lane in a simple audio card binding?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to specify the SAI lane in a simple audio card binding?

ソリューションへジャンプ
1,609件の閲覧回数
moose
Contributor IV

Hello, I am using imx8mn SoC which includes 4 Tx lanes in one of its I2S instances (sai5). I'd like to specify one of these lanes (ex: lane 2) to be the source of my dai link in a simple audio card binding. Do I just add number 2 next to the dai_cpu node (see below)? I am asking this since the dtsi file for the imx8mn soc doesn't define  #sound-dai-cells as <1>. I could just add the definition but all examples I see online don't do that and I am a bit confused. If you can provide some guidance that would be appreciated. Please note this code isn't functional yet but it could be due to this or other issues. Thx!

/ {
model = "NXP i.MX8MNano DDR3L EVK board";

sound-tas5805 {
compatible = "simple-audio-card";
simple-audio-card,name = "tas5805m-amp";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink0_master>;
simple-audio-card,frame-master = <&dailink0_master>;

dailink0_master: simple-audio-card,cpu {
sound-dai = <&sai5 2>;
};
simple-audio-card,codec {
sound-dai = <&tas5805m>;
};
};
};

 

&sai5 {
#sound-dai-cells=<1>
};

};

&i2c3 {
tas5805m: tas5805m@2d {
#sound-dai-cells = <0>;
compatible = "ti,tas5805m";
reg = <0x2D>;
clocks = <&clk IMX8MN_CLK_SAI3_ROOT>;
clock-names = "mclk";
status = "okay";
};

};

 

ラベル(2)
タグ(1)
0 件の賞賛
1 解決策
1,547件の閲覧回数
moose
Contributor IV

Yes, I did. It turns out you do need to specify the channel in a multilane sai port. In my case I had to do this inside the codec:

dailink0_master: simple-audio-card,cpu {
      sound-dai = <&sai5 0>;
};

I didn't see any documentation about this. The binding documentation and examples I found online were all referencing one lane sai. Hope this help.

 

元の投稿で解決策を見る

0 件の賞賛
5 返答(返信)
1,549件の閲覧回数
divyeshmarne0
Contributor III

Hi Moose,

Is this issue fixed? are you able to integrate TAS with IMX8MM?

0 件の賞賛
1,548件の閲覧回数
moose
Contributor IV

Yes, I did. It turns out you do need to specify the channel in a multilane sai port. In my case I had to do this inside the codec:

dailink0_master: simple-audio-card,cpu {
      sound-dai = <&sai5 0>;
};

I didn't see any documentation about this. The binding documentation and examples I found online were all referencing one lane sai. Hope this help.

 

0 件の賞賛
1,523件の閲覧回数
divyeshmarne0
Contributor III

Hi Moose,

We are stuck in between the audio design.

Need your inputs to solve this.. We are first time integrating this type of digital IC with IMX8.

Thanks

Divyesh. 

0 件の賞賛
1,532件の閲覧回数
divyeshmarne0
Contributor III

Great moose.!!

We are using the same IC with im8mm.

Could you please share all the details if possible.

Like which alsa machine driver you have used in dts.

How did you configure DSP at initial level. Please share driver details as well.

It will be helpful for my project!

Thanks

Divyesh

0 件の賞賛
1,520件の閲覧回数
moose
Contributor IV

Hello, we used the alsa simple audio card. Here is the full devicetree node for your reference. Hope this helps.

sound-tas5805 {
compatible = "simple-audio-card";
simple-audio-card,name = "tas5805m-amp";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink0_master>;
simple-audio-card,frame-master = <&dailink0_master>;
status = "okay";

dailink0_master: simple-audio-card,cpu {
sound-dai = <&sai5 0>;
};
simple-audio-card,codec {
sound-dai = <&tas5805m>;
};
};

0 件の賞賛