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.

[参考译文] TDA4VEN-Q1:LPDDR4调整失败

Guru**** 2457760 points
Other Parts Discussed in Thread: AM67, SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1413187/tda4ven-q1-lpddr4-adaptation-failed

器件型号:TDA4VEN-Q1
主题中讨论的其他器件:AM67SysConfig

工具与软件:

您好、TI 专家 J ü、

我们正在对  EVM 板上的新 DDR 芯片(Samsung 4G K4FBE3D4HB-KHCT2V)进行调整、但 uboot 采样似乎无法正常启动。

以下是我们采取的一些措施:

请参阅新的 DDR 参数、并使用 DDR 生成工具(SysConfig (TI.com))生成新的 DDR 配置文件。

将 生成的文件重命名为 k3-j722s-ddr-lp4-50-3733.dtsi、并替换原始的 k3-j722s-ddr-lp4-50-3733.dtsi ;

3.修改 k3-j722s-evm.dts 中的内存节点、如下所示

内存@8000000{
  /* 8G RAM */
  REG =<0x00000000 0x80000000 0x00000000 0x80000000>       
       <0x00000008 0x80000000 0x00000000 0x80000000>;
  device_type ="存储器";
  bootph-pre-ram;
};
4.重建 u-boot-R5并替换 SD 引导分区中的 tiboot3.bin。

问题:

1. 新的 DDR 参数是如下文件,请帮我检查参数是否正确?

e2e.ti.com/.../TDA4VEntry-DDR-Config-Tool_4D916E7FC2537065_.xlsx

2.为什么 uboot spl 启动失败、如下图所示?

上传生成的文件(使用时、请将其重命名为 settings_info.syscfg):

e2e.ti.com/.../settings_5F00_info.syscfg.txt

此致。

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

    您好!

    Unknown 说:
    我们正在修改新型 DDR 芯片(Samsung 4G  K4FBE3D4HB-KHCT2V)[/报价]

    这似乎是一个32Gbit 器件、宽度为 x32。 假设等级为双等级、各通道密度(按等级)为8Gb。 (如果您认为这不正确、请告诉我...、因为我没有数据表)

    TI EVM 上使用的器件是 具有 x32宽度的双列、但通道密度(每个列)是16GB。  

    第一步、我们是否可以尝试将 SysConfig 中用于 AM67的 TI 默认设置作为起点、并仅进行修改以解决您选择的存储器和 TI EVM 上的存储器之间的密度差异? (请参阅下面的文件)

    e2e.ti.com/.../am67_5F00_cust_5F00_.k4fbe3d4hb_5F00_test1.zip

    谢谢!
    Kevin

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

    尊敬的 Kevin:

    通过电子邮件向您发送数据表。

    BR、

    Biao  

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

    尊敬的 Kevin:

    很抱歉延迟、因为我不在办公室度假。

    这似乎是一个32Gbit 设备、宽度为 x32。 假设等级为双等级、各通道密度(按等级)为8Gb。 (如果您认为这不正确、请告诉我...因为我没有数据表)[/QUOT]

    "我想,你是我的!

    在第一步 中、我们能否尝试使用适用于 AM67的 SysConfig 中的 TI 默认设置作为起点、并且只进行修改以考虑已选择的存储器与 TI EVM 上的存储器之间的密度差异? (请参阅以下文件)[/QUOT]

    在  为 AM67使用 SysConfig 中的 TI 默认设置后、将 k3-j722s-ddr-lp4-50-3733.dtsi 替换为 u-boot 中附件所含的文件。控制台上的输出如下所示。

    此致。

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

    尊敬的 Kevin:

    您是否可以向客户提供一些调试二进制文件? 客户现在可以使用800MHz 成功引导、但在更高的频率下引导失败、我已经尝试帮助更改配置工具中的一些参数、但都无法正常工作。 以及如何在 TDA4VEN 中禁用 CBT 培训? 客户正在使用 Samsung LPDDR、我认为这可能与 CBT 培训有关。 请帮助优先考虑这一点、客户已经构建了他们的定制板、某些问题即使在800MHz 中也会出现、我们需要帮助客户更早地修复它。

    BR

    Biao

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

    尊敬的 Biao:

    您是否可以向客户提供一些调试二进制文件?

    否、不适用于此设备。

    初始化 DDR 后、它们是否能够运行一些存储器测试? (将一些已知数据写入 DDR、然后读回并比较该值)?

    客户构建并尝试开发了多少块电路板? 它们的行为是否都相同?

    此致、
    Kevin

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

    尊敬的 Kevin:

    感谢您的回复、他们可以在800MHz 中运行 mem 测试、但他们的问题是电路板在更高的频率(1600或1866)下无法启动、客户生产伺服板、都有相同的行为、客户还尝试将 EVM LPDDR4返修至 Samsung LPDDR4、故障与客户电路板相同。 之前、我还怀疑 EVM 返工中的信号完整性、但现在定制板存在相同的问题。   

    BR、

    Biao

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

    尊敬的 Biao:

    在不同的 DDR 数据速率下上传所有寄存器转储值。稍后我将上传 memtester 测试的结果。

    e2e.ti.com/.../regdump_5F00_dr_5F00_2000_5F00_DDRSS_5F00_PHY_5F00_67_5F00_323_5F00_579_5F00_835_5F00_set_5F00_0x104.txt

    e2e.ti.com/.../regdump_5F00_dr_5F00_3733.txt

    e2e.ti.com/.../regdump_5F00_dr_5F00_1400.txt

    此致。

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

    正在解锁该线程。

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

    您好!

    稍后我将上传 memtester 测试的结果。

    此处是否仍需要帮助? 您是否能够完成 memtester 测试?

    此致、
    Kevin

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

    尊敬的 Kevin:

    我将让客户很快上传 mem 测试器结果、您能帮助查看 reg 转储吗?  您能 在这里看到任何异常吗?

    BR、

    Biao  

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

    尊敬的 Kevin:

    很抱歉在这个问题上没有取得有效进展。 以下是 memtester 在800MHz 的 DDR 速率下测得的结果。 请检查它。
    此外、我想问一下如何获得所有 MR 寄存器的值?

    e2e.ti.com/.../samsung-4g-ddr_5F00_data-rate-800m_5F00_memteste-1g-failed.txt

    此致。

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

    您好!

    感谢更新-看起来 DQ 总线的下半部分正在损坏。 可能是由 CA/CS 时序造成的。  

    后续将执行一些额外的调试步骤。

    此致、
    Kevin

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

    大家好、Kevin G ü、

    我们目前正在与三星工程师合作解决这一问题。 他们希望在出现异常时获得所有 MR 寄存器的值。 如何获取所有 MR 寄存器的值?

    此致。

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

    与其他 TDA4器件相比、TDA4VEN 使用不同的 DDR 控制器、因此我没有在 TDA4VEN 上使用下面的驱动器功能的直接经验。 但是、函数(LPDDR4_getmmrregister)是共享驱动程序函数、下面的过程应该会起作用。  

    您能不能评论一下下面的评论、如果您有任何问题、请告诉我们?

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~μ A

    下面是有关如何使用现有的示例  LPDDR4_getmrregister   读取 LPDDR4模式寄存器的驱动器功能:

    请参阅驱动程序函数( L pddr4_getmmrregister)此处: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/drivers/ram/k3-ddrss/lpddr4.c?h=10.01.10#n289 

    即驱动程序函数输入参数、  readmoderegval对应于 DDRSS_CTL_191[24:8](适用于 J722S 器件) .  (请注意、对于不属于 j722s 系列的其他 TDA4器件、它将为:DDRSS_CTL_160[24:8]。)

    位(7:0)定义了存储器模式寄存器
    位(15:8)定义芯片选择。
    位(16)触发读取

    请参阅下面的示例、其中  readModeRegVal  变量设置为  0x10000 |((RANK 和1)<< 8)|(MR 和0xFF)、  其中"rank"是相关的芯片选择、"mr"是相关的模式寄存器编号。  

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~μ A

    注释 :虽然示例/驱动程序代码看起来可能更复杂、但读取 LPDDR4模式寄存器基本上就像:

    1. 写入 1个 DDR 控制器寄存器
    2. 等待 MRR 完成
    3. 读取2个 DDR 控制器寄存器

    除了已经初始化 DDRSS 和 LPDDR4存储器之外、不需要其他特殊设置。

    此致、
    Kevin

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

    尊敬的 Kevin:

    请参见以下示例、其中  readModeRegVal  变量设置为  0x10000 |((RANK 和1)<< 8)|(MR 和0xFF)、  其中"rank"是相关的芯片选择、"mr"是相关的模式寄存器编号。  [报价]

    我认为我不清楚这里的"排名"和"先生"的价值观。 您能给我一个示例、用"rank"和"mr"作为参考吗?

    此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不清楚这里的"rank"和"mr"值。 您能给我一个示例、上面有"rank"和"mr"供参考吗?

    "排名"

    • 您的存储器可以是单列或双列。
    • 如果您的存储器是单列的、则在此代码片段中、"rank"应始终为"0"
    • 如果您的存储器是双等级、则在此代码片段中、"rank"将为"0"或"1"

    "先生"

    • 将此值设置为 要读取的模式寄存器的模式寄存器编号
    • 示例:如果要从 MR5中读取 LPDDR4制造商 ID 代码、则设置为"5"

    Kevin

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

    尊敬的 Kevin:

    感谢您的答复。

    根据您提供的方法、我认为我应该已经获得所有 MR 寄存器的值、但我无法确定这些值的具体含义或数据是否有效。 请参阅下表以了解寄存器结果。 我还将向三星工程师提供相同数据的副本。 如果将来有三星工程师的反馈、我会尽快更新。

    e2e.ti.com/.../samsung_5F00_ddr_5F00_datarate_5F00_800MHZ_5F00_MR_5F00_values.txt

    此致。

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

    您好!

    某些模式寄存器是"只写"的、意味着不能读取它们。  

    不过、我不确定为什么所有通道 B 值都显示0x00。  

    此致、
    Kevin

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

    尊敬的 Kevin:

    我可以问一下通道 A 和通道 B 的值是什么意思吗?您能否检查我的修改是否正确。

    e2e.ti.com/.../Get_5F00_DDR_5F00_MR_5F00_Value.txt

    此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    可否询问通道 A 和通道 B 的值是什么意思?

    如果您询问"通道 A"和"通道 B"是什么意思、则 LPDDR4存储器由16位 DQ 通道组成、 每个通道都有自己的模式寄存器集。 TDA4VEN 具有一条32位 DQ 数据总线、因此它最多支持2个通道、分别称为"通道 A"和"通道 B"。  

    如果您想了解每个 MR 的值是什么意思(例如:0x98)、请参阅 LPDDR4存储器的数据表。  

    此致、
    Kevin

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

    您好!

    您能否提供 用于1600MT/s (800 MHz 时钟)和3733MT/s ( 1866 MHz 时钟)的最新寄存器设置? 如果您可以提供 DTSI 文件+ SysConfig 文件(settings_info.syscfg)、那就太好了。

    此致、
    Kevin