I am looking Interfacing to the HD Audio header J511 using a standard PC audio panel to support connections to microphone / audio Out
I am unable to make this work with standard PC audio panel header cable , Is there a recommended signal cable to utilize or any additional drivers required ?
Please refer to below topic to see if can help: Xavier Audio Panel Header (J511) connection to microphone - #7 by jonathanh
Still not operational, could you check how NVIDIA Orin internal team did the tests for mic/speaker with this kit ?
Hi prasanna4,
Connector similar to the one in this link will help as its intended for HD audio10 pin header and this panel has the mic and headphone jack but there in so specific recommended cable as such
But before that, we need to identify the codec details and apply relevant dt overlay as mentioned in steps below to get the audio working
Step 1 : Check RT5658/RT5640 present on the Target
Run below command on target
i2cdetect -y -r 31e0000.i2c
Scenario A: RT5658/RT5640 is present on the target
If i2cdetect command prints 1a (RT5658 codec address) or 1c (RT5640 codec address), Found codec; Go to Step 2!
Example output with RT5658 audio codec.
Scenario B: RT5658/RT5640 is not present on the target
If above command doesn’t print 1a, RT5658 Audio Codec is NOT present on the target board! OR
If above command doesn’t print 1c, RT5640 Audio Codec is NOT present on the target board!
Example output with no RT5658/RT5640 audio codec.
NOTE: If there is no codec, HD audio panel header cannot output/input audio
Step 2 : If RT5658/RT5640 is present, follow below steps to enable Audio Codec
On Host:
-
Take backup of DTB file. file name can be checked using sudo dmesg | grep -i dts. Replace dts with dtb while using below command
cd Linux_for_Tegra/kernel/dtb
cp <file.dtb> <file.dtb>.bac
-
Apply overlay and generate modified DTB
fdtoverlay -i <file.dtb> -o <file.dtb> <overlay.dtbo>
(Note: If fdtoverlay is not available, needs to be installed)
For example:
file.dtb => tegra234-p3701-0000-p3737-0000.dtb (“file” value can be checked using sudo dmesg | grep -i dts)
overlay.dtbo => tegra234-p3737-audio-codec-rt5658.dtbo (when RT5658 codec is present) OR
tegra234-p3737-audio-codec-rt5640.dtbo (when RT5640 codec is present)
- Flash board with modified DTB. The same generic flash command can be used since modified DTB file name is same.
On Target :
-
To confirm if codec is enabled, after device boots, run i2cdetect command again as per step 1 and now the codec is bound to driver (shows “UU”). Below is sample output when RT5658 is present.
-
To double confirm see if component name (rt5659.8-001a/rt5640.8-001c) is found in following dump.
cat /sys/kernel/debug/asoc/components
Once codec is confirmed to be reistered and there is no issue with card registration, audio playback/capture can be attempted with panel connected
Thanks
The audio codec RT5640 is present on the target and we can see that it prints 1C.
However we do not have the tegra234-p3737-audio-codec-rt5640.dtbo overlay available on host . Could you please share how do we get this ?
Hi prasanna4,
The dtbo should be available @ /boot/tegra234-p3737-audio-codec-rt5640.dtbo on Jetson.
If not available, PFA
Thanks
it doesn’t appear that the .dtbo shared above is compatible. The 5658 will overlay fine but the 5640 one won’t , our target is Jetsn Orin
From dtc/libfdt.h at 45f3d1a095dd3440578d5c6313eba555a791f3fb · qemu/dtc · GitHub
/* Error codes: informative error codes /
#define FDT_ERR_NOTFOUND 1
/ FDT_ERR_NOTFOUND: The requested node or property does not exist */
Hi prasanna4,
Could you share o/p of below command from your target
cat /sys/firmware/devicetree/base/compatible
Thanks
Hello,
Here you go
output for cat /sys/firmware/devicetree/base/compatible
nvidia,p3737-0000+p3701-0000nvidia,tegra234nvidia,tegra23x
Hi prasanna4,
I tried the overlaying the original dtb with the overlay and I dont see error
ubuntu@jetson:~$ sudo fdtoverlay -i /boot/tegra234-p3701-0000-p3737-0000.dtb -o /boot/tegra234-p3701-0000-p3737-0000.dtb ~/tegra234-p3737-audio-codec-rt5640.dtbo
Could you share the command you used and the files used
Thanks
Hi Atalambedu, I am helping Prasanna to do these tests. I have attached a screenshot of the files and the command we executed trying to complete the overlay. I believe it has the information you’re asking about
Hi jason116,
My ask was to attach the base dtb as well
Thanks
I see the attached zip is empty
Hi prasanna4/jason116,
Could you recheck the attachment and share
Thanks
Any updates for us to resolve ?
Hi prasanna4,
I was OOTO last week. Shall check and update
Thanks
1.I download the tegra234-p3737-audio-codec-rt5640.dtbo, and put it to SDK manager folder (/home/james/nvidia/nvidia_sdk/JetPack_5.0.1_DP_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/kernel/dtb).
2.Then I execute sudo fdtoverlay -i tegra234-p3701-0000-p3737-0000.dtb -o tegra234-p3701-0000-p3737-0000.dtb tegra234-p3737-audio-codec-rt5640.dtbo
3.And I got error message : Failed to apply ‘tegra234-p3737-audio-codec-rt5640.dtbo’: FDT_ERR_NOTFOUND
4. But if I compile the kernel by self, and then execute the step 2 command in Linux_for_Tegra/kernel/dtb folder, then it success without error message.
5.Reflash orin with my image, the audio works through header J511.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.