Orin NX 16G R36.3 rt5640

你好,现在正在调试RT5640,这个方案之前有在AGX Orin上调试过,当时用的是JP5的系统,都成功了。
现在对JP6.0不大熟悉,反复调试都没有正常加载上,也不大确定配置应该加在哪个部分。
目前配置了pinmux、gpio以及audio-codec。
tegra234-mb1-bct-gpio-p3767-hdmi-a03.dtsi.txt (3.4 KB)
tegra234-mb1-bct-pinmux-p3767-hdmi-a03.dtsi.txt (65.8 KB)
tegra234-p3768-0000.dtsi.txt (2.1 KB)
进系统看5640驱动没有加载


请问有什么配置错误或缺少的地方吗?
麻烦看下,谢谢。

Hi kepts

I2S and codec DAI binding is missing. Please refer to following section (use relevant i2s for your case):
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/Communications/AudioSetupAndDevelopment.html#configure-i2s-and-codec-dai-link

In general, please go through below: Audio Setup and Development — NVIDIA Jetson Linux Developer Guide 1 documentation
It explains the changes that are required to add the codec.

In case you see issues, please following below troubleshooting section and share all relevant logs:
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/Communications/AudioSetupAndDevelopment.html#troubleshooting

Also you can refer to Jetson AGX Orin RT5640 related changes. It has onboard codec and you can take reference about the related changes.

你好,目前驱动正常加载上了,但没有声音输出。
image
image


可以麻烦帮忙看下是配置还是什么问题吗,谢谢!

Hi kepts

Now the driver loading is fine, please probe and check if you are getting the clock signals properly on the I2S port. This will confirm the pinmux settings.

Also share the necessary logs, in case you have issues, as described in the troubleshooting guide.

感谢回复!
我们使用的是I2S0和I2C2,查看了pinmux对应的是I2S2,所以配置都对应的29011000.i2s

以下是根据troubleshooting guide导出的文件:
1
cat /sys/kernel/debug/asoc/components > components.txt
components.txt (527 Bytes)
zcat /proc/config.gz | grep RT5640 > config.gz.txt
config.gz.txt (65 Bytes)
dmesg > dmesg.txt
dmesg.txt (59.8 KB)
dtc -I fs -O dts /proc/device-tree > dt.log
dt.log (327.3 KB)
cat /sys/kernel/debug/regmap/2901100.i2s/registers > reg_dump.txt
reg_dump.txt (585 Bytes)
amixer -c 1 contents > settings.txt
settings.txt (331.4 KB)

进入系统通过以下指令配置:

amixer -c APE cset name="CVB-RT LOUT MIX DAC L1 Switch" "on"
amixer -c APE cset name="CVB-RT LOUT MIX DAC R1 Switch" "on"

麻烦了,谢谢!

Hi kepts

Don’t see any errors in the dmesg log. Audio codec seems to be registered and it is part of the sound card.

However I am not sure about the playback and capture commands you are running.

Did you confirm if the clock signals are proper?

是的,可以量到clock的波形。

Hi kepts

When you say clock waveforms can be measured, I assume the clock signals are fine and you get the expected frequency when you run playback or capture. If this is correct understanding, then it would mean Tegra is configuring the I2S and clocks as expected.
For any codec related queries, like codec mixer control settings, please check with the codec vendor.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.