Other Parts Discussed in Thread: SK-AM62
SK-AM62 E3, test audio function.
With SDK8.3::with prebuild images, Doesn't work at all?
root@am62xx-evm:~# uname -a
Linux am62xx-evm 5.10.109-g9e58028f94 #1 SMP PREEMPT Mon May 30 16:43:25 UTC 2022 aarch64 aarch64 aarch64 GNU/
Linux
root@am62xx-evm:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: AM62xSKEVM [AM62x-SKEVM], device 0: davinci-mcasp.0-tlv320aic3x-hifi tlv320aic3x-hifi-0 [davinci-mcasp
.0-tlv320aic3x-hifi tlv320aic3x-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@am62xx-evm:~# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: AM62xSKEVM [AM62x-SKEVM], device 0: davinci-mcasp.0-tlv320aic3x-hifi tlv320aic3x-hifi-0 [davinci-mcasp
.0-tlv320aic3x-hifi tlv320aic3x-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@am62xx-evm:~#
root@am62xx-evm:~# arecord -Dplughw:0,0 -t wav test.wav
Recording WAVE 'test.wav' : [ 47.635865] davinci-mcasp 2b10000.mcasp: stream has more channels (2) than are
enabled in mcasp (0)
Unsigned 8 bit, Rate 8000 Hz, Mono
[ 47.646341] davinci-mcasp 2b10000.mcasp: ASoC: error at snd_soc_dai_hw_params on 2b10000.mcasp: -22
arecord: set_params:1405: Unable to install hw params:
ACCESS: RW_INTERLEAVED
FORMAT: U8
SUBFORMAT: STD
SAMPLE_BITS: 8
FRAME_BITS: 8
CHANNELS: 1
RATE: 8000
PERIOD_TIME: 125000
PERIOD_SIZE: 1000
PERIOD_BYTES: 1000
PERIODS: 4
BUFFER_TIME: 500000
BUFFER_SIZE: 4000
BUFFER_BYTES: 4000
TICK_TIME: 0
On SDK8.6, with prebuild images.
root@am62xx-evm:~# uname -a
Linux am62xx-evm 5.10.168-g2c23e6c538 #1 SMP PREEMPT Fri Feb 24 05:59:04 UTC 2023 aarch64 aarch64 aarch64 GNU/
Linux
root@am62xx-evm:~#
root@am62xx-evm:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: AM62xSKEVM [AM62x-SKEVM], device 0: davinci-mcasp.0-tlv320aic3x-hifi tlv320aic3x-hifi-0 [davinci-mcasp
.0-tlv320aic3x-hifi tlv320aic3x-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@am62xx-evm:~# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: AM62xSKEVM [AM62x-SKEVM], device 0: davinci-mcasp.0-tlv320aic3x-hifi tlv320aic3x-hifi-0 [davinci-mcasp
.0-tlv320aic3x-hifi tlv320aic3x-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@am62xx-evm:~#
root@am62xx-evm:~# arecord -Dplughw:0,0 -t wav test.wave
Recording WAVE 'test.wave' : Unsigned 8 bit, Rate 8000 Hz, Mono
^CAborted by signal Interrupt...
arecord: pcm_read:2151: read error: Interrupted system call
root@am62xx-evm:~#
Play back, can't hear anything:
root@am62xx-evm:~# aplay -Dplughw:0,0 test.wave
Playing WAVE 'test.wave' : Unsigned 8 bit, Rate 8000 Hz, Mono
[ 197.819831] ti-udma 485c0100.dma-controller: chan1 teardown timeout!
root@am62xx-evm:~#
Then test loopback, got error as below:
root@am62xx-evm:~# arecord -Dplughw:0,0 | aplay -Dplughw:0,0
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
Playing WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
[ 323.483812] omap_i2c 20000000.i2c: controller timed out
[ 324.539811] omap_i2c 20000000.i2c: controller timed out
[ 324.545073] tps6598x 0-003f: tps6598x_handle_interrupt_status: failed to read events
[ 328.639809] omap_i2c 20010000.i2c: controller timed out
[ 328.645089] tlv320aic3x-codec 1-001b: ASoC: error at snd_soc_component_update_bits on tlv320aic3x-codec.1-0
01b: -110
[ 329.695815] omap_i2c 20010000.i2c: controller timed out
[ 329.701090] tlv320aic3x-codec 1-001b: ASoC: error at snd_soc_component_update_bits on tlv320aic3x-codec.1-0
01b: -110
[ 330.751806] omap_i2c 20010000.i2c: controller timed out
[ 330.757076] tlv320aic3x-codec 1-001b: ASoC: error at snd_soc_component_update_bits on tlv320aic3x-codec.1-0
01b: -110
[ 331.807806] omap_i2c 20010000.i2c: controller timed out
[ 331.813078] tlv320aic3x-codec 1-001b: ASoC: error at snd_soc_component_update_bits on tlv320aic3x-codec.1-0
01b: -110
[ 332.863811] omap_i2c 20010000.i2c: controller timed out
[ 332.869085] tlv320aic3x-codec 1-001b: ASoC: error at snd_soc_component_update_bits on tlv320aic3x-codec.1-0
01b: -110
[ 332.879994] davinci-mcasp 2b10000.mcasp: unhandled rx event. rxstat: 0x00000104
[ 333.915812] omap_i2c 20010000.i2c: controller timed out
[ 333.921083] tlv320aic3x-codec 1-001b: ASoC: error at snd_soc_component_update_bits on tlv320aic3x-codec.1-0
01b: -110
[ 334.975812] omap_i2c 20010000.i2c: controller timed out
[ 334.981085] tlv320aic3x-codec 1-001b: ASoC: error at snd_soc_component_update_bits on tlv320aic3x-codec.1-0
01b: -110
[ 336.031805] omap_i2c 20010000.i2c: controller timed out
[ 336.037078] tlv320aic3x-codec 1-001b: ASoC: error at snd_soc_component_update_bits on tlv320aic3x-codec.1-0
01b: -110
[ 337.087805] omap_i2c 20010000.i2c: controller timed out
[ 337.093076] tlv320aic3x-codec 1-001b: ASoC: error at soc_component_write_no_lock on tlv320aic3x-codec.1-001
b: -110
[ 338.143803] omap_i2c 20010000.i2c: controller timed out
[ 338.149070] tlv320aic3x-codec 1-001b: ASoC: error at soc_component_write_no_lock on tlv320aic3x-codec.1-001
b: -110
overrun!!! (at least 11520.223 ms long)
underrun!!! (at least 0.101 ms long)
[ 339.199807] omap_i2c 20010000.i2c: controller timed out
[ 339.205077] tlv320aic3x-codec 1-001b: ASoC: error at soc_component_write_no_lock on tlv320aic3x-codec.1-001
b: -110
[ 340.251824] omap_i2c 20010000.i2c: controller timed out
[ 340.257094] tlv320aic3x-codec 1-001b: ASoC: error at soc_component_write_no_lock on tlv320aic3x-codec.1-001
b: -110
[ 341.307805] omap_i2c 20010000.i2c: controller timed out
[ 341.313070] tlv320aic3x-codec 1-001b: ASoC: error at soc_component_read_no_lock on tlv320aic3x-codec.1-001b
: -110
[ 342.719808] omap_i2c 20010000.i2c: controller timed out
[ 342.725076] tlv320aic3x-codec 1-001b: ASoC: error at soc_component_read_no_lock on tlv320aic3x-codec.1-001b
: -110
[ 344.191810] omap_i2c 20010000.i2c: controller timed out
[ 344.197083] tlv320aic3x-codec 1-001b: ASoC: error at soc_component_write_no_lock on tlv320aic3x-codec.1-001
b: -110
[ 353.737546] davinci-mcasp 2b10000.mcasp: Receive buffer overflow
overrun!!! (at least 0.093 ms long)
[ 357.627803] omap_i2c 20010000.i2c: controller timed out
[ 357.633071] tlv320aic3x-codec 1-001b: ASoC: error at soc_component_write_no_lock on tlv320aic3x-codec.1-001
b: -110
[ 359.555783] rcu: INFO: rcu_preempt self-detected stall on CPU
[ 359.561544] rcu: 0-....: (5187 ticks this GP) idle=a7e/1/0x4000000000000002 softirq=5450/5451 fqs=1822
[ 359.571003] (t=5250 jiffies g=4669 q=1714)
[ 359.575173] Task dump for CPU 0:
[ 359.578392] task:irq/43-2b10000. state:R running task stack: 0 pid: 149 ppid: 2 flags:0x000000
2a
[ 359.588289] Call trace:
[ 359.590739] dump_backtrace+0x0/0x1b0
[ 359.594393] show_stack+0x18/0x38
[ 359.597701] sched_show_task+0x150/0x178
[ 359.601615] dump_cpu_task+0x44/0x54
[ 359.605180] rcu_dump_cpu_stacks+0xb0/0xf0
[ 359.609268] rcu_sched_clock_irq+0x9d8/0xd18
[ 359.613532] update_process_times+0x60/0xa0
[ 359.617709] tick_sched_handle.isra.0+0x34/0x50
[ 359.622227] tick_sched_timer+0x4c/0xa8
[ 359.626053] __hrtimer_run_queues+0x114/0x1b8
[ 359.630397] hrtimer_interrupt+0xe8/0x248
[ 359.634398] arch_timer_handler_phys+0x34/0x48
[ 359.638831] handle_percpu_devid_irq+0x84/0x148
[ 359.643348] generic_handle_irq+0x30/0x48
[ 359.647344] __handle_domain_irq+0x64/0xc0
[ 359.651430] gic_handle_irq+0x58/0x128
[ 359.655167] el1_irq+0xcc/0x180
[ 359.658301] preempt_schedule_irq+0x48/0x88
[ 359.662471] arm64_preempt_schedule_irq+0x14/0x28
[ 359.667161] el1_irq+0xe4/0x180
[ 359.670292] irq_thread+0xe0/0x2e0
[ 359.673685] kthread+0x140/0x160
[ 359.676903] ret_from_fork+0x10/0x30