Audio Input / Output header

Hi,
Isn’t the Audio Input / Output header on the carrier implemented yet ?
Was trying to add a mic on it, but there is no mic available in Ubuntu settings…

Hello!

Yes the 9-pin audio header is supported and validated.

Under the Ubuntu sound settings, under the ‘Input’ section, you want to select the ‘Analog Input’.

Regards,
Jon

Hi,
‘Input’ section is blank, nothing in it :/
and ‘Output’ shows only HDMI / Displayport 3 Built-in Audio.

Have a normal PC front panel board plugged into the audio header, and a mic on the mic port of it…

Hi!

Sounds like the on-board audio codec is not being detected. Can you attach the output from ‘dmesg’?

I am guessing that the only card shown under ‘/proc/asound/cards’ is the ‘tegrahdagalent1’ card?

Thanks
Jon

Hi!

I have flashed the rel31.0.2 release on my Jetson Xavier and I see the following …

$ cat /proc/asound/cards 
 0 [tegrahdagalent1]: tegra-hda-galen - tegra-hda-galen-t194
                      tegra-hda-galen-t194 at 0x3518000 irq 68
 1 [tegrasndt19xmob]: tegra-snd-t19x- - tegra-snd-t19x-mobile-rt565x
                      tegra-snd-t19x-mobile-rt565x

Furthermore, I see the ‘Analog Input’ and ‘Analog Output’ shown under the Ubuntu system settings.

If the codec is detected you should see …

$ cat /sys/class/i2c-adapter/i2c-7/7-001a/name 
rt5658

If you can send over the output from ‘dmesg’ we can see if the codec is detected or not.

Thanks
Jon

Hi Jonathanh,
Have included the dmesg log, can see there are some audio card errors, how can that happen / be ?
don’t mind the imx219 errors, just working on a camera driver :)

There are two types of front panel boards, the older AC97 and the newer HD-Audio (both uses 10 pin with 1 pin removed), from the schematics of the xavier it seems like you are using HD-Audio, but have tested both, no luck…
I could have a defect front panel board, but only have this one to test.

nvidia@jetson:~ cat /proc/asound/cards 0 [tegrahdagalent1]: tegra-hda-galen - tegra-hda-galen-t194 tegra-hda-galen-t194 at 0x3518000 irq 67 nvidia@jetson:~ cat /sys/class/i2c-adapter/i2c-7/7-001a/name
rt5658
nvidia@jetson:~$

dmesg_card.log (77.1 KB)

Hi!

Yes compatible with the Intel HD-Audio header [0].

The following error suggests that the device for the rt5658 codec is NOT registered …

[   18.519905] tegra-asoc: sound: ASoC: CODEC DAI rt5659-aif1 not registered
[   18.522814] tegra-asoc: sound: snd_soc_register_card failed (-517)

And then I see …

[   18.402128] rt5659 7-001a: Device with ID register ffffff80 is not rt5659

So probing the codec is definitely failing. Do you have anything else connected to the board? Possibly a camera module that happens to be on the same I2C bus? If so, could you remove and see if the above error persists?

Thanks
Jon

[0] https://www.intel.co.uk/content/www/uk/en/support/articles/000005512/boards-and-kits/desktop-boards.html

You are absolutely right, thanks :)
Both Input and Output shows up now, and the mic works…

But how can this happen ? my camera expander and cameras are not using i2c bus 7, and they do no use 001a.

Can you tell me or do you know if anything is different from the TX2 -> Xavier on the i2c bus, is something changed ?

My expander should be using 2-0020 and the cam’s should be using 1-0010 / 1-0012 and 1-0064, at least that is how they register on the TX2.

Have verified that my expander @ 2-0020 is working and probing, but haven’t gotten the cams’s to show up on the Xavier i2c bus yet… (working on it).

Starting to believe something is changed on the i2c bus’s :/

Great! Can you tell me precisely which connector you can connecting your camera expander? I assume it is J509? Then I will check on the I2C bus.

Cheers
Jon

I do use 7-0010 and 7-0012 if i use all 6 cam’s (they are in my dtis) , but that still doesn’t explain why it is interfering with 7-001a ?

Maybe worth dumping and attaching the output from the following to see if we have any pinmux conflicts anywhere …

sudo cat /sys/kernel/debug/tegra_pinctrl_reg

Thanks
Jon

1 Like

I would hope that additional loading on the i2c bus would not cause issues. Can you just disable these in your dts and see if these are the problem? If they are it maybe interesting to see if both or just one of them causes the problem.

Cheers
Jon

Yes, its plugged int to J509, it is this type of expander, ported the driver to TX2 and now to Xavier…

https://auvidea.com/j20/

some more info on it:

dumping sudo cat /sys/kernel/debug/tegra_pinctrl_reg, should the expander / cam’s be attached again before i do that, or will the result be the same ?

Result should be the same either way.

Thanks
Jon

Did them bothe, looks the same:

with_exp.log (12.4 KB)
without_exp.log (12.4 KB)

But the strange thing is, if i flash a “virgin” Jetpack release to the TX2, no modified dtsi or new drivers, and just use plain i2c i get this:

TX2:
sudo i2cset -f -y 2 0x20 6 0x3e
sudo i2cset -f -y 2 0x20 7 0x33
sudo i2cset -f -y 2 0x20 2 0xfe
sudo i2cset -f -y 2 0x20 3 0xff

sudo i2cdetect -y -r 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – -- – -- – -- – -- – -- – -- –
10: – -- – -- – -- – -- – -- – -- – -- – --
20: 20 – -- – -- – -- – -- – -- – -- – -- – : Expander answering @ 0x20
30: – -- – -- – -- – -- – -- – -- – -- – --
40: – -- – -- – -- – -- – -- – -- – -- – --
50: – -- – -- – -- – -- – -- – -- – -- – --
60: – -- – -- – -- – -- – -- – -- – -- – --
70: – -- – -- – -- – --

sudo i2cdetect -y -r 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – -- – -- – -- – -- – -- – -- –
10: 10 – -- – -- – -- – -- – -- – -- – -- – : camera 0 answering @0x10
20: – -- – -- – -- – -- – -- – -- – -- – --
30: – -- – -- – -- – -- – -- – -- – -- – --
40: – -- – -- – -- – -- – -- – -- – -- – --
50: – -- – -- – -- – -- – -- – -- – -- – --
60: – -- – -- 64 – -- – -- – -- – -- – -- – : Eeprom / crypto Eeprom for camera 0 answering @ 0x64
70: – -- – -- – -- – --

Doing the same on Xavier:

sudo i2cset -f -y 2 0x20 6 0x3e
sudo i2cset -f -y 2 0x20 7 0x33
sudo i2cset -f -y 2 0x20 2 0xfe
sudo i2cset -f -y 2 0x20 3 0xff

sudo i2cdetect -y -r 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – -- – -- – -- – -- – -- – -- –
10: – -- – -- – -- – -- – -- – -- – -- – --
20: 20 – -- – -- – -- – -- – -- – -- – -- – : Expander answering @ 0x20
30: – -- – -- – -- – -- – -- – -- – -- – --
40: – -- – -- – -- – -- – -- – -- – -- – --
50: – -- – -- – -- – -- – -- – -- – -- – --
60: – -- – -- – -- – -- – -- – -- – -- – --
70: – -- – -- – -- – --

sudo i2cdetect -y -r 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – -- – -- – UU – -- – -- – -- –
10: – -- – -- – -- – -- – -- – -- – -- – -- : camera 0 “NOT” answering @0x10
20: – -- – -- – -- – -- – -- – -- – -- – --
30: – -- – -- – -- – -- – -- – -- – -- – --
40: UU UU – -- – -- – -- – -- – -- – -- – --
50: – -- – -- – -- – -- – -- – -- – -- – --
60: – -- – -- – -- – -- – -- – -- – -- – -- : No Eeprom / crypto Eeprom for camera 0 answering @ 0x64
70: – -- – -- 74 – -- –

So it seems like something is blocking the answer from the cam, same thing happens on cam 0 to 5 (cam5 would have been on i2c 7-xxxx).

Any idea why, and might this be connected to what happens to the audio codec ?

In this case there is no drivers and dtsi involved, it should have reported @ 0x10 :/

doing a sudo i2cdetect -y -r 7 doesn’t seem to work, hangs or runs very slow…

I will also test by removing all the cameras in the dtsi and just leave the expander in there, to see if the audio codec comes back then…

Will reflash and test that later today…

Thanks for testing. The big difference between TX2 and Xavier is that the TX2 does not have an integrated codec. Therefore, there is no codec present on that I2C bus by default unless you were to connect one via the 40-pin header.

I am guessing that the cameras on the i2c 7-xxxx bus (or i2c8) are causing the problem.

It would be interesting to see on Xavier if you were to simply flash the stock rel31 release and connect the camera module if this alone causes the codec detection to break. If so this may suggest there is a loading issue on the I2C bus and we may need to see if there are any pin settings that we need to adjust.

By the way, do you know if the schematics for the camera board you are using are available? I see a technical reference doc for the board but not a schematic.

Regards,
Jon

@Spawn32
The camera didn’t ack on Xavier could be the sensor power or clock didn’t enable.
Could you probe to confirm it.