NVIDIA Jetson Orin Dev Kit -- > Interfacing to the HD Audio header J511

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

1 Like

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

tegra234-p3737-audio-codec-rt5640.dtbo (3.1 KB)

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

Attached are the two files, thank you
audio_overlay_troubleshooting.zip (222 Bytes)

I see the attached zip is empty

Hi prasanna4/jason116,

Could you recheck the attachment and share

Thanks

Hi there, very sorry about that. Here’s a new copy.

audio_overlay_troubleshooting.zip (55.0 KB)

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.