- Hello, I connected the codec SGTL5000 on i2s4 interface
- There is a lot of hissing noise when recording with the orin NX module
- When using the orin nano module, the recording was normal and there was no noise
- May I ask if there are any differences in audio configuration between these two modules?
- This is my device tree:
tegra234-p3768-0000+p3767-0000-nv.dts.txt (5.4 KB) - This is the recorded audio file:
test.zip (814 Bytes)
Hi,
Greetings! Could you share below from working on non working platforms. Try to analyse at your end if any dai link or i2s configuration params are different
dtc -I fs -O dts /proc/device-tree > /tmp/dt.log
Compare pinmux settings of i2s on both working and non working platforms. Pinmux configuration can be dumped using below command (Refer: Problems with i2s pins - #4 by mkumard)
cat /sys/kernel/debug/pinctrl/<addr>.pinmux/pinconf-groups > ~/pinmux_<addr>
Hope you are using same audio mixer settings on both platforms. Mixer settings can be dumped using below command
amixer -c APE contents
Further, try external i2s4 loopback (without using codec) on original package with help of information from Jetson Orin Nano + MAX98357A I2S produces extreme distortion - #5 by mkumard to check if data output from I2S is clean
Thanks
-
The following are the device trees of NX and nano. There is no difference in the audio part
dt_nano.log (326.7 KB)
dt_nx.log (327.8 KB) -
I compared the pinmux of NX and nano. It’s the same
pinmux.log (31.5 KB) -
I compared the mixer settings of NX and nano, and they are the same
amixer_nx.log (318.0 KB) -
I short-circuited the I2S4 DOUT and DIN, conducted an external loopback test, and found that the waveform of the NX was noisy, while the nano was normal
-
I tested two Nanos and both were normal, but neither of the two NX was normal
Hi,
Could you use wires used on Nano for checking the external loopback on I2S to eliminate all the differences on both the setups. Is there anything near the setup that could be causing the distortion?
Further, pls check the internal loopback per guide at Audio Setup and Development — NVIDIA Jetson Linux Developer Guide and share your observations
Thanks
- This is the waveform of the nano test using external loopback. It can be seen that there is no noise
- The audio configurations of nano and NX are the same:
amixer -c APE cset name="I2S4 codec master mode" "cbm-cfm" #CHIP_I2S_CTRL 0x0006 MS
amixer -c APE cset name="H40-SGTL DAP Mux" "DAC" #CHIP_SSS_CTRL 0x000A DAP_SELECT, DAP_CONTROL 0x0100 DAP_EN
amixer -c APE cset name="H40-SGTL PCM Playback Volume" 192 #CHIP_DAC_VOL 0x0010 DAC_VOL_*
amixer -c APE cset name="H40-SGTL Lineout Playback Volume" 6 #CHIP_LINE_OUT_VOL 0x002E LO_VOL_*
amixer -c APE cset name="H40-SGTL Lineout Playback Switch" "on" #CHIP_ANA_CTRL 0x0024 MUTE_LO
amixer -c APE cset name="H40-SGTL Capture Switch" "on" #CHIP_ANA_CTRL 0x0024 MUTE_ADC
amixer -c APE cset name='H40-SGTL Capture Mux' 'MIC_IN' #CHIP_ANA_CTRL 0x0024 SELECT_ADC
amixer -c APE cset name="H40-SGTL Capture Volume" 10 #CHIP_ANA_ADC_CTRL 0x0020 ADC_VOL_*
amixer -c APE cset name="H40-SGTL Mic Volume" 0 #CHIP_MIC_CTRL 0x002A GAIN
amixer -c APE cset name='H40-SGTL Capture ZC Switch' 'on' #CHIP_ANA_CTRL 0x0024 EN_ZCD_ADC
amixer -c APE cset name='H40-SGTL DAP MIX Mux' 'ADC' #CHIP_SSS_CTRL 0x000A DAP_MIX_SELECT, DAP_CONTROL 0x0100 MIX_EN
amixer -c APE cset name='H40-SGTL DAP Main channel' 32768 #DAP_MAIN_CHAN 0x0120
amixer -c APE cset name="I2S1 Mux" 0
amixer -c APE cset name="I2S2 Mux" 0
amixer -c APE cset name="I2S4 Mux" "ADMAIF1"
amixer -c APE cset name="ADMAIF2 Mux" 0
amixer -c APE cset name="ADMAIF1 Mux" "I2S4"
- I think the problem should lie in the hardware differences between NX and nano
Hi,
What about the internal loopback on Orin NX? Was it clear without noise
How is your setup. Are you connecting Orin Nano module and Orin NX to same carrier board. and how are the I2S lines from Orin Nano/NX connected to carrier board?
Thanks
Hi,
- How to enable internal loopback?
- The same carrier board is used, and only the Nano/NX module is exchanged
Hi,
Internal loopback instructions are available here: Audio Setup and Development — NVIDIA Jetson Linux Developer Guide
This link was pointed in The Jetson orin NX recording has a lot of noise - #6 by atalambedu
Restating here for reference. Use suitable I2S relevant to your usecase
Internal Loopback
Internal Loopback using I2S2 with ADMAIF:
$ amixer -c APE cset name="I2S2 Mux" "ADMAIF<i>"
$ amixer -c APE cset name="ADMAIF<i> Mux" "I2S2"
$ amixer -c APE cset name="I2S2 Loopback" "on"
$ aplay -D hw:APE,<i-1> <in_wav> & $ arecord -D hw:APE,<i-1> -r <rate> -c <channels> -f <sample_format> <out_wav>
Thanks
I executed the following command and reported an error:
amixer -c APE cset name="I2S4 Mux" "ADMAIF1"
amixer -c APE cset name="ADMAIF1 Mux" "I2S4"
amixer -c APE cset name="I2S4 Loopback" "on"
sox -n -r 48000 -c 2 -b 16 ./input.wav synth 30 sine 1000 vol -6db
aplay -D hw:APE,0 input.wav &
arecord -d 3 -D hw:APE,0 -c 2 -r 48000 -f S16_LE test.wav
- Turning off the internal loop and using the external loop works fine
Hi,
It should not have failed. You may need set I2S master mode as cbs-cfs if its not that already for this test as the tegra i2s has to generate the clock. Not sure how the external loopback works as this applies to both , are you sourcing clock from external. Did you kill all aplays and ensured no mixer settings are conflicting
Thanks
I can run it successfully by setting the I2S4 main mode device as cbs-cfs
The waveform looped inside I2S4 has no noise
So the problem might lie in the external hardware of the I2S4? But I directly short-circuited the pins of the module connectors
Hi,
What about the external loopback after you configured I2S4 as bclk master (i.e cbs-cfs), still observing noise?
Thanks
After setting cbs-cfs, there is no noise in the external loopback either
Hi,
Please share the schematics of Orin NX to SGTL5000 connection including I2S, I2C, power and clock lines.
Some external circuitry seems to be inducing noise
Thanks
After I set cbs-cfs, there was no noise when the NX used an external microphone
Hi,
May be its picking noise when the microphone is sitting directly on the board. But should happen on Nano as well if thats the case.
So this confirms that software configuration is fine but something with respect to circuitry needs to be checked. Request you to prod on that front a bit and let us know if you have any observations
Thanks
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.









