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.

[参考译文] AM3352:AM335 uboot 不符合 DDR3 初始化规范

Guru**** 2916330 points

Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1647767/am3352-am335-uboot-do-not-compily-with-ddr3-initialization-spec

器件型号: AM3352

你(们)好  

最近、当使用 TI AM335X 芯片控制 DDR3 时、我们发现复位信号上升沿与 CKE 信号上升沿之间的时间仅为 112µs、这不符合 DDR3 标准。

我在阅读代码后进行了以下实验。

实验 1:按顺序执行以下命令:(1) SDRAM_REF_CTRL = 0x80003100;(2) SDRAM_CONFIG = 0x61C04AB2;(3) SDRAM_REF_CTRL = 0x00003100;(4) 延迟 1ms。 我们发现复位信号和 CKE 的交互时间为 112us、这不符合标准。

实验 2:按顺序执行以下命令:(1) SDRAM_REF_CTRL = 0x80003100;(2) SDRAM_REF_CTRL = 0x00003100;(3) SDRAM_CONFIG = 0x61C04AB2;(4) 延迟 1ms。 我们发现复位信号和 CKE 具有 600us 的交互时间、这符合标准。 我们的 DDR3 时钟速度为 303MHz。 我不理解为什么必须在 SDRAM_CONFIG = 0x61C04AB2 之前放置 SDRAM_REF_CTRL= 0x00003100 操作以确保 DDR3 复位初始化之间的预期时隙、例如设置信号和 CKE。

您可以通过下载最新的 U-Boot 代码轻松找到此代码;文件路径为

您可以修改 CONFIG_SDRAM 函数。

下图来自 AM3352 手册的第 7.3.3.6.2 节 DDR3 初始化。 该手册明确规定此时间应超过 500µs;理论上、默认 u-boot 代码在 RESET 和 CBE 上升沿之间实现的时间间隔应超过 500µs。

但实际上、u-boot 软件执行时间仅为 112µs。 需要调整执行寄存器顺序以实现超过 500µs 的时间间隔。

 

谢谢  

Zekun