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.

[参考译文] SK-AM62A-LP:需要 MCU-R5内核时钟频率相关信息(SK-AM62A-LP)

Guru**** 2465890 points
Other Parts Discussed in Thread: AM62P

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1367141/sk-am62a-lp-need-mcu-r5-core-clock-frequency-related-information-sk-am62a-lp

器件型号:SK-AM62A-LP
主题中讨论的其他器件:AM62P

工具与软件:

大家好、
请提供以下有关 MCU-R5内核的详细信息。
  1. 我们如何检查 MCU-R5内核的当前 MCU 内核时钟频率值?
  2. 我们如何配置或更改 MCU-R5内核时钟频率?
     
注意: 我们在 MCU-R5内核上运行应用程序、 以及在 A-53内核上运行 Linux。
谢谢。
尼萨尔格
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [quote userid="598515" url="~/support/processors-group/processors/f/processors-forum/1367141/sk-am62a-lp-need-mcu-r5-core-clock-frequency-related-information-sk-am62a-lp 如何检查 MCU-R5内核的当前 MCU-Core 时钟频率值?

    您可以按如下方式使用`k3conf`工具(示例来自 AM62P、但也应类似地适用于 AM62A):

    root@am62pxx-evm:~# k3conf dump clock | grep -i DEV_MCU_R5FSS
    |     9     |     0    | DEV_MCU_R5FSS0_CORE0_CPU0_CLK                                                                | CLK_STATE_READY     | 800000000       |
    |     9     |     1    | DEV_MCU_R5FSS0_CORE0_INTERFACE0_CLK                                                          | CLK_STATE_READY     | 800000000       |

    [quote userid="598515" url="~/support/processors-group/processors/f/processors-forum/1367141/sk-am62a-lp-need-mcu-r5-core-clock-frequency-related-information-sk-am62a-lp 如何配置或更改 MCU-R5内核时钟频率?

    这里有一个主题介绍如何将其设置为25MHz (https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1301570/sk-am62a-lp-power-consumption-by-turning-off-mcu-domain)、但让我与另一位团队成员确认一下、看看是否有更通用的方法来执行此操作并返回。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此处有一个主题显示如何将其设置为25MHz (https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1301570/sk-am62a-lp-power-consumption-by-turning-off-mcu-domain),但让我与另一个团队成员确认是否有更通用的方法来执行此操作并返回。

    我使用其中一些进行了实验、为了进行测试、最简单的方法是使用`k3conf`工具直接从命令行更改 MCU R5F 内核频率、例如将其设置为200MHz (通过800MHz):

    root@am62axx-evm:~# k3conf set clock 9 0 200000000
    |------------------------------------------------------------------------------|
    | VERSION INFO                                                                 |
    |------------------------------------------------------------------------------|
    | K3CONF | (version 0.3-nogit built Fri Oct 06 12:20:16 UTC 2023)              |
    | SoC    | AM62Ax SR1.0                                                        |
    | SYSFW  | ABI: 3.1 (firmware version 0x0009 '9.1.8--v09.01.08 (Kool Koala))') |
    |------------------------------------------------------------------------------|
    
    |------------------------------------------------------------------------------------------------|
    | Device ID | Clock ID | Clock Name                          | Status          | Clock Frequency |
    |------------------------------------------------------------------------------------------------|
    |     9     |     0    | DEV_MCU_R5FSS0_CORE0_CPU0_CLK       | CLK_STATE_READY | 200000000       |
    |     9     |     1    | DEV_MCU_R5FSS0_CORE0_INTERFACE0_CLK | CLK_STATE_READY | 200000000       |
    |------------------------------------------------------------------------------------------------|

    若要使其永久不变、应可使用器件树来实现。

    此致、Andreas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    要使此永久化,应可使用设备树来实现。

    以下是如何通过器件树条目更改频率(相同的示例、200MHz):

    a0797059@dasso:~/git/linux (ti-linux-6.1.y)
    $ git diff
    diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
    index 21b828ab628e..a572e598ad42 100644
    --- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
    +++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
    @@ -882,6 +882,12 @@ &wkup_r5fss0_core0 {
                    <&wkup_r5fss0_core0_memory_region>;
     };
    
    +&mcu_r5fss0 {
    +       /* Set DEV_MCU_R5FSS0_CORE0_CPU0_CLK to 200MHz */
    +       assigned-clocks = <&k3_clks 9 0>;
    +       assigned-clock-rates = <200000000>;
    +};
    +
     &mcu_r5fss0_core0 {
            mboxes = <&mailbox0_cluster2 &mbox_mcu_r5_0>;
            memory-region = <&mcu_r5fss0_core0_dma_memory_region>,

    然后、在启动电路板后、您可以`k3conf`工具查询与 MCU R5F 关联的时钟 ID、按如下方式验证频率:

    root@am62axx-evm:~# k3conf dump clock 9
    |------------------------------------------------------------------------------|
    | VERSION INFO                                                                 |
    |------------------------------------------------------------------------------|
    | K3CONF | (version 0.3-nogit built Fri Oct 06 12:20:16 UTC 2023)              |
    | SoC    | AM62Ax SR1.0                                                        |
    | SYSFW  | ABI: 3.1 (firmware version 0x0009 '9.1.8--v09.01.08 (Kool Koala))') |
    |------------------------------------------------------------------------------|
    
    |------------------------------------------------------------------------------------------------|
    | Device ID | Clock ID | Clock Name                          | Status          | Clock Frequency |
    |------------------------------------------------------------------------------------------------|
    |     9     |     0    | DEV_MCU_R5FSS0_CORE0_CPU0_CLK       | CLK_STATE_READY | 200000000       |
    |     9     |     1    | DEV_MCU_R5FSS0_CORE0_INTERFACE0_CLK | CLK_STATE_READY | 200000000       |
    |------------------------------------------------------------------------------------------------|

    (请注意、要使频率变化成为活动状态、您可能需要在`/lib/firmware/am62a-mcu-r5f0_0-fw`中提供 MCU R5F 固件文件、以确保驱动程序探针成功完成。 我的系统有这样的固件文件;我没有尝试没有固件文件)

    此致、Andreas