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.

[参考译文] AM69A:固件更新将 MCU CLKOUT0 从 25 更改为 50MHz

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1586276/am69a-fw-update-changed-mcu-clkout0-from-25-to-50-mhz

器件型号: AM69A

你好

meta-ti/scarhgap 最近的固件更新将 MCU_CLKOUT0 从 25 更改为 50MHz、打破了我们现有的软件、该软件依赖于该时钟来实现以太网 PHY。

`sYSFW ABI:4.0(固件版本 0x000b '11.1.8--v11.01.08(花哨 RAT)')`正常

`sYSFW ABI:4.0(固件版本 0x000b '11.2.2-v11.02.02(花哨 Rat)')`已损坏。

 

使用 k3conf 进行验证、`DEV_BOARD0_MCU_CLKOUT0_IN`不是 50MHz、工作配置_Before_固件更新:

root@aquila-am69-12593764:~# k3conf dump clock 157|grep MCU_CLK
| 157 | 174 | DEV_BOARD0_MCU_CLKOUT0_IN | CLK_STATE_READY | 25000000 |
| 157 | 175 | DEV_BOARD0_MCU_CLKOUT0_IN_PARENT_HSDIV4_16FFT_MCU_2_HSDIVOUT0_CLK5 | CLK_STATE_READY | 50000000 |
| 157 | 176 | DEV_BOARD0_MCU_CLKOUT0_IN_PARENT_HSDIV4_16FFT_MCU_2_HSDIVOUT0_CLK10 | CLK_STATE_READY | 25000000 |

 

有什么建议吗?

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

    尊敬的 FD:

    您可以尝试将父时钟从“157 176“更改为“157 175“。

    原始父时钟是否为“157 175“?

    此致、
    Jared

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

    Jared McArthur 更改了代码以重新正确配置时钟、并再次运行以太网。

    但是、这里我需要解决的要点是要了解为什么我们在 SYSFW 中进行了这样的更改、这是个问题、这种更改会为集成带来额外的工作量、并浪费时间来调试问题。

    -你有一个 SYSFW changelog 的地方吗?

    -这种改变是想要的和预期的吗? 如果是、您可以解释原因吗?

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

    尊敬的 FD:

    您在某处有 SYSFW 更改日志吗?

    我们在每个 SDK 版本中都提供了 SYSFW 版本说明。 例如、以下是 11.01 的发行说明。 但 11.02 SDK 尚未发布。

    是否需要和预期此更改? 如果是、您可以解释原因吗?

    已提交了一个错误、当我收到有关此更改是否有意更改的输入时、我会更新您。

    此致、
    Jared

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

    尊敬的 FD:

    我不确定 SYSFW 是否是问题。

    我使用 11.01.08 SYSFW 测试了 11.02 SDK、但仍然看到时钟为 50MHz(我将 tiboot3.bin、tispl.bin 和 u-boot.img 文件替换为 11.01.08 版本)。

    root@am69-sk:~# k3conf dump clock 157 174
    |----------------------------------------------------------------------------------------|
    | VERSION INFO                                                                           |
    |----------------------------------------------------------------------------------------|
    | K3CONF           | (version 0.3-nogit built Thu Oct 30 16:03:01 UTC 2025)              |
    | SoC              | J784S4 SR1.0                                                        |
    | SoC identifiers  | [0x2b21062d] fam: 0x0000000a base: 0x00000420                       |
    | DIE-ID           | [0] 0x413A0000 [1] 0x05004000 [2] 0x0800fb92 [3] 0x01026c2e         |
    | SYSFW            | ABI: 4.0 (firmware version 0x000b '11.1.8--v11.01.08 (Fancy Rat))') |
    | DM ABI Info      | 3.0                                                                 |
    | DM F/w rev       | 11.1.8                                                              |
    | DM Component rev | RM/PM HAL:'v11.01.08a' SCI_SERV:'PSDK.11.01.00.04'                  |
    | F/w Capabilities | 0x121: GEN DM_MGD_LPM DM-SPLT                                       |
    |----------------------------------------------------------------------------------------|
    
    |--------------------------------------------------------------------------------------|
    | Device ID | Clock ID | Clock Name                | Status          | Clock Frequency |
    |--------------------------------------------------------------------------------------|
    |   157     |   174    | DEV_BOARD0_MCU_CLKOUT0_IN | CLK_STATE_READY | 50000000        |
    |--------------------------------------------------------------------------------------|

    是否有任何其他更改?

    此致、
    Jared

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

    你好 Jared McArthur 。 我们将尝试在接下来的几天进行另一次检查、但这是我们必须进行的更改、以便在更新后使其再次工作。

    https://git.toradex.com/u-boot-toradex.git/commit/?h=toradex_ti-u-boot-2024.04&id=fd02608fd03c832b7c4bd4913928442bd416b046 

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

    您好 Jared McArthur 

    我将尝试解释我们回来时遇到的问题、因为我们的情况与 AM69-SK 上的情况不同。  

    对于 ETH PHY、我们需要一个 25MHz 时钟、该时钟由 MCU_CLKOUT0_IN 提供。 为了在 25MHz 上运行该工具、我们在 DT 中的“a72"节点“节点添加了正确的时钟描述。

                    assigned-clocks = <&k3_clks 61 0>, <&k3_clks 202 0>, <&k3_clks 157 174>;
                    assigned-clock-parents = <&k3_clks 61 2>, <0>, <&k3_clks 157 176>;
                    assigned-clock-rates = <200000000>, <2000000000>, <25000000>;

    此外、我们通过写入 CTRL_MMR_CFG0_MCU_CLKOUT0_CTRL 寄存器来启用 R5 SPL 中的 MCU_CLKOUT0_IN 时钟。

    这种组合可产生所需的输出。

    root@aquila-am69-12593557:~# k3conf dump clock 157|grep MCU_CLK
    |   157     |   174    | DEV_BOARD0_MCU_CLKOUT0_IN                                                           | CLK_STATE_READY     | 25000000        |
    |   157     |   175    | DEV_BOARD0_MCU_CLKOUT0_IN_PARENT_HSDIV4_16FFT_MCU_2_HSDIVOUT0_CLK5                  | CLK_STATE_READY     | 50000000        |
    |   157     |   176    | DEV_BOARD0_MCU_CLKOUT0_IN_PARENT_HSDIV4_16FFT_MCU_2_HSDIVOUT0_CLK10                 | CLK_STATE_READY     | 25000000        |

    从更新  

    `sYSFW ABI:4.0(固件版本 0x000b '11.1.8--v11.01.08(花哨 RAT)')`

    最终目的

    `sYSFW ABI:4.0(固件版本 0x000b '11.2.2-v11.02.02(花哨 Rat)')`

    它为我们提供了一个强制 50MHz、忽略了 DT 中的描述、并且没有通过写入 R5 SPL 中的寄存器来启用时钟。

    root@aquila-am69-12593557:~# k3conf dump clock 157|grep MCU_CLK
    |   157     |   174    | DEV_BOARD0_MCU_CLKOUT0_IN                                                           | CLK_STATE_READY     | 50000000        |
    |   157     |   175    | DEV_BOARD0_MCU_CLKOUT0_IN_PARENT_HSDIV4_16FFT_MCU_2_HSDIVOUT0_CLK5                  | CLK_STATE_READY     | 50000000        |
    |   157     |   176    | DEV_BOARD0_MCU_CLKOUT0_IN_PARENT_HSDIV4_16FFT_MCU_2_HSDIVOUT0_CLK10                 | CLK_STATE_READY     | 25000000        |


    该问题是由 SYSFW 更新引起的、可通过从 A72 SPL 写入 CTRL_MMR_CFG0_MCU_CLKOUT0_CTRL 寄存器来解决。 将时钟设置为 25MHz 并启用它。 无论出于何种原因、从 R5 SPL 执行的操作都没有向寄存器写入任何内容。


    git.toradex.com/.../

    我们想知道两个版本之间是否预计会发生这种变化、以及其背后的原因。

    一个 changelog 本来是一个很大的帮助,以了解发生了什么。

    此致

    Franz

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

    尊敬的 Franz Schnyder

    感谢您提供更多详细信息。 我现在可以重现此问题。

    我应用了以下补丁:

    From 99745992a799cc31a4db0bd49716e721a49220ad Mon Sep 17 00:00:00 2001
    From: Jared McArthur <j-mcarthur@ti.com>
    Date: Mon, 1 Dec 2025 14:50:21 -0600
    Subject: [PATCH 1/1] Set DEV_BOARD0_MCU_CLKOUT0_IN to 25MHzSigned-off-by: Jared McArthur <j-mcarthur@ti.com>
    ---
     arch/arm/dts/k3-j784s4-r5.dtsi | 10 +++++-----
     1 file changed, 5 insertions(+), 5 deletions(-)diff --git a/arch/arm/dts/k3-j784s4-r5.dtsi b/arch/arm/dts/k3-j784s4-r5.dtsi
    index 3f5352ed21a..75b62761af5 100644
    --- a/arch/arm/dts/k3-j784s4-r5.dtsi
    +++ b/arch/arm/dts/k3-j784s4-r5.dtsi
    @@ -19,11 +19,11 @@
             power-domains = <&k3_pds 61 TI_SCI_PD_EXCLUSIVE>,
                     <&k3_pds 202 TI_SCI_PD_EXCLUSIVE>;
             resets = <&k3_reset 202 0>;
    -        clocks = <&k3_clks 61 0>, <&k3_clks 202 0>;
    -        clock-names = "gtc", "core";
    -        assigned-clocks = <&k3_clks 61 0>, <&k3_clks 202 0>;
    -        assigned-clock-parents = <&k3_clks 61 2>;
    -        assigned-clock-rates = <200000000>, <2000000000>;
    +        clocks = <&k3_clks 61 0>, <&k3_clks 202 0>, <&k3_clks 157 174>;
    +        clock-names = "gtc", "core", "eth";
    +        assigned-clocks = <&k3_clks 61 0>, <&k3_clks 202 0>, <&k3_clks 157 174>;
    +        assigned-clock-parents = <&k3_clks 61 2>, <0>, <&k3_clks 157 176>;
    +        assigned-clock-rates = <200000000>, <2000000000>, <25000000>;
             ti,sci = <&sms>;
             ti,sci-proc-id = <32>;
             ti,sci-host-id = <10>;
    -- 
    2.34.1
    

    然后使用以下两个承诺测试 11.01.08 和 11.02.02 构建 tiboot3.bin:

    SYSFW 11.01.08 提供了以下内容:

    root@am69-sk:~# k3conf dump clock 157
    |----------------------------------------------------------------------------------------|
    | VERSION INFO                                                                           |
    |----------------------------------------------------------------------------------------|
    | K3CONF           | (version 0.3-nogit built Fri Jul 18 05:03:57 UTC 2025)              |
    | SoC              | J784S4 SR1.0                                                        |
    | SoC identifiers  | [0x2b21062d] fam: 0x0000000a base: 0x00000420                       |
    | DIE-ID           | [0] 0x413A0000 [1] 0x05004000 [2] 0x0800fb92 [3] 0x01026c2e         |
    | SYSFW            | ABI: 4.0 (firmware version 0x000b '11.1.8--v11.01.08 (Fancy Rat))') |
    | DM ABI Info      | 3.0                                                                 |
    | DM F/w rev       | 11.1.8                                                              |
    | DM Component rev | RM/PM HAL:'v11.01.08a' SCI_SERV:'PSDK.11.01.00.04'                  |
    | F/w Capabilities | 0x121: GEN DM_MGD_LPM DM-SPLT                                       |
    |----------------------------------------------------------------------------------------|
    
    |----------------------------------------------------------------------------------------------------------------------------------------------------|
    | Device ID | Clock ID | Clock Name                                                                          | Status              | Clock Frequency |
    |----------------------------------------------------------------------------------------------------------------------------------------------------|
    ...
    |   157     |   174    | DEV_BOARD0_MCU_CLKOUT0_IN                                                           | CLK_STATE_READY     | 25000000        |
    |   157     |   175    | DEV_BOARD0_MCU_CLKOUT0_IN_PARENT_HSDIV4_16FFT_MCU_2_HSDIVOUT0_CLK5                  | CLK_STATE_READY     | 50000000        |
    |   157     |   176    | DEV_BOARD0_MCU_CLKOUT0_IN_PARENT_HSDIV4_16FFT_MCU_2_HSDIVOUT0_CLK10                 | CLK_STATE_READY     | 25000000        | 

    SYSFW 11.02.02 提供以下内容:

    root@am69-sk:~# k3conf dump clock 157
    |----------------------------------------------------------------------------------------|
    | VERSION INFO                                                                           |
    |----------------------------------------------------------------------------------------|
    | K3CONF           | (version 0.3-nogit built Fri Jul 18 05:03:57 UTC 2025)              |
    | SoC              | J784S4 SR1.0                                                        |
    | SoC identifiers  | [0x2b21062d] fam: 0x0000000a base: 0x00000420                       |
    | DIE-ID           | [0] 0x413A0000 [1] 0x05004000 [2] 0x0800fb92 [3] 0x01026c2e         |
    | SYSFW            | ABI: 4.0 (firmware version 0x000b '11.2.2--v11.02.02 (Fancy Rat))') |
    | DM ABI Info      | 3.0                                                                 |
    | DM F/w rev       | 11.1.8                                                              |
    | DM Component rev | RM/PM HAL:'v11.01.08a' SCI_SERV:'PSDK.11.01.00.04'                  |
    | F/w Capabilities | 0x121: GEN DM_MGD_LPM DM-SPLT                                       |
    |----------------------------------------------------------------------------------------|
    
    |----------------------------------------------------------------------------------------------------------------------------------------------------|
    | Device ID | Clock ID | Clock Name                                                                          | Status              | Clock Frequency |
    |----------------------------------------------------------------------------------------------------------------------------------------------------|
    ...
    |   157     |   174    | DEV_BOARD0_MCU_CLKOUT0_IN                                                           | CLK_STATE_READY     | 50000000        |
    |   157     |   175    | DEV_BOARD0_MCU_CLKOUT0_IN_PARENT_HSDIV4_16FFT_MCU_2_HSDIVOUT0_CLK5                  | CLK_STATE_READY     | 50000000        |
    |   157     |   176    | DEV_BOARD0_MCU_CLKOUT0_IN_PARENT_HSDIV4_16FFT_MCU_2_HSDIVOUT0_CLK10                 | CLK_STATE_READY     | 25000000        | 


    我们想知道两个版本之间是否会发生此更改、以及其背后的原因。
    [/报价]

    这不是两个版本之间的预期结果。 我已更新内部 TT、并将继续在内部监控/询问详细信息。


    您是否有理由在 a72_0 节点中添加时钟?

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有理由在 a72_0 节点中添加时钟?

    这是配置时钟的最简单方法。

     “我知道,我们不会告辞的。“ 我们之所以提出这个问题、是因为这种固件行为的破坏更改对我们来说有问题、我们希望尽可能减少将来再次发生这种情况的机会。

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

    尊敬的 FD:

    我明白。 不应发生固件行为的变化、已提交申请单以了解此行为发生/发生的原因。

    个人理论是旧固件解锁了 ctrl MMRS、而新固件锁了它们、并且在其他 U-boot 代码解锁 ctrl MMRS 之前写入了时钟寄存器、但我没有测试过这个理论。

    如果您保留/使用您的解决方案/解决方案、我们可以关闭此主题。

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您保留/使用您的变通办法/解决方案、我们可以关闭此主题。

    我同意保留我们实施的当前解决方案。

    理想情况下、我会要求您准备好一些措施、以尽量减少将来再次发生类似情况的风险。 对我来说、实现这一目标的第一步是报告它并确保您的开发团队了解它。 接下来的步骤。

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

    尊敬的 FD:

    我确认更改是由于较新的 sysfw 版本锁定了 Ctrl MMRS。  11.01.08 sysfw 使 Ctrl MMRS 解锁。

    开发团队意识到这一变化、但这种行为是意料之外的。

    此致、
    Jared