Configurating sound card for I2S on custom board

Hi,

I’m back with another question about setupping my i2s lanes on my custom CVB. I have 4 i2s port connected to i2s1, i2s2, i2s3 and i2s6 (gpio pins) on module. I need to be alble to configure correctly those with different parameter like the offset of tdm interface.

However, right now when listing all alsa devices for recording (arecord -l) I get none. I did not modify dtb for now because I want to understand how to do it properly. I read the entries inside the developpement guide but it is not clear what to change inside the dtb (Audio Setup and Development — Jetson Linux Developer Guide documentation). Could you guide through configuring the i2s ports please?

From kernel sources dtb i have this :
tegra234-p3737-audio.dtsi (8.3 KB)

Thanks

There is another similar topic posted from you, is this still an issue to support or we only need to have suggestions at the new one?

Thanks

It’s about the same goal (making my i2s ports function properly) but the other topic seems to be more precise. I feel the other question should be answered first but it’s more about what you feel is easier to accomplish first.

Thanks for your reply!

Loic

Hi, I’m reopening this topic since I was able to get the error specified inside the online guide about source/sink widgets not being found (Audio Setup and Development — Jetson Linux Developer Guide documentation).
[For reference here is the sudo dmesg | grep asoc command output]

[ 15.936754] tegra-asoc: sound: Adding to iommu group 56
[ 16.323817] tegra-asoc: sound: ASoC: no source widget found for CVB-RT HPOL
[ 16.331703] tegra-asoc: sound: ASoC: Failed to add route CVB-RT HPOL → direct → CVB-RT Headphone Jack
[ 16.331733] tegra-asoc: sound: ASoC: no source widget found for CVB-RT HPOR
[ 16.350012] tegra-asoc: sound: ASoC: Failed to add route CVB-RT HPOR → direct → CVB-RT Headphone Jack
[ 16.350037] tegra-asoc: sound: ASoC: no sink widget found for CVB-RT IN1P
[ 16.368159] tegra-asoc: sound: ASoC: Failed to add route CVB-RT Mic Jack → direct → CVB-RT IN1P
[ 16.368183] tegra-asoc: sound: ASoC: no sink widget found for CVB-RT IN2P
[ 16.385823] tegra-asoc: sound: ASoC: Failed to add route CVB-RT Mic Jack → direct → CVB-RT IN2P
[ 16.385850] tegra-asoc: sound: ASoC: no source widget found for CVB-RT SPOLP
[ 16.403767] tegra-asoc: sound: ASoC: Failed to add route CVB-RT SPOLP → direct → CVB-RT Int Spk
[ 16.403793] tegra-asoc: sound: ASoC: no source widget found for CVB-RT SPORP
[ 16.421592] tegra-asoc: sound: ASoC: Failed to add route CVB-RT SPORP → direct → CVB-RT Int Spk
[ 16.421626] tegra-asoc: sound: ASoC: no sink widget found for CVB-RT DMIC1
[ 16.421627] tegra-asoc: sound: ASoC: Failed to add route CVB-RT Int Mic → direct → CVB-RT DMIC1
[ 16.421651] tegra-asoc: sound: ASoC: no sink widget found for CVB-RT DMIC2
[ 16.421653] tegra-asoc: sound: ASoC: Failed to add route CVB-RT Int Mic → direct → CVB-RT DMIC2
[ 16.428501] tegra-asoc: sound: snd_soc_register_card failed (-19)

So now, I think I need to configure properly the device tree by adding the i2s DAIs to it. Is there a device tree from one of your other jetson models that would be similar to my setup (custom board for devkit orin agx module with 4 i2s ports directly connected to the SoC) ?

Thank you!

Loic Boileau