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:多 DDR 设置

Guru**** 2807525 points

Other Parts Discussed in Thread: AM62P, TMDS64EVM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1616350/am62p-multiple-ddr-settings

部件号: AM62P
Thread 中讨论的其他器件: SK-AM64BTMDS64EVM

尊敬的 Sitara Apps 团队:  

 

在客户 behalv 上发帖:  

 

由于潜在的 RAM 短缺、我们计划在我们的项目中引入多个 DDR 替代方案。

因为不同的 DDR 具有不同的参数、应根据正确的内存性能进行调整。

 

我们当前的想法是使用引脚搭接或一些 EEPROM 来决定正确的 DDR 配置。

如我们所见、此功能应连接到 WKUP MCU 域、因为它负责启动期间的 DDR 训练。

 

问题是、在早期引导阶段、我们是否可以访问 GPIO? 还是 I2C 总线? 如果是、我们可以使用哪一个最佳/正确的 GPIO/I2C 端口?

 

谢谢您、  

Marinus  

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

    Marinus、我会推荐一种不同的方法、那就是提出一种适用于每种 DDR 替代方案的通用配置。  大多数 DDR 存储器都符合 JEDEC 规范、这意味着大多数时序参数完全相同或非常接近、因此您可能能够提出适用于多个供应商的配置。  只要选择具有相似密度和拓扑的器件、就应该能够实现这一点。  此外、与在 EEPROM 中维护不同的配置或动态更改配置相比、这种方法的复杂程度要低得多。

    此致、

    James

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

    您好、James:

    感谢您的提示,当然,选择一个非常相似的芯片时,它可能很好。

    但除此之外、我们还想知道这种动态配置更改是否可行、因为这将允许我们使用不同的拓扑芯片作为替代。 如果您能向我们展示一种实现此功能的可能方法、或者如果使用 AM62P 无法实现、请通知我们、我们将不胜感激。

    此致、

    Gábor μ s

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

    您能解释一下他们所考虑的哪种替代方案可以通过一种设计实现吗?  您仍然可以使用通用配置。

    实际上、我在这里刚刚回答了一个类似的问题:   AM62D-Q1:LPDDR4 器件密度与 DDRSS 配置 

    我认为、根据他们想要支持的动态配置的变化、他们仍然可以提出通用配置。

    高级别动态配置只需在 DDR 初始化开始之前添加几个步骤。  它需要 在加载 DDR 驱动程序并指向适当的配置数据结构之前、解码 EEPROM 或引脚搭接。  驱动程序将使用该数据结构来加载所有 DDR 控制器/PHY 寄存器、以启动初始化和训练。

    此致

    James

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

    我当然可以解释。 目前、原型中使用了双通道双列存储器、但由于 RAM 供应商短缺、我们也考虑了单列替代方案、这种替代方案具有较少的芯片选择和时钟使能线路。 我想、存储器芯片架构的这种差异肯定也需要对软件配置进行一些更改。

    因此、我应该回到原始主题: 我们可以在早期引导阶段读取 GPIO 和/或 I2C 吗? 软件同事告诉我更多的细节:问题与有关 U-Boot SPL(二级程序加载)阶段 、在 ROM 引导阶段之后直接启动。

    提前感谢您、

    Gábor μ s

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

    好的、是的、单/双列器件需要不同的软件配置。   

    我认为 GPIO 或 i2c 可以在早期启动阶段使用。  我必须把它交给我们的软件专家来帮助指导。

    此致、

    James

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

    感谢您能为这个问题请教软件专家。

    我们的软件同事发现、如果有、可能会使用 WKUP 和/或 MCU 域外设、但 WKUP 没有 GPIO、只有 I2C、MCU 域 GPIO 的可用性是一个问题。 这也是如何在 U-Boot 中配置它们的问题。 我们期待着您的专家的帮助,谢谢。

    此致、

    Gábor μ s

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

    您好 Gabor:

    是的、在早期 U-Boot 阶段可以访问 I2C 和/或 GPIO。 Processor SDK 中提供的 U-Boot 已经支持通过主域 i2c0 上的 EEPROM 区分电路板。

    例如、请检查 AM64x EVM TMDS64EVM 和 SK-AM64B 的电路板原理图以了解 EEPROM 的设计方式。 执行从 EEPROM 读取 I2C 的 AM64x U-Boot 代码 在 board/ti/am64x/evm.c 中为 do_board_detect ()

    由 arch/arm/mach-k3/am642_init.c 中的每个 SoC 调用

    AM62x U-Boot 也具有类似的例程。