Dear atalambedu,
Sorry to reply late, I’ve tried to sort out the 1. if there is any step not clear or wrong.
Please correct/notify me.
For 1. we have validated it with b) so far, but it could be validated with a) now.
non-working i2c detect is belong a) before, but this one be fixed with jumper wired for common ground between Xavier NX and TI’s EVB.
a), the TI’s EVB has no oscillator for mclk. it will depend on the SOM’s.
b), there might be 2 phase as below.
b-1), Original version, there is a 25MHz oscillator connect to TI Chip’s mclk. This version
could work well with your command and TI’s configuration via i2c utility. But consider there will be a error about the “Failed to get mclk” and probe error for TI’s driver,
so we move to b-2) now.
b-2), we’ve cut off the 25MHz oscillator, and make a jumper wired between SOM’s aud_mclk and TI’s mclk. then adjust those file below for fixed the “Failed getting the mclk.” and “tlv320aic32x4: probe of 1-0018 failed with error -2”
Audio DTS file
tegra194-audio-p3668.dtsi
Pinmux file which generated by pinmux excel
tegra19x-mb1-pinmux-p3668-a01.cfg (25.5 KB)
pinmux.0x02431020 = 0x00000400; # aud_mclk_ps4: aud, tristate-disable, input-disable, lpdr-disable
pinmux.0x02431080 = 0x00000440; # dap5_sclk_pt5: i2s5, tristate-disable, input-enable, lpdr-disable
pinmux.0x02431078 = 0x00000400; # dap5_dout_pt6: i2s5, tristate-disable, input-disable, lpdr-disable
pinmux.0x02431070 = 0x00000450; # dap5_din_pt7: i2s5, tristate-enable, input-enable, lpdr-disable
pinmux.0x02431068 = 0x00000440; # dap5_fs_pu0: i2s5, tristate-disable, input-enable, lpdr-disable
But there will be another problem futher…
Xavier_ti_audio_20220120_1347.log (96.2 KB)
[ 9.873367] ------------[ cut here ]------------
[ 9.876535] WARNING: CPU: 0 PID: 2535 at /home/lanner/workspace/nVIDIA/Jetson_Xavier_1.5.1_7814/nx_nvidia/JetPack_4.5.1_Linux_JETSON_XAVIER_NX_DEVKIT/Linux_for_Tegra/sources/kernel/kernel-4.9/drivers/clk/clk.c:840 clk_core_disable+0x21c/0x240
[ 9.883703] ---[ end trace be65547650375f3c ]---
[ 9.887455] ------------[ cut here ]------------
[ 9.890852] WARNING: CPU: 0 PID: 2535 at /home/lanner/workspace/nVIDIA/Jetson_Xavier_1.5.1_7814/nx_nvidia/JetPack_4.5.1_Linux_JETSON_XAVIER_NX_DEVKIT/Linux_for_Tegra/sources/kernel/kernel-4.9/drivers/clk/clk.c:722 clk_core_unprepare+0x1d8/0x1f8
[ 9.898491] ---[ end trace be65547650375f3d ]---
[ 9.347130] tegra-asoc: sound: ASoC: CODEC DAI tlv320aic32x4-hifi not registered
[ 9.350676] tegra-asoc: sound: snd_soc_register_card failed (-517)
- The probe codec is solve with b-2), but there’re other problem as above description.
Yes, the i2c detect issue is seen with TI’s EVB and be solved with jumper wired.
- I will prepare the log for you for check, but I think the codec register is not fine for CODEC DAI at least.
- same as 3.
- I will add those value to our pinmux config file and make a log( with 3.), if this step is OK to you.
Best Regards,
MOMO Chen