Aetina AN810 Carrier board enable I2S

I tried to get running the audio board-MIC+ in Aetina AN810 carrier board with a Jetson Xavier NX. My first try was with,
$ sudo /opt/nvidia/jetson-io/jetson-io.py


However, it seems that for AN810 carrier board doesn’t work. In the documentations of Aetina AN810 Carrier board, I found that the I2S port available is I2S1 and not I2S5(like in dev kit).
image
So, I looked into how to activate the I2S 1, but to be honest I got confused. I am not sure what parts of the kernel must be modified (dts or pinmux).

Links:

P.D.
The audio board has basically a codec (NXP1334A) and a I2S MEMS microphone(SPH0645), both of them I2S devices.

Hello!

There are two I2S interfaces available on the Jetson Xavier NX module; I2S0 and I2S1. Please note that if you refer to the pinmux spreadsheet for Jetson Xavier NX, you will see that I2S0 maps to the I2S5 pins on the SoC and I2S1 maps to I2S3 on the SoC. So looking at the above it does appear that the Aetina AN810 uses the I2S3 interface. You may wish to check with the vendor to confirm.

You can check the default pin settings by dumping the following file and looking for the DAP3 signals and check that the ‘func’ is set to I2S3 …

sudo cat /sys/kernel/debug/pinctrl/2430000.pinmux/pinconf-groups

Given that this is a 3rdparty carrier board, if you are having problems with the audio setup I would recommend that you ask the 3rdparty, because they should have verified the audio setup and be able to assist you with configuring the board as needed. We can obviously help with general questions but it might be quicker to get audio working by working with the vendor directly.

Regards,
Jon

Hi @jonathanh,
Thanks for your help, I checked the default pin settings, as you see the ‘func’ is set to I2S3.

Now, I would like to know how to configure this device at user level and also if there is a way to check if it is working well with an oscilloscope.

Regards,
Fab

Hello!

With the L4T release on Jetson Xavier NX devkit to test I2S3 then all you should need to do is …

$ speaker-test -D hw:jetson-xaviernx,1 -c 2 -r 48000 -F S16_LE -t sine -f 500

This should be enough for the pins to toggle at least on the Xavier NX devkit. If the device-tree for the carrier board you are using has updated the device-tree for I2S3 to support then codec, then that may not work. In that case you will need to ask the vendor of the carrier board you can verify.

Regards,
Jon

1 Like

Dear @jonathanh,

As you can see in the picture bellow,
image|690x121
So, my new question is how I can be sure that the device tree of my board support the codec.

Regards,
Fab
P.D.
The audio board has basically a codec (NXP1334A) and a I2S MEMS microphone(SPH0645), both of them I2S devices.

Hello!

Have you tried asking the vendor of the board you are using? They should be able to confirm if they have audio working and how to verify. We can obviously help on the Tegra/module side, but it should be quicker to check with the vendor of the carrier board.

Regards,
Jon