Hello,
I need some assistance on how to get a FE-PI AUDIO Z V1.1 (the one with the red PCB) working with my Jetson Nano. I followed the instructions described here https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fhw_setup_jetson_io.html%23 and I configured the device tree using fe-pi-audio-z-v2.dtb .
Unfortunatelly the above approach will not enable the audio card.
Thanks for any help!
kayccc
January 9, 2020, 10:57pm
2
Thanks for your quick response kayccc!
There are no trace messages since
cwasilei@nano:~$ dmesg | grep "ASoC"
returns nothing.
Maybe you have any other suggestions? I tried the following:
cwasilei@nano:~$ dmesg | grep "audio"
[ 0.965774] iommu: Adding device aconnect@702c0000:adsp_audio to group 34
[ 4.884888] usbcore: registered new interface driver snd-usb-audio
cwasilei@nano:~$ dmesg | grep "sound"
[ 0.437299] iommu: Adding device sound to group 6
[ 0.437369] platform sound: domain=ffffffc0f9b6bb58 allocates as[0]=ffffffc0f94281e0
[ 4.890295] input: tegra-hda HDMI/DP,pcm=3 as /devices/70030000.hda/sound/card0/input0
[ 4.952461] tegra-asoc: sound: ADMAIF1 <-> ADMAIF1 mapping ok
[ 4.952588] tegra-asoc: sound: ADMAIF2 <-> ADMAIF2 mapping ok
[ 4.952708] tegra-asoc: sound: ADMAIF3 <-> ADMAIF3 mapping ok
[ 4.952828] tegra-asoc: sound: ADMAIF4 <-> ADMAIF4 mapping ok
[ 4.952948] tegra-asoc: sound: ADMAIF5 <-> ADMAIF5 mapping ok
[ 4.953068] tegra-asoc: sound: ADMAIF6 <-> ADMAIF6 mapping ok
[ 4.953189] tegra-asoc: sound: ADMAIF7 <-> ADMAIF7 mapping ok
[ 4.953324] tegra-asoc: sound: ADMAIF8 <-> ADMAIF8 mapping ok
[ 4.953462] tegra-asoc: sound: ADMAIF9 <-> ADMAIF9 mapping ok
[ 4.953580] tegra-asoc: sound: ADMAIF10 <-> ADMAIF10 mapping ok
cwasilei@nano:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: tegrahda [tegra-hda], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt565x], device 0: ADMAIF1 CIF ADMAIF1-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt565x], device 1: ADMAIF2 CIF ADMAIF2-1 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt565x], device 2: ADMAIF3 CIF ADMAIF3-2 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt565x], device 3: ADMAIF4 CIF ADMAIF4-3 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt565x], device 4: ADMAIF5 CIF ADMAIF5-4 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt565x], device 5: ADMAIF6 CIF ADMAIF6-5 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt565x], device 6: ADMAIF7 CIF ADMAIF7-6 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt565x], device 7: ADMAIF8 CIF ADMAIF8-7 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt565x], device 8: ADMAIF9 CIF ADMAIF9-8 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: tegrasndt210ref [tegra-snd-t210ref-mobile-rt565x], device 9: ADMAIF10 CIF ADMAIF10-9 []
Subdevices: 1/1
Subdevice #0: subdevice #0
cwasilei@nano:~$ sudo vi /boot/extlinux/extlinux.conf
1 TIMEOUT 30
2 DEFAULT FE-PI-Audio-Z-V2
3
4 MENU TITLE L4T boot options
5
6 LABEL primary
7 MENU LABEL primary kernel
8 LINUX /boot/Image
9 INITRD /boot/initrd
10 APPEND ${cbootargs} quiet
11
12 LABEL FE-PI-Audio-Z-V2
13 MENU LABEL FE-PI Audio Z V2
14 LINUX /boot/Image
15 FDT /boot/tegra210-p3448-0000-p3449-0000-b00-fe-pi-audio-z-v2.dtb
16 INITRD /boot/initrd
17 APPEND ${cbootargs}
Hello!
Yes the FE-PI Audio Z V1 and V2 appear to be compatibile and so what you are trying should work.
On boot you should see the sgtl5000 registered …
$ dmesg | grep sgtl5000
And if configured correctly then the dai-link name for the should be the fe-pi name …
$ cat /proc/device-tree/sound/nvidia,dai-link-1/link-name
How are you testing audio playback? Currently, we only support the headphone jack and executing the following should be a tone …
$ alsactl init tegrasndt210ref
$ speaker-test -D hw:tegrasndt210ref,0 -c 2 -r 48000 -F S16_LE -t sine -f 500
Regards,
Jon
Hi Jon and thanks for your reply!
It turns out sgtl5000 doesnt get registered at boot time
cwasilei@nano:~$ dmesg | grep sgtl50000
cwasilei@nano:~$
I think FE-PI Audio is configured ok since
cwasilei@nano:~$ cat /proc/device-tree/sound/nvidia,dai-link-1/link-name
fe-pi-audio-z-v2
These are the steps I followed:
sudo /opt/nvidia/jetson-io/jetson-io.py
“configure for compatible hardware” >> “FE-PI Audio Z V2” >> “exit”
cwasilei@nano:~$ cat /sys/firmware/devicetree/base/compatible
nvidia,p3449-0000-b00+p3448-0000-b00nvidia,jetson-nanonvidia,tegra210
cwasilei@nano:~$ ls -l /boot/tegra210-*
-rw-r--r-- 1 root root 1010 Dez 10 07:59 /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit-adafruit-sph0645lm4h.dtbo
-rw-r--r-- 1 root root 487148 Dez 10 07:59 /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb
-rw-r--r-- 1 root root 2716 Dez 10 07:59 /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit-fe-pi-audio-z-v2.dtbo
-rw-r--r-- 1 root root 3149 Dez 10 07:59 /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit-hdr40.dtbo
-rw-r--r-- 1 root root 487677 Dez 10 07:59 /boot/tegra210-jetson-tx1-p2597-2180-a02-devkit-24x7.dtb
-rw-r--r-- 1 root root 214243 Dez 10 07:59 /boot/tegra210-p3448-0000-p3449-0000-a00.dtb
-rw-r--r-- 1 root root 1018 Dez 10 07:59 /boot/tegra210-p3448-0000-p3449-0000-a01-adafruit-sph0645lm4h.dtbo
-rw-r--r-- 1 root root 214203 Dez 10 07:59 /boot/tegra210-p3448-0000-p3449-0000-a01.dtb
-rw-r--r-- 1 root root 2724 Dez 10 07:59 /boot/tegra210-p3448-0000-p3449-0000-a01-fe-pi-audio-z-v2.dtbo
-rw-r--r-- 1 root root 3313 Dez 10 07:59 /boot/tegra210-p3448-0000-p3449-0000-a01-hdr40.dtbo
-rw-r--r-- 1 root root 1054 Dez 10 07:59 /boot/tegra210-p3448-0000-p3449-0000-a02-adafruit-sph0645lm4h.dtbo
-rw-r--r-- 1 root root 214705 Dez 10 07:59 /boot/tegra210-p3448-0000-p3449-0000-a02.dtb
-rw-r--r-- 1 root root 2760 Dez 10 07:59 /boot/tegra210-p3448-0000-p3449-0000-a02-fe-pi-audio-z-v2.dtbo
-rw-r--r-- 1 root root 3349 Dez 10 07:59 /boot/tegra210-p3448-0000-p3449-0000-a02-hdr40.dtbo
-rw-r--r-- 1 root root 214705 Dez 16 20:21 /boot/tegra210-p3448-0000-p3449-0000-b00.dtb
-rw-r--r-- 1 root root 215839 Jan 1 13:50 /boot/tegra210-p3448-0000-p3449-0000-b00-fe-pi-audio-z-v2.dtb
-rw-r--r-- 1 root root 214687 Dez 10 07:59 /boot/tegra210-p3448-0002-p3449-0000-a02.dtb
-rw-r--r-- 1 root root 214683 Dez 10 07:59 /boot/tegra210-p3448-0002-p3449-0000-b00.dtb
My Jetson Nano is a b00 platform device and I only see the *.dtb file (tegra210-p3448-0000-p3449-0000-b00-fe-pi-audio-z-v2.dtb) but no corresponding *.dtbo file. Is this an issue?
I didn’t test playback yet since aplay -l doesnt list the FE-PI audiocard and I cant select it.
alsamixer
shows a device called tegra-snd-t210-ref-mobile-rt565x. Is this the FE-PI Z Audio?
Thanks again for your efforts :)
Hello!
You have one too many 0s in the above should be ‘sgtl5000’. Can you attach the entire output from dmesg?
I didn’t est playback yet since
aplay -l
doesnt list the FE-PI audiocard and I cant select it.
alsamixer
shows a device called tegra-snd-t210-ref-mobile-rt565x. Is this the FE-PI Z Audio?
Yes that is expected. You will not see the FE-PI board under ‘aplay -l’ or ‘amixer’.
You can also check the following to see if the codec is listed …
$ sudo cat /sys/kernel/debug/asoc/codecs
Regards,
Jon
Sorry for the typo. You are right. Now I get:
cwasilei@nano:~$ dmesg | grep sgtl5000
[ 5.388696] sgtl5000 1-000a: sgtl5000 revision 0x11
[ 5.403938] sgtl5000 1-000a: Using internal LDO instead of VDDD: check ER1
And the codecs are:
cwasilei@nano:~$ sudo cat /sys/kernel/debug/asoc/codecs
[sudo] password for cwasilei:
tegra210-ope.1
tegra210-ope.0
tegra210-mvc.1
tegra210-mvc.0
tegra210-afc.5
tegra210-afc.4
tegra210-afc.3
tegra210-afc.2
tegra210-afc.1
tegra210-afc.0
tegra210-sfc.3
tegra210-sfc.2
tegra210-sfc.1
tegra210-sfc.0
tegra210-mixer
tegra210-adx.1
tegra210-adx.0
tegra210-amx.1
tegra210-amx.0
tegra210-dmic.1
tegra210-dmic.0
tegra210-i2s.3
tegra210-i2s.2
tegra210-admaif
tegra210-axbar
7.spdif-dit.7
6.spdif-dit.6
5.spdif-dit.5
4.spdif-dit.4
3.spdif-dit.3
2.spdif-dit.2
1.spdif-dit.1
0.spdif-dit.0
sgtl5000.1-000a
snd-soc-dummy
Thanks for your support. I am now getting the test sound! :)
cwasilei@nano:~$ alsactl init tegrasndt210ref
Reset Tegra APE sound-card controls
cwasilei@nano:~$ speaker-test -D hw:tegrasndt210ref,0 -c 2 -r 48000 -F S16_LE -t sine -f 500
speaker-test 1.1.3
Playback device is hw:tegrasndt210ref,0
Stream parameters are 48000Hz, S16_LE, 2 channels
Sine wave rate is 500,0000Hz
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 32 to 8192
Period size range from 32 to 4096
Using max buffer size 8192
Periods = 4
was set period_size = 2048
was set buffer_size = 8192
0 - Front Left
1 - Front Right
Time per period = 5,810646
0 - Front Left
1 - Front Right
Time per period = 5,976032
0 - Front Left
1 - Front Right
Time per period = 5,972907
0 - Front Left
1 - Front Right
Time per period = 5,974038
0 - Front Left
1 - Front Right
Time per period = 5,974319
0 - Front Left
1 - Front Right
dmesg.txt (51.9 KB)
allcoms
September 23, 2020, 11:39am
8
I’ve got a Fe-Pi Audio Z v2.2. It works fine on my RPi 4 but I’ve not been able to get it to work under JetPack 4.4 on my nano, which is what it was bought for.
I have run:
sudo /opt/nvidia/jetson-io/jetson-io.py
and it created a new dtb but even when I manually flashed the dtb it created, I still haven’t been able to get any sound out of my Audio Z.
$ dmesg | grep sgtl5000
Doesn’t return anything. aplay -l
does list several tegrasndt210 devices and I’ve also tried running:
alsactl init tegrasndt210
but that hasn’t helped.
The speaker test command runs but I don’t hear any sound.
@cwasilei
What version of JetPack are you running? Did you have to rebuild the kernel or do anything else to get yours to work?
I am presuming support should already be in the kernel. jetson-io gives me the impression its just a case of switching your dtb to one with the correct pin config.
The audio Z works as a standard ALSA soundcard under Raspbian so there’s no reason why that couldn’t be the case for the Nano too, with some work.
NVIDIA:
Do you plan to enable SPI by default in future Jetpack releases? Switching dtb files is simple on the RPi but its quite an involved process on the Nano.
allcoms
September 23, 2020, 11:49am
9
If we can’t use the Audio Z as a regular ALSA device (like on the Rpi) yet, how do we adjust the volume?
kayccc
October 8, 2020, 2:45am
10
Hi allcoms,
Please help to open a new topic for your issue. Thanks