environment:
Jetson Nano L4T R32.1
I made config to use i2s audio as the following link shows:
Tegra210 (P3450-Porg) # md 0x6000d204 1
6000d204: 000000f0 …
Tegra210 (P3450-Porg) # mw 0x6000d204 0
Tegra210 (P3450-Porg) # md 0x6000d204 1
6000d204: 00000000 …
Tegra210 (P3450-Porg) # md 0x6000d60c 1
6000d60c: 00000001 …
Tegra210 (P3450-Porg) # mw 0x6000d60c 0
Tegra210 (P3450-Porg) # md 0x6000d60c 1
6000d60c: 00000000 …
Tegra210 (P3450-Porg) # md 0x70003144 4
70003144: 00000064 00000064 00000064 00000064 d…d…d…d…
Tegra210 (P3450-Porg) # md 0x70003180 1
70003180: 00000068 h…
Tegra210 (P3450-Porg) # mw 0x70003180 0x4
Tegra210 (P3450-Porg) # md 0x70003180 1
70003180: 00000004 …
after booting up, I made sure the settings of I2S related pins as follows:
sudo grep “Name:|J:|BB:” /sys/kernel/debug/tegra_gpio
Name:Bank:Port CNF OE OUT IN INT_STA INT_ENB INT_LVL
J: 2:1 00 00 00 00 00 00 000000
BB: 6:3 01 00 00 00 00 00 000000
and I tested sound output but I only got buzzing sound.
alsactl init tegrasndt210ref
amixer -c tegrasndt210ref cset name=“I2S4 codec master mode” 4
speaker-test -t sine -c 2 -F S32_LE -f 600 -D plughw:CARD=tegrasndt210ref,DEV=0
speaker-test 1.1.3
Playback device is plughw:CARD=tegrasndt210ref,DEV=0
Stream parameters are 48000Hz, S32_LE, 2 channels
Sine wave rate is 600.0000Hz
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 16 to 4096
Period size range from 16 to 2048
Using max buffer size 4096
Periods = 4
was set period_size = 1024
was set buffer_size = 4096
0 - Front Left
1 - Front Right
I checked DAP4_DOUT 40pin and related pinout signal as follows,
My Jetson Nano’s signal output has been strange.
Oscilloscope - Multi VirAnalyzer 2019-09-13 19-07-03-40pin-dap4-dout
Oscilloscope - Multi VirAnalyzer 2019-09-13 19-09-07-35pin-DAP4_FS
Oscilloscope - Multi VirAnalyzer 2019-09-13 19-14-54-12pin-DAP4_SCLK
it didn’t clearly indicate high or low level,and seemed to contain several megahertz signal or noise.
I noticed Drive Down / Up feature and tried as follows:
Driver Output Pull-Up/Pull-Down drive strength code.
Normally, the code is 5 bits
Pad Control Group Register
Address DRVDN DRVUP
DAP4_DIN 0x70000974 16:12 24:20
DAP4_DOUT 0x70000978 16:12 24:20
DAP4_FS 0x7000097c 16:12 24:20
DAP4_SCLK 0x70000980 16:12 24:20
sudo devmem2 0x70000978
/dev/mem opened.
Memory mapped at address 0x7fa5064000.
Value at address 0x70000978 (0x7fa5064978): 0x1010000
sudo devmem2 0x70000978 w 0x1616000
/dev/mem opened.
Memory mapped at address 0x7fad217000.
Value at address 0x70000978 (0x7fad217978): 0x1010000
Written 0x1616000; readback 0x1616000
it seemed to take some effect, but still didn’t indicate adequate high logic level.
Oscilloscope - Multi VirAnalyzer 2019-09-13 19-24-40-40pin-dap4-dout-drive-power-modified
for the reference, I tested also with my Raspberry Pi3,
it play sound with no problem and their waveforms seemed to be adequate.
speaker-test -t sine -c 2 -F S32_LE -f 600 -D plughw:0,0
Oscilloscope - Multi VirAnalyzer 2019-09-13 19-30-48-40pin-raspberry-pi3-dout
Oscilloscope - Multi VirAnalyzer 2019-09-13 19-32-47-35pin-raspberry-pi-fs
Oscilloscope - Multi VirAnalyzer 2019-09-13 19-34-36-12pin-raspberry-pi-sclk
could you advise and if you can, please accept my RMA request.