Tool/software:
Hi, I see the following kernel panic when the audio support in my device tree is enabled. I use the linux kernel bran ch ti-linux-6.12.y from git.ti.com/.../ti-linux-kernel.git.
[ 12.431855] Internal error: synchronous external abort: 0000000096000010 [#1] PREEMPT SMP
[ 12.443526] Modules linked in: cdns3 overlay cdns_usb_common snd_soc_simple_card snd_soc_simple_card_utils crct10dif_ce reset_gpio cfg80211 pci_endpoint_test panel_simple pvrsrvkm(O) cdns3_ti k3_j72xx_bandgap rti_wdt wave5 videobuf2_dma_contig at24 snd_soc_wm8904 tidss v4l2_mem2mem m_can_platform spi_omap2_mcspi videobuf2_v4l2 drm_dma_helper m_can videobuf2_memops bluetooth rtc_ti_k3 drm_display_helper videobuf2_common can_dev drm_kms_helper ecdh_generic videodev ecc rfkill mcrc64 sa2ul snd_soc_davinci_mcasp mc snd_soc_ti_udma rtc_pcf85063 snd_soc_ti_edma pwm_tiehrpwm snd_soc_ti_sdma omap_hwspinlock pwm_bl cryptodev(O) fuse drm drm_panel_orientation_quirks backlight ipv6
[ 12.519461] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Tainted: G O 6.12.22-ti-g47998d7b6023 #1
[ 12.532799] Tainted: [O]=OOT_MODULE
[ 12.538181] Hardware name: kontron Kontron SMARC-sAM67/Kontron SMARC-sAM67, BIOS 2025.07-rc3-g6c5788ff89 07/01/2025
[ 12.552472] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 12.561437] pc : xhci_irq+0x270/0x127c
[ 12.567178] lr : xhci_irq+0x38/0x127c
[ 12.572785] sp : ffff800080003e80
[ 12.578045] x29: ffff800080003e80 x28: ffff61a40929b000 x27: ffff800081427f70
[ 12.587163] x26: ffff61a4092b4284 x25: 0000000000000000 x24: ffff61a407215578
[ 12.596260] x23: ffff800082a20490 x22: ffff61a4092b4c48 x21: ffff61a404ced060
[ 12.605330] x20: 0000000000000000 x19: ffff61a4092b4240 x18: 0000000000000000
[ 12.614369] x17: ffffb0a5bc48d000 x16: ffff800080000000 x15: ffff61a57ef51240
[ 12.623383] x14: 0000000000000000 x13: 00000000000003cb x12: ffff61a57ef932c0
[ 12.632360] x11: 0000000000000040 x10: ffff61a400012170 x9 : ffff61a400012168
[ 12.641304] x8 : ffff61a402201b88 x7 : 0000000000000000 x6 : 0000000000000000
[ 12.650235] x5 : ffff61a402201b60 x4 : 0000000000000000 x3 : 0000000000000078
[ 12.659110] x2 : ffff61a40929b000 x1 : ffff61a407215500 x0 : 0000000000000078
[ 12.667945] Call trace:
[ 12.672027] xhci_irq+0x270/0x127c
[ 12.677033] usb_hcd_irq+0x30/0x4c
[ 12.681993] __handle_irq_event_percpu+0x48/0x13c
[ 12.688237] handle_irq_event+0x4c/0xa8
[ 12.693561] handle_fasteoi_irq+0xa4/0x230
[ 12.699101] handle_irq_desc+0x40/0x58
[ 12.704243] generic_handle_domain_irq+0x1c/0x28
[ 12.710228] gic_handle_irq+0x54/0xd0
[ 12.715210] call_on_irq_stack+0x24/0x4c
[ 12.720416] do_interrupt_handler+0x80/0x8c
[ 12.725859] el1_interrupt+0x34/0x68
[ 12.730665] el1h_64_irq_handler+0x18/0x24
[ 12.735988] el1h_64_irq+0x64/0x68
[ 12.740565] default_idle_call+0x28/0x3c
[ 12.745628] do_idle+0x200/0x258
[ 12.749953] cpu_startup_entry+0x34/0x3c
[ 12.754966] kernel_init+0x0/0x1d4
[ 12.759445] start_kernel+0x554/0x6a0
[ 12.764192] __primary_switched+0x80/0x88
[ 12.769275] Code: eb0202df 54002e80 f8606837 f9400adc (b94002f7)
[ 12.776462] ---[ end trace 0000000000000000 ]---
[ 12.782164] Kernel panic - not syncing: synchronous external abort: Fatal exception in interrupt
[ 12.793182] SMP: stopping secondary CPUs
[ 13.871260] SMP: failed to stop secondary CPUs 1
[ 13.877016] Kernel Offset: 0x30ff418a0000 from 0xffff800080000000
[ 13.884256] PHYS_OFFSET: 0xfff09e6480000000
[ 13.889604] CPU features: 0x00,00000090,00200000,4200420b
[ 13.896195] Memory Limit: none
[ 13.900407] ---[ end Kernel panic - not syncing: synchronous external abort: Fatal exception in interrupt ]---
This is the device-tree overlay that I've applied when the crash happens:
&{/} {
sound {
compatible = "simple-audio-card";
simple-audio-card,widgets =
"Headphone", "Headphone Jack",
"Line", "Line Out Jack",
"Microphone", "Microphone Jack",
"Line", "Line In Jack";
simple-audio-card,routing =
"Line Out Jack", "LINEOUTR",
"Line Out Jack", "LINEOUTL",
"Headphone Jack", "HPOUTR",
"Headphone Jack", "HPOUTL",
"IN1L", "Line In Jack",
"IN1R", "Line In Jack",
"Microphone Jack", "MICBIAS",
"IN2L", "Microphone Jack",
"IN2R", "Microphone Jack";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink0_master>;
simple-audio-card,frame-master = <&dailink0_master>;
simple-audio-card,cpu {
sound-dai = <&mcasp0>;
};
dailink0_master: simple-audio-card,codec {
sound-dai = <&wm8904>;
clocks = <&audio_refclk0>;
};
};
};
&audio_refclk0 {
status = "okay";
};