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.

[参考译文] AM62A7-Q1:从 SD 卡引导时的 DDR 初始化

Guru**** 2489685 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1552950/am62a7-q1-ddr-initialization-while-booting-from-the-sd-card

器件型号:AM62A7-Q1


工具/软件:

尊敬的 TI 专家:

我们有参考 EVK 的定制胡须。 我正尝试从 SD 卡进行引导  

在下面连接的日志板卡住之后  

我们的 DDR 不同于 EVK。 在 EVK 中、DDR 是双列、在我们的定制电路板中、我们有单列。

我们按照以下线程更改了 DDR 配置。 但我们仍然无法从 SD 卡引导。

 AM62A7:u-boot dts 文件中的 RAM 大小配置 

在我们的示例中、DDR 大小与 EVK 中使用的大小相同 (4GB)。 唯一的区别是我们有 DDR 单列。

我已对 EVK u-boot 源进行了以下更改、以将 DDR 从双列更改为单列。

之前的设置 k3-am62a7-sk.dts

内存@80000000{
device_type =“存储器“;
/* 4G RAM */
REG =<0x00000000 0x80000000 0x00000000 0x80000000>、
<0x00000008 0x80000000 0x00000000 0x80000000>;
};

新设置 k3-am62a7-sk.dts
内存@80000000{
device_type =“存储器“;
/* 4G RAM */
REG =<0x00000000 0x80000000 0x00000000 0x1000000>;
};

  还将 CONFIG_NR_DRAM_BANK=2 更改为 CONFIG_NR_DRAM_BANK=1  

在 k3-am62a7-r5-sk.dts 中设置

内存@80000000{
device_type =“存储器“;
-/* 4G RAM */
- reg =<0x00000000 0x80000000 0x00000000 0x80000000>、
-<0x00000008 0x80000000 0x00000000 0x80000000>;
+/* 4G RAM */
+ reg =<0x00000000 0x80000000 0x00000000 0x1000000>;
bootph-pre-ram;
};

是否需要进行任何其他更改?

我所做的这些设置是否正确?

谢谢  

Satyajeet Singh

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

    您还必须使用 DDR 寄存器配置工具 ( https://dev.ti.com/sysconfig/?product=Processor_DDR_Config&device=AM62Ax ) 正确配置 DDR 控制器/PHY 以进行信号等级操作。  有关说明、请查看工具中的自述文件。

    此致、

    James

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

    我更改了配置。 UART 引导上使用相同的配置。

    在 UART 引导模式下、我替换了 board_ddrReginit.h

    对于 Yocto 构建中的 SD 卡、我将 k3-am62Ax-ddr-config.dtsi 替换为 k3-am62a-ddr-1866MHz-32bit.dtsi 并重命名。

    附了 DDR 配置屏幕截图  

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

    因此、您能够使用新生成的 DDR 配置使用 UART 进行引导?  但不与 SD 卡?

    您能否发送正常工作的 UART 引导日志?

    您可以发送 DDR 器件型号吗?

    此致、

    James

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

    问:那么、您能够使用新生成的 DDR 配置通过 UART 进行引导?

    “是的,我可以用 UART 启动

    我已经运行了用于 OSPI 测试的示例代码。 下面附上了 UART 日志:-

    DDR 部件号是--  MT53E1G32D2FW-046 AAT:C

    我使用的是 SDK 版本 9.02、在 Yocto 构建中、我更改了以下路径中的 DDR 配置:-

    /build/arago-tmp-default-glibc/work/am62axx_evm-oe-linux/linux-ti-staging/6.1.80 +gitAUTOINC+2e423244f8-r0b.arago5_tisdk_3_edgeai_0_edgeai_8/packagessplit/linux-ti-staging-linux-kernel-6.1.80+gitAUTOINC+2e423244f8-ti/arch/arm664/boot/dts.k3-common/dts.k3 src

    我的问题是、我是否也应该在以下路径上更改?

    /build/arago-tmp-default-baremetal-k3r5/work/am62axx_evm_k3r5-oe-eabi/u-boot-ti-staging/1_2023.04 +gitAUTOINC+f9b966c674-r0_tisdk_3_edgeai_4/srcipk-staging/board-support/ti-u-boot-2023.04+gitAUTOINC+f9b966c674/arch/dts/k3-am62x-sk-common.dtsi

    此致、  

    Satyajeet Singh

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

    是的、EVM 电路板的配置为 arch/arm/dts/k3-am62a-ddr-1866MHz-32bit.dtsi。  您需要将此文件替换为该工具生成的文件。  如果更改了名称、请确保将其包含在 k3-am62a7-r5-sk.dts 中

    此致、

    James

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

    我也更改了该文件、但电路板仍然卡在同一阶段。

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

    好的、我很困惑。  您可以使用 UART 进行引导、并且在上面附加了成功的日志。  UART 引导看起来使用 RTOS、那么您使用了什么配置文件?

    您应该能够使用相同的 DDR 配置进行 SD 卡引导、但文件格式不同 (.dtsi)。  这是你所做的吗?

    您是否还可以尝试添加此处描述的补丁: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1358039/faq-board-bring-up-tips-for-sitara-devices-am64x-am243x-am62x-am62l-am62ax-am62d-q1-am62px#:~:text=Getting%20DDR%20register%20dump%20after%20initialization%C2%A0

    并从控制台中发布寄存器转储。

    此致、

    James

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

    出现了一些构建问题。 现在、我能够初始化 DDR。

    感谢您的支持。