Yes, the audio codec will be a slave device and Orin dev is the master I2S.
As you suggested I did those changes in DT but the output is the same as above comments.
Just to confirm, aplay exits immediately?
You still don’t see clock transition after configuring Tegra I2S as producer?
Can you please share kernel logs when you are running playback?
This is probably because the control name is overflowing.
Please use a smaller prefix instead of “TI-TLV320”. Check with something like “TLV”.
This is fine, you won’t see codec name in the cards list.
In your codec driver, you can put prints in hw_params() to confirm that the call happens whenever you run aplay.
This means there is no clock issue.
I don’t think these are necessary.
I am not sure what else you are missing. The playback runs for required duration and I expect no pinmux problem. So I expect the clocks to be seen. What are the pins you are probing?
I probed I2S fs_clk, mclk, sclk, and dout while running the aplay command (aplay -D hw:APE,1 test.wav). however, there is no transition In any lanes.
sclk ->yellow
mclk ->blue
fs_clk ->pink
Dout ->green
It has following amixer errors…, amixer: Cannot find the given element from control hw:1 amixer: Cannot find the given element from control hw:1 amixer: Cannot find the given element from control hw:1 amixer: Cannot find the given element from control hw:1 amixer: Cannot find the given element from control hw:1 amixer: Cannot find the given element from control hw:1
You may have to fix few control settings.
Can you confirm if the codec is connected to Tegra I2S2? Please share schematics of the connection.
Also please probe the signals without codec connection. Sometimes the codec board can affect the signals. When you do this testing, you have to disable the codec path in DT.
Changes are made in the machine driver Linux_for_Tegra/sources/kernel/nvidia/sound/soc/tegra-alt/machine_drivers/tegra_machine_driver.c file is not reflected on the board. Even though I purposely created some syntax errors, it didn’t through any errors while compiling. I asked this question in the forum and the guy responded is redirected to this post.
same codec and schematic I worked with jetson tx2i Jetpack 4.3 last year and it was successfully worked you can have look at it here
I disconnected the Tegra I2S2 lanes from the codec and tested the pins 7 mclk, 35 fsck, 12 sclk, and 40 dout in the Orin dev kit 40 Pin header, but there is no signal in any of the pins.
As per the schematic, the “AUDIO_I2S” label points to I2S1_xxx. It seems like you are using Tegra I2S1. You may have used I2S2 on TX2, but don’t assume it will be the case on AGX Orin too. Please cross check on this.
If indeed you are using I2S1, then you need to update your DT bindings accordingly for I2S1 usage. Also update amixer commands to use I2S1 and then check.
As we used the same path for Tx2i, we assumed that it might be the same way here.
Thanks for correcting me.
I’ve done the necessary changes after following the audio setup and development wiki.
however, the problem remains the same.
I’m using the Tegra I2S2 and am sure that the hardware is fine.
aplay command it works fine and I can see that APE in /proc/asound/cards.
I have probed the I2S pins and still, there is no transition in any pins
Could you please let me know, and please see the attached git diff for the audio codec’s updated changes git_diff.txt (16.0 KB) components.txt (886 Bytes) dmesg.log (79.9 KB)
I got the probe error for the audio codec in the kernel log as shown below.
tlv320aic32x4: probe of 7-0018 failed with error -110
If I’m not mistaken, the I2S2 Mclk signal should come first when the codec starts.
I would be very grateful if you could tell us how to fix this. dmesg.log (74.9 KB) kern.log (224.8 KB)
Traces look fine as I can see the DAPM path include your audio codec as well.
It also has I2S2 in the path. I think you still have it connected in the path. Please disconnect I2S2 path as you are not using it with following command:
amixer -c APE cset name="I2S2 Mux" "None"
Even with above I was expecting you would see clock transitions on the I2S1.
I believe aplay is running for required duration for you and the configuration looks good to me. Please double check your probe points and check if you can measure this as close as possible to the SOM to rule out any platform issues. The signals would be available only when the audio session is running.
I have switched the BSP from the previous L4T package R35.1 to the latest R35.3.1. I’m Integrating the Audio Codec changes and will update you on the audio codec results.