TI 专家:
我们百度有一个要求、我们需要读取 SBL 中的 DDR 制造商 ID、然后针对该模型的 DDR 进行相应的初始化
如下图所示、需要 DDR 控制器发出 MRR 命令来读取制造商 ID API。 我要确认此 API 当前存在于 sdk7.1中吗? 我们需要您的支持

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.
TI 专家:
我们百度有一个要求、我们需要读取 SBL 中的 DDR 制造商 ID、然后针对该模型的 DDR 进行相应的初始化
如下图所示、需要 DDR 控制器发出 MRR 命令来读取制造商 ID API。 我要确认此 API 当前存在于 sdk7.1中吗? 我们需要您的支持

你好、基尔西、贾尼、
[引用 userid="474888" URL"~/support/processors-group/processors/f/processors-forum/1111119/tda4vm-sdk7-1-ddr-api-from-baidu-company "]我们需要读取 SBL 中的 DDR 制造商 ID,然后针对该模型的 DDR 执行相应的初始化操作我将原请求解释为:
步骤1)读取 LP4模式寄存器以获取制造商 ID
步骤2)初始化 LP4
我假设第1步的目的是让引导加载程序知道如何初始化 LP4 (在同一系统中使用多个不同存储器的情况下)。
如果读取模式寄存器的目的只是提供信息、而不是用于确定如何对寄存器进行编程、则如果上述步骤相反、则可以支持读取 LP4模式寄存器。 (I.e、步骤1 =初始化 LP4; 步骤2 =读取 LP4模式寄存器)
此致、
Kevin
尊敬的 Kevin:
我们的需求是如此
步骤1)读取 LP4模式寄存器以获取制造商 ID
步骤2)根据获得的制造 ID、初始化 LP4在行业中的相应常见应用、理论上可以实现、这也是 LP4供应商 Micron 提供的信息
1:正如您所说的、如果上述步骤被逆转、这对我们来说就没有意义。 我们的目的是首先根据获得的 LP4制造商 ID 初始化该模型的 LP4。
2:我认为可以在 LP4初始化之前读取 LP4的模式寄存器。 这只是一个读取操作、而不是 CONFIG。 我不明白为什么需要依赖 LP4初始化来读取 LP4模式寄存器。
期待您的专业回答、谢谢
您好、Jianye、
不需要完全初始化、但为了使两个 IC 能够通信、必须执行一些初始化过程(在 DDRSS 和 LP4存储器内)。 这意味着我们需要触发 DDRSS 的硬件初始化例程(即使配置为执行最新/最简单的步骤)、然后才能发出 MRR。
如前所述、我们在 SDK 中不提供任何支持来完成您想要执行的操作。 我不是说这是不可能的,我说这不是我们今天支持的,目前没有计划在将来支持。
作为其他信息、我 不 同意您的请求只是"阅读行为"。 作为一个完整的解决方案、此请求需要对现有代码库进行重大代码更改、以便能够支持多种配置(因为您希望根据 LP4制造商 ID 配置寄存器)。 此外、我们需要研究支持 (有效) LP4存储器两个初始化的最佳方法(1个最简单的初始化、1个带有最终配置的初始化)。 我需要验证、但我的回忆是、与通过软件启动(当前不受支持)时相比、我们的一些培训算法在首次硬件初始化(当前受支持)期间触发时的行为可能不完全相同。 这是一个问题、因为我们尚未以这种方式测试/表征培训算法。
总而言之,我的回应不是可能或不可能的。 我的回答是说我们目前支持什么、我们不支持您的请求。
此致、
Kevin
Jianye、
另一个注释是、如果您使用类似的存储器(例如、在数据总线宽度、列数、密度方面具有相同的底层架构)、则可能会在两个不同的存储器供应商之间使用单个配置、并且不需要读取 LP4制造商 ID。
此外、 可能还有其他解决方案(例如使用 EEPROM)可用作替代方案。 如果您有更多有关您希望在系统中使用的 DDR 器件型号(共享相同的二进制文件)的信息、以及有关需要不同存储器的原因的驱动因素、这可能有助于我们更好地了解问题和潜在解决方案。
出于我的理解、您能否评论一下您的项目的时间范围、该时间范围需要多个 DDR 器件型号的支持?
谢谢、
Kevin
您好!
我已将补丁移植到 SBL。
请检查您的末尾并分享所读的值。 该补丁基于最新的8.2 SDK。
此致、
基尔西
您好!
将补丁附加到8.2 SDK U-Boot 存储库之上。 该补丁针对 Samsung 和 Micron 动态 DDR 检测和配置进行了测试。
请百度查看补丁并确保满足最终目标。
与此同时、TI 将在 SBL 上开发上述方法。
注意:这只是8.2 SDK 之上的概念验证补丁。 有进一步优化的余地、目前支持2个 DDR 配置。
三星/ Micron。
此致、
基尔西
您好!
这是一个有关8.2 RTOS SDK 的补丁。 具体如下:
增加了动态检测 DDR 的支持。 而不是现在使用一个 DDR 配置
有3个配置。
1) 1)一种默认配置、我们通过该配置启动 DDR 来读取 MR5/6寄存器。
2) 2)根据读取的值、决定选择 Micron 或 Samsung DDR。
3) Config1对应于 Micron、而 config2对应于另一个。
仅在具有 Micron DDR 的 J721e-EVM 上进行了测试。
请您使用其他 DDR 器件进行测试、
此致、
基尔西
您好!
您可以共享 SBL 引导日志吗?
以下是我们的测试日志:
您好、Jianye、
附加7.2 PSDK_RTOS 上的补丁:
日志:
SBL 修订版本:01.00.10.00 (2022年9月 2日- 09:50:52)
TIFS 版本:20.8.5-v2020.08b (极好的 LLA
Board_DDRInit:使用默认配置进行初始化...
DDR_freq0 = 27500000
DDR_freq1 = 533000000
DDR_freq2 = 533000000
DDR_FHS_cnt = 10
--> LPDDR4初始化正在进行... <<<--
-->频率更改请求握手已完成... <<<--
正在检测连接的 LP4存储器...
正在读取 MR5...Rank0 MR5
通道 A:0xFF
通道 B:0xFF
MR5=0xff
内存与配置1匹配!
Board_DDRInit:使用最终配置(1)进行初始化...
DDR_freq0 = 27500000
DDR_freq1 = 1066500000
DDR_freq2 = 1066500000
DDR_FHS_cnt = 10
--> LPDDR4初始化正在进行... <<<--
-->频率更改请求握手已完成... <<<--
请尝试使用 MMC-SD 引导模式、并告诉我这是否适用于您的 Micron DDR。
-凯尔西