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.

[参考译文] AM62P:如何在 uboot 或内核代码?中将 EMMC 频率修改为125MHz

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

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1460422/am62p-how-to-modify-the-emmc-frequency-to-125mhz-in-uboot-or-kernel-code

器件型号:AM62P

工具与软件:

尊敬的工程师 TI

我们需要将 EMMC 的频率更改为125MHz、当前使用的方法是使用 devmem2工具直接修改寄存器、但这种方法仅适用于调试阶段、在正式版本的软件中、无法接受此类配置、所以、我们想问它是否可以在 uboot 或内核代码中修改?

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

    您好!

    [quote userid="620517" url="~/support/processors-group/processors/f/processors-forum/1460422/am62p-how-to-modify-the-emmc-frequency-to-125mhz-in-uboot-or-kernel-code 当前使用的方法是使用 devmem2工具直接修改寄存器

    您能在此处列出您正在执行的确切步骤吗?

    谢谢!

    Prashant

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

    您好!

      我们使用的当前命令为:  devmem2 0x682088 w 0x800f

    但我在 AM62P 数据表中找不到此寄存器的定义、这只是您同事建议让我们配置此寄存器。

    我希望能就如何在引导代码或内核代码中配置 eMMC 频率提供一些建议。

    此致

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

    您好!

    您能否尝试使用以下补丁将 eMMC 频率降低到125MHz?

    diff --git a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
    index f8915d7a9c6b..796329c41d7d 100644
    --- a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
    +++ b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
    @@ -612,6 +612,7 @@ sdhci0: mmc@fa10000 {
                    clock-names = "clk_ahb", "clk_xin";
                    assigned-clocks = <&k3_clks 57 2>;
                    assigned-clock-parents = <&k3_clks 57 4>;
    +               assigned-clock-rates = <125000000>;
                    bus-width = <8>;
                    mmc-ddr-1_8v;
                    mmc-hs200-1_8v;

    diff --git a/drivers/mmc/host/sdhci_am654.c b/drivers/mmc/host/sdhci_am654.c
    index 1062f9d62b05..5e89e4b8de01 100644
    --- a/drivers/mmc/host/sdhci_am654.c
    +++ b/drivers/mmc/host/sdhci_am654.c
    @@ -641,7 +641,8 @@ static struct sdhci_ops sdhci_j721e_8bit_ops = {
     
     static const struct sdhci_pltfm_data sdhci_j721e_8bit_pdata = {
            .ops = &sdhci_j721e_8bit_ops,
    -       .quirks = SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12,
    +       .quirks = SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 |
    +                 SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN,
            .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
     };

    此致、

    Prashant

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

    您好、

    在我按您提供的方式修改了修补程序并使用 k3conf 转储进行查看后、似乎修改成功了。 感谢您的帮助!
    在:之前

    在:μ s 后

    此致、

    Bruce

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

    Prashant、您好!

    是否可以通过这种方式将 eMMC 更改为任意频率?

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

    不是 Tony、它必须采用其 PLL 或分频器允许的频率。