Jon, Thanks for replay.
It getting better:
drivers startup, and I can see frame sync on scope, but no data:
amixer sset "MIXER1-4 Mux" "ADMAIF10"
Simple mixer control 'MIXER1-4 Mux',0
Capabilities: enum
Items: 'None' 'ADMAIF1' 'ADMAIF2' 'ADMAIF3' 'ADMAIF4' 'ADMAIF5' 'ADMAIF6' 'ADMAIF7' 'ADMAIF8' 'ADMAIF9' 'ADMAIF10' 'ADMAIF11' 'ADMAIF12' 'ADMAIF'
Item0: 'ADMAIF10'
root@nvidia:~# amixer sset "I2S1 Mux" "MIXER1-1"
Simple mixer control 'I2S1 Mux',0
Capabilities: enum
Items: 'None' 'ADMAIF1' 'ADMAIF2' 'ADMAIF3' 'ADMAIF4' 'ADMAIF5' 'ADMAIF6' 'ADMAIF7' 'ADMAIF8' 'ADMAIF9' 'ADMAIF10' 'ADMAIF11' 'ADMAIF12' 'ADMAIF'
Item0: 'MIXER1-1'
root@nvidia:~# amixer sset "Adder1 RX4" on
Simple mixer control 'Adder1 RX4',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
root@nvidia:~# amixer sset "Mixer Enable" on
Simple mixer control 'Mixer Enable',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
root@nvidia:~# amixer sset "RX4 Gain" 3000
Simple mixer control 'RX4 Gain',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 131072
Mono: 3000 [2%]
speaker-test -D hw:0,9 -c 6 -F S16_LE -t sine -f 400
speaker-test 1.0.28
Playback device is hw:0,9
Stream parameters are 48000Hz, S16_LE, 6 channels
Sine wave rate is 400.0000Hz
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 12 to 2730
Period size range from 12 to 1364
Using max buffer size 2728
Periods = 4
was set period_size = 682
was set buffer_size = 2728
0 - Front Left
Write error: -5,Input/output error
xrun_recovery failed: -5,Input/output error
Transfer failed: Input/output error
root@nvidia:~# cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 54/54 #P:6
#
# _-----=> irqs-off
# / _----=> need-resched
# | / _---=> hardirq/softirq
# || / _--=> preempt-depth
# ||| / delay
# TASK-PID CPU# |||| TIMESTAMP FUNCTION
# | | | |||| | |
speaker-test-6975 [000] ...1 81.231055: snd_soc_dapm_widget_power: widget=Playback 10 val=1
speaker-test-6975 [000] ...1 81.231058: snd_soc_dapm_widget_power: widget=ADMAIF10 Receive val=1
speaker-test-6975 [000] ...1 81.231064: snd_soc_dapm_widget_power: widget=ADMAIF10 RX val=1
speaker-test-6975 [000] ...1 81.231070: snd_soc_dapm_widget_power: widget=MIXER1-4 Mux val=1
speaker-test-6975 [000] ...1 81.231072: snd_soc_dapm_widget_power: widget=MIXER1-4 TX val=1
speaker-test-6975 [000] ...1 81.231073: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit val=1
speaker-test-6975 [000] ...1 81.231073: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit-RX4 Receive val=1
speaker-test-6975 [000] ...1 81.231074: snd_soc_dapm_widget_power: widget=RX4 Receive val=1
speaker-test-6975 [000] ...1 81.231075: snd_soc_dapm_widget_power: widget=RX4 val=1
speaker-test-6975 [000] ...1 81.231077: snd_soc_dapm_widget_power: widget=Adder1 val=1
speaker-test-6975 [000] ...1 81.231078: snd_soc_dapm_widget_power: widget=TX1 val=1
speaker-test-6975 [000] ...1 81.231079: snd_soc_dapm_widget_power: widget=TX1 Transmit val=1
speaker-test-6975 [000] ...1 81.231080: snd_soc_dapm_widget_power: widget=TX1 Transmit-MIXER1-1 Receive val=1
speaker-test-6975 [000] ...1 81.231080: snd_soc_dapm_widget_power: widget=MIXER1-1 Receive val=1
speaker-test-6975 [000] ...1 81.231082: snd_soc_dapm_widget_power: widget=MIXER1-1 RX val=1
speaker-test-6975 [000] ...1 81.231088: snd_soc_dapm_widget_power: widget=I2S1 Mux val=1
speaker-test-6975 [000] ...1 81.231089: snd_soc_dapm_widget_power: widget=I2S1 TX val=1
speaker-test-6975 [000] ...1 81.231090: snd_soc_dapm_widget_power: widget=I2S1 Transmit val=1
speaker-test-6975 [000] ...1 81.231091: snd_soc_dapm_widget_power: widget=I2S1 Transmit-I2S1 CIF Receive val=1
speaker-test-6975 [000] ...1 81.231091: snd_soc_dapm_widget_power: widget=I2S1 CIF Receive val=1
speaker-test-6975 [000] ...1 81.231092: snd_soc_dapm_widget_power: widget=I2S1 CIF RX val=1
speaker-test-6975 [000] ...1 81.231093: snd_soc_dapm_widget_power: widget=I2S1 DAP TX val=1
speaker-test-6975 [000] ...1 81.231094: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit val=1
speaker-test-6975 [000] ...1 81.231095: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit-d Playback val=1
speaker-test-6975 [000] ...1 81.231095: snd_soc_dapm_widget_power: widget=d Playback val=1
speaker-test-6975 [000] ...1 81.231096: snd_soc_dapm_widget_power: widget=d OUT val=1
speaker-test-6975 [000] ...1 81.231097: snd_soc_dapm_widget_power: widget=Headphone-d val=1
speaker-test-6975 [000] ...1 101.246277: snd_soc_dapm_widget_power: widget=Playback 10 val=0
speaker-test-6975 [000] ...1 101.246285: snd_soc_dapm_widget_power: widget=ADMAIF10 Receive val=0
speaker-test-6975 [000] ...1 101.246287: snd_soc_dapm_widget_power: widget=ADMAIF10 RX val=0
speaker-test-6975 [000] ...1 101.246291: snd_soc_dapm_widget_power: widget=MIXER1-4 Mux val=0
speaker-test-6975 [000] ...1 101.246293: snd_soc_dapm_widget_power: widget=MIXER1-4 TX val=0
speaker-test-6975 [000] ...1 101.246294: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit val=0
speaker-test-6975 [000] ...1 101.246295: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit-RX4 Receive val=0
speaker-test-6975 [000] ...1 101.246296: snd_soc_dapm_widget_power: widget=RX4 Receive val=0
speaker-test-6975 [000] ...1 101.246297: snd_soc_dapm_widget_power: widget=RX4 val=0
speaker-test-6975 [000] ...1 101.246298: snd_soc_dapm_widget_power: widget=Adder1 val=0
speaker-test-6975 [000] ...1 101.246299: snd_soc_dapm_widget_power: widget=TX1 val=0
speaker-test-6975 [000] ...1 101.246300: snd_soc_dapm_widget_power: widget=TX1 Transmit val=0
speaker-test-6975 [000] ...1 101.246301: snd_soc_dapm_widget_power: widget=TX1 Transmit-MIXER1-1 Receive val=0
speaker-test-6975 [000] ...1 101.246302: snd_soc_dapm_widget_power: widget=MIXER1-1 Receive val=0
speaker-test-6975 [000] ...1 101.246311: snd_soc_dapm_widget_power: widget=MIXER1-1 RX val=0
speaker-test-6975 [000] ...1 101.246317: snd_soc_dapm_widget_power: widget=I2S1 Mux val=0
speaker-test-6975 [000] ...1 101.246318: snd_soc_dapm_widget_power: widget=I2S1 TX val=0
speaker-test-6975 [000] ...1 101.246319: snd_soc_dapm_widget_power: widget=I2S1 Transmit val=0
speaker-test-6975 [000] ...1 101.246320: snd_soc_dapm_widget_power: widget=I2S1 Transmit-I2S1 CIF Receive val=0
speaker-test-6975 [000] ...1 101.246320: snd_soc_dapm_widget_power: widget=I2S1 CIF Receive val=0
speaker-test-6975 [000] ...1 101.246321: snd_soc_dapm_widget_power: widget=I2S1 CIF RX val=0
speaker-test-6975 [000] ...1 101.246322: snd_soc_dapm_widget_power: widget=I2S1 DAP TX val=0
speaker-test-6975 [000] ...1 101.246322: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit val=0
speaker-test-6975 [000] ...1 101.246323: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit-d Playback val=0
speaker-test-6975 [000] ...1 101.246324: snd_soc_dapm_widget_power: widget=d Playback val=0
speaker-test-6975 [000] ...1 101.246325: snd_soc_dapm_widget_power: widget=d OUT val=0
If I do patch tegra_asoc_machine_alt_t18x.c:
[TEGRA186_DAI_LINK_MIXER1_TX1] = {
.name = "MIXER1 TX1",
.stream_name = "MIXER1 TX",
.cpu_dai_name = "TX1",
.codec_dai_name = "MIXER1-1",
.cpu_name = "tegra210-mixer",
.codec_name = "2900800.ahub",
- .params = &default_link_params,
+ .params = &my_link_params,
Where my_link_params is:
static const struct snd_soc_pcm_stream my_link_params = {
.formats = SNDRV_PCM_FMTBIT_S16_LE,
.rate_min = 48000,
.rate_max = 48000,
.channels_min = 6,
.channels_max = 6,
};
I am getting data out:
amixer sset "MIXER1-4 Mux" "ADMAIF10"
Simple mixer control 'MIXER1-4 Mux',0
Capabilities: enum
Items: 'None' 'ADMAIF1' 'ADMAIF2' 'ADMAIF3' 'ADMAIF4' 'ADMAIF5' 'ADMAIF6' 'ADMAIF7' 'ADMAIF8' 'ADMAIF9' 'ADMAIF10' 'ADMAIF11' 'ADMAIF12' 'ADMAIF'
Item0: 'ADMAIF10'
root@nvidia:~# amixer sset "I2S1 Mux" "MIXER1-1"
Simple mixer control 'I2S1 Mux',0
Capabilities: enum
Items: 'None' 'ADMAIF1' 'ADMAIF2' 'ADMAIF3' 'ADMAIF4' 'ADMAIF5' 'ADMAIF6' 'ADMAIF7' 'ADMAIF8' 'ADMAIF9' 'ADMAIF10' 'ADMAIF11' 'ADMAIF12' 'ADMAIF'
Item0: 'MIXER1-1'
root@nvidia:~# amixer sset "Adder1 RX4" on
Simple mixer control 'Adder1 RX4',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
root@nvidia:~# amixer sset "Mixer Enable" on
Simple mixer control 'Mixer Enable',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
root@nvidia:~# amixer sset "RX4 Gain" 3000
Simple mixer control 'RX4 Gain',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 131072
Mono: 3000 [2%]
root@nvidia:~# echo 1 | tee /sys/kernel/debug/tracing/tracing_on
1
idget_power/enableo 1 | tee /sys/kernel/debug/tracing/events/asoc/snd_soc_dapm_w
1
root@nvidia:~# echo 0 | tee /sys/kernel/debug/tracing/trace
0
root@nvidia:~# speaker-test -D hw:0,9 -c 6 -F S16_LE -t sine -f 400
speaker-test 1.0.28
Playback device is hw:0,9
Stream parameters are 48000Hz, S16_LE, 6 channels
Sine wave rate is 400.0000Hz
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 12 to 2730
Period size range from 12 to 1364
Using max buffer size 2728
Periods = 4
was set period_size = 682
was set buffer_size = 2728
0 - Front Left
4 - Center
1 - Front Right
3 - Rear Right
2 - Rear Left
5 - LFE
Time per period = 5.977323
0 - Front Left
4 - Center
1 - Front Right
3 - Rear Right
2 - Rear Left
5 - LFE
^CTime per period = 5.619081
root@nvidia:~# [ 847.626728] mttcan c310000.mttcan can0: Acknowledgement Error Detected
[ 847.633255] mttcan c310000.mttcan can0: IR = 0x8000000 PSR 0x71b
[ 847.639282] mttcan c310000.mttcan can0: entered error passive state
[ 847.645552] mttcan c310000.mttcan can0: Acknowledgement Error Detected
[ 847.652087] mttcan c310000.mttcan can0: IR = 0x9800000 PSR 0x77b
[ 847.658108] mttcan c310000.mttcan can0: IR = 0x8001201 PSR 0x768
root@nvidia:~#
root@nvidia:~#
root@nvidia:~#
root@nvidia:~# cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 54/54 #P:6
#
# _-----=> irqs-off
# / _----=> need-resched
# | / _---=> hardirq/softirq
# || / _--=> preempt-depth
# ||| / delay
# TASK-PID CPU# |||| TIMESTAMP FUNCTION
# | | | |||| | |
speaker-test-13652 [000] ...1 830.716471: snd_soc_dapm_widget_power: widget=Playback 10 val=1
speaker-test-13652 [000] ...1 830.716474: snd_soc_dapm_widget_power: widget=ADMAIF10 Receive val=1
speaker-test-13652 [000] ...1 830.716523: snd_soc_dapm_widget_power: widget=ADMAIF10 RX val=1
speaker-test-13652 [000] ...1 830.716527: snd_soc_dapm_widget_power: widget=MIXER1-4 Mux val=1
speaker-test-13652 [000] ...1 830.716529: snd_soc_dapm_widget_power: widget=MIXER1-4 TX val=1
speaker-test-13652 [000] ...1 830.716530: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit val=1
speaker-test-13652 [000] ...1 830.716531: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit-RX4 Receive val=1
speaker-test-13652 [000] ...1 830.716531: snd_soc_dapm_widget_power: widget=RX4 Receive val=1
speaker-test-13652 [000] ...1 830.716532: snd_soc_dapm_widget_power: widget=RX4 val=1
speaker-test-13652 [000] ...1 830.716534: snd_soc_dapm_widget_power: widget=Adder1 val=1
speaker-test-13652 [000] ...1 830.716535: snd_soc_dapm_widget_power: widget=TX1 val=1
speaker-test-13652 [000] ...1 830.716536: snd_soc_dapm_widget_power: widget=TX1 Transmit val=1
speaker-test-13652 [000] ...1 830.716536: snd_soc_dapm_widget_power: widget=TX1 Transmit-MIXER1-1 Receive val=1
speaker-test-13652 [000] ...1 830.716537: snd_soc_dapm_widget_power: widget=MIXER1-1 Receive val=1
speaker-test-13652 [000] ...1 830.716539: snd_soc_dapm_widget_power: widget=MIXER1-1 RX val=1
speaker-test-13652 [000] ...1 830.716544: snd_soc_dapm_widget_power: widget=I2S1 Mux val=1
speaker-test-13652 [000] ...1 830.716546: snd_soc_dapm_widget_power: widget=I2S1 TX val=1
speaker-test-13652 [000] ...1 830.716547: snd_soc_dapm_widget_power: widget=I2S1 Transmit val=1
speaker-test-13652 [000] ...1 830.716547: snd_soc_dapm_widget_power: widget=I2S1 Transmit-I2S1 CIF Receive val=1
speaker-test-13652 [000] ...1 830.716548: snd_soc_dapm_widget_power: widget=I2S1 CIF Receive val=1
speaker-test-13652 [000] ...1 830.716549: snd_soc_dapm_widget_power: widget=I2S1 CIF RX val=1
speaker-test-13652 [000] ...1 830.716550: snd_soc_dapm_widget_power: widget=I2S1 DAP TX val=1
speaker-test-13652 [000] ...1 830.716550: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit val=1
speaker-test-13652 [000] ...1 830.716551: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit-d Playback val=1
speaker-test-13652 [000] ...1 830.716552: snd_soc_dapm_widget_power: widget=d Playback val=1
speaker-test-13652 [000] ...1 830.716553: snd_soc_dapm_widget_power: widget=d OUT val=1
speaker-test-13652 [000] ...1 830.716553: snd_soc_dapm_widget_power: widget=Headphone-d val=1
speaker-test-13652 [003] ...1 842.314988: snd_soc_dapm_widget_power: widget=Playback 10 val=0
speaker-test-13652 [003] ...1 842.314996: snd_soc_dapm_widget_power: widget=ADMAIF10 Receive val=0
speaker-test-13652 [003] ...1 842.314997: snd_soc_dapm_widget_power: widget=ADMAIF10 RX val=0
speaker-test-13652 [003] ...1 842.315001: snd_soc_dapm_widget_power: widget=MIXER1-4 Mux val=0
speaker-test-13652 [003] ...1 842.315003: snd_soc_dapm_widget_power: widget=MIXER1-4 TX val=0
speaker-test-13652 [003] ...1 842.315004: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit val=0
speaker-test-13652 [003] ...1 842.315005: snd_soc_dapm_widget_power: widget=MIXER1-4 Transmit-RX4 Receive val=0
speaker-test-13652 [003] ...1 842.315006: snd_soc_dapm_widget_power: widget=RX4 Receive val=0
speaker-test-13652 [003] ...1 842.315006: snd_soc_dapm_widget_power: widget=RX4 val=0
speaker-test-13652 [003] ...1 842.315009: snd_soc_dapm_widget_power: widget=Adder1 val=0
speaker-test-13652 [003] ...1 842.315009: snd_soc_dapm_widget_power: widget=TX1 val=0
speaker-test-13652 [003] ...1 842.315010: snd_soc_dapm_widget_power: widget=TX1 Transmit val=0
speaker-test-13652 [003] ...1 842.315011: snd_soc_dapm_widget_power: widget=TX1 Transmit-MIXER1-1 Receive val=0
speaker-test-13652 [003] ...1 842.315012: snd_soc_dapm_widget_power: widget=MIXER1-1 Receive val=0
speaker-test-13652 [003] ...1 842.315013: snd_soc_dapm_widget_power: widget=MIXER1-1 RX val=0
speaker-test-13652 [003] ...1 842.315018: snd_soc_dapm_widget_power: widget=I2S1 Mux val=0
speaker-test-13652 [003] ...1 842.315020: snd_soc_dapm_widget_power: widget=I2S1 TX val=0
speaker-test-13652 [003] ...1 842.315020: snd_soc_dapm_widget_power: widget=I2S1 Transmit val=0
speaker-test-13652 [003] ...1 842.315021: snd_soc_dapm_widget_power: widget=I2S1 Transmit-I2S1 CIF Receive val=0
speaker-test-13652 [003] ...1 842.315022: snd_soc_dapm_widget_power: widget=I2S1 CIF Receive val=0
speaker-test-13652 [003] ...1 842.315022: snd_soc_dapm_widget_power: widget=I2S1 CIF RX val=0
speaker-test-13652 [003] ...1 842.315023: snd_soc_dapm_widget_power: widget=I2S1 DAP TX val=0
speaker-test-13652 [003] ...1 842.315024: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit val=0
speaker-test-13652 [003] ...1 842.315024: snd_soc_dapm_widget_power: widget=I2S1 DAP Transmit-d Playback val=0
speaker-test-13652 [003] ...1 842.315025: snd_soc_dapm_widget_power: widget=d Playback val=0
speaker-test-13652 [003] ...1 842.315026: snd_soc_dapm_widget_power: widget=d OUT val=0
speaker-test-13652 [003] ...1 842.315026: snd_soc_dapm_widget_power: widget=Headphone-d val=0
but I2S1 bus have garbage.
Andrei