This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PROCESSOR-SDK-J722S:启用音频时、TI-Linux 6.12 崩溃

Guru**** 2430620 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1525405/processor-sdk-j722s-ti-linux-6-12-crashes-when-audio-is-enabled

器件型号:PROCESSOR-SDK-J722S


工具/软件:

您好、当我的设备树中的音频支持启用时、我会看到以下内核错误。 我使用 git.ti.com/.../ti-linux-kernel.git 中的 Linux 内核 bran ch ti-linux-6.12.y。

[12.431855]内部错误:同步外部中止:0000000096000010 [#1] Prept SMP
 [ 12.443526]链接的模块:cdns3 
G O 6.12.22-ti-g47998d7b6023 #1 [12.532799]
污染:[O]=OOT_MODULE
 [12.538181]硬件名称



:Kontron Kontron SMARC-sAM67/Kontron SMARC-sAM67/ Kontron SMARC-s6023 #1 [12.527-rc3-g61c5788ff89 2025年07月01日[12.55247184c –800001c/ tc1c+1c1c1c=1c1c/ tc/ tc4757127571800718004c/ tc/ 




ffffb0a5bc48d000 x16: ffffff80008000000000 x15: ffffff61a57ef51240
 [ 12.62383] x14: 0000000000000000 x13: 0000000000000000000003cb
 x12: ffff61a57ef932c0 [12.6360] x11:
 0000000000000000000000

:0000000000 x 61ff000000:00001:00001:000000:000000:000000 x 1:000000 x 1:000000:000000 x 1:1:000000 x 1:00001:000000 x 1:1:1 

[12.672027] xhci_IRQ+0x270/0x127c
 [12.677033] usb_hcd_irq+0x30/0x4c
 [12.681993/] 

















-
[ 12.782164]内核严重错误 — 未同步:同步外部中止:中断中的致命异常[12.793182]

 SMP:停止辅助 CPU [13.871260] SMP:无法停止辅助


 CPU 1 [13.877016]

内核偏移:0x30ff418a0000 来自 0xff80008000000000 [13.884256] phys_offset:0xff09e6480000407-非致命中断 CPU 中断[13.90000009500407-外部中断 CPU 中断[13.009500420091800950095004]- 


这是我在崩溃发生时应用的设备树叠加层:

&{/}{
声音{
compatible =“simple-audio-card";“;
简单音频卡、小工具=
“耳机“、“耳机插孔“、
“线路“、“线路输出插孔“、
“麦克风“、“麦克风插孔“、
“线路“、“线路输入插孔“;
简单音频卡、路由=
“Line Out Jack“、“LINEOUTR",“,</s>、
“Line Out Jack“、“LINEOUTL “、
“耳机插孔“、“HPOUTR",“,</s>、
“耳机插孔“、“HOUTL “、
“IN1L",“,"Line、"Line In“ In Jack“、
“IN1R",“,"Line、"Line In“ In Jack“、
“麦克风插孔“、“MICBIAS",“,</s>、
“IN2L",“,"、"麦克风“麦克风插孔“、
“IN2R",“,"、"麦克风“麦克风插孔“;
简单音频卡、MCLK-FS =<256>;
简单音频卡、格式=“I2S_";“;
simple-audio-card、bitclock-master =<&dailink0_master>;
simple-audio-card、frame-master =<&dailink0_master>;

简单音频卡、CPU{
Sode-Dai =<&McASP0>;
};

dailink0_master:simple-audio-card、codec{
sound-dai =<&wm8904>;
时钟=<&AUDIO_refclk0>;
};
};
};

&AUDIO_refclk0{
状态=“正常“;
};
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Heiko、

    您的设备树似乎缺少几项。

    • Pinmux
    • 编解码器
    • McASP 节点

    您能否查看以下设备树? 器件、编解码器和 McASP 节点将有所不同、但结构相同。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1501141/tda4vm-mcasp1-can-not-work/5776406#5776406 

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    否、节点存在。 上面我只是展示了安装了声音部件(编解码器和护套)的载板的使用覆盖层。 但如果你是对的,有什么缺失,内核不应该崩溃. 还是我错了?

    Pinmux: https://github.com/kontron/linux-smarc-sam67/blob/master/arch/arm64/boot/dts/ti/k3-am67a-kontron-sa67.dts#L661

    编解码器: github.com/.../k3-am67a-kontron-sa67-ads2.dtso

    McASP: github.com/.../k3-am67a-kontron-sa67-ads2.dtso

    BR、

    Heiko

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Heiko、

    根据日志、USB 导致崩溃。 您与覆盖层中的 USB 引脚是否有任何冲突?

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jared、

    我看不到音频和 USB 引脚存在任何冲突。 这样一来、使用主线内核时、似乎也会发生同样的情况。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Heiko、

    只有在启用音频设备树时才会出现这种情况吗? 在没有设备树的情况下运行时、它是否可以正常引导?

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jared、

    禁用/删除声音/音频节点时不会出现问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Heiko、

    您的 AUDIO_refclk0 是否使用正确的时钟标识符进行了编程?

    https://software-dl.ti.com/tisci/esd/latest/5_soc_doc/j722s/clocks.html 

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jared、

    是、这已编程。  已由已上流的修补程序启用: https://lore.kernel.org/all/20250618090724.1917731-1-mwalle@kernel.org/

    --

    Heiko

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Heiko、

    我将尝试测试类似的设备树、并查看是否可以重新创建您的问题。

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jared、

    同时,我们发现当音频启用、播放声音和插入 USB3.0 集线器或设备时会发生这种情况。

    --

    Heiko

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Heiko、

    我无法重新创建您的问题。  下面是我在 j722s-EVM 上切换到 AUDIO_refclk0 的补丁:

    From 74f1bb9dcbc4c35648c1e324443f355498c899a7 Mon Sep 17 00:00:00 2001
    From: Jared McArthur <j-mcarthur@ti.com>
    Date: Thu, 10 Jul 2025 18:04:44 -0500
    Subject: [PATCH 1/1] Add audio_refclk0 and switch codec's clock from
     audio_refclk1 to audio_refclk0
    
    Signed-off-by: Jared McArthur <j-mcarthur@ti.com>
    ---
     arch/arm64/boot/dts/ti/k3-j722s-evm.dts   | 2 +-
     arch/arm64/boot/dts/ti/k3-j722s-main.dtsi | 9 +++++++++
     2 files changed, 10 insertions(+), 1 deletion(-)
    
    diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
    index 6169b2c9710f..e8b378634e0f 100644
    --- a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
    +++ b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
    @@ -227,7 +227,7 @@ simple-audio-card,cpu {
     
     		sound_master: simple-audio-card,codec {
     			sound-dai = <&tlv320aic3106>;
    -			clocks = <&audio_refclk1>;
    +			clocks = <&audio_refclk0>;
     		};
     	};
     
    diff --git a/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi b/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi
    index 25287bb68e86..b90360a64855 100644
    --- a/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi
    +++ b/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi
    @@ -434,6 +434,15 @@ serdes_ln_ctrl: mux-controller@4080 {
     				<0x10 0x3>; /* SERDES1 lane0 select */
     	};
     
    +	audio_refclk0: clock@82e0 {
    +		compatible = "ti,am62-audio-refclk";
    +		reg = <0x82e0 0x4>;
    +		clocks = <&k3_clks 157 0>;
    +		assigned-clocks = <&k3_clks 157 0>;
    +		assigned-clock-parents = <&k3_clks 157 15>;
    +		#clock-cells = <0>;
    +	};
    +
     	audio_refclk1: clock@82e4 {
     		compatible = "ti,am62-audio-refclk";
     		reg = <0x82e4 0x4>;
    -- 
    2.34.1

    我还插入了一个 USB 3.0 闪存驱动器:

    root@j722s-evm:~# lsblk
    NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
    sda            8:0    1 58.6G  0 disk 
    `-sda1         8:1    1 58.6G  0 part /run/media/test-usb-sda1
    mtdblock0     31:0    0  512K  0 disk 
    mtdblock1     31:1    0    2M  0 disk 
    mtdblock2     31:2    0    4M  0 disk 
    mtdblock3     31:3    0  256K  0 disk 
    mtdblock4     31:4    0  256K  0 disk 
    mtdblock5     31:5    0 55.8M  0 disk 
    mtdblock6     31:6    0  256K  0 disk 
    mmcblk0      179:0    0 29.6G  0 disk 
    mmcblk0boot0 179:32   0 31.5M  1 disk 
    mmcblk0boot1 179:64   0 31.5M  1 disk 
    mmcblk1      179:96   0 14.8G  0 disk 
    |-mmcblk1p1  179:97   0  128M  0 part /run/media/boot-mmcblk1p1
    `-mmcblk1p2  179:98   0  8.9G  0 part /

    然后我跑了一个游戏:

    root@j722s-evm:~# aplay -Dplughw:0,0 /dev/random
    Playing raw data '/dev/random' : Unsigned 8 bit, Rate 8000 Hz, Mono

    我没有看到任何内核错误。 我在启动时也没有看到内核错误。

    您的硬件可能有问题。

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、您是否尝试在 播放音频时放入 USB 3.0 集线器或其他设备?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Heiko、

    您好、您是否在 播放音频时尝试将 USB 3.0 集线器或其他设备放入?

    是的。 我在你面前的答复中指出了这一点。 它已安装到 /run/media/test-usb-sda1 上

    您对软件和硬件做了哪些修改?

    此致、
    Jared