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.

[参考译文] Linux/TDA2SX:关于用于获取 DDR3初始化值的 DDR3工具(EMIF 工具)

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/798788/linux-tda2sx-regarding-the-ddr3-tool-emif-tools-which-is-used-to-get-the-initialization-values-of-ddr3

器件型号:TDA2Sx
主题中讨论的其他器件:DRA742

工具/软件:Linux

HII 全部、

我们目前正在研发 TDA2XX EVM、目前我们正在使用"MT41K512M16"芯片来实现 DDR3。这里我列出了我对 EMIF 工具的怀疑。

现在、我们要为定制板更改 DDR3芯片、因此在研究是否更改 DDR3芯片时、我们需要修改初始化值、并且需要在 u-boot 文件中指定一些与修改后的芯片相关的信息。 这是正确的吗?

a)如果正确、为了获得 DDR3的初始化和校准值、我们需要一些工具、

我们浏览了本文档,本文档指定“EMIF 工具应用程序”来获取该值。

http://www.ti.com/lit/an/sprac36c/sprac36c.pdf

但是我不明白工具在哪里以及如何下载? 如何使用该工具配置我们的 DDR3芯片?

请帮我下载该工具和使用该工具获取 DDR3的初始化和校准值的过程。

3.从工具中获取这些值后,我需要修改哪些 u-boot 文件?

谢谢、此致、

A. Kavya Harini

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    您是否检查 了 www.ti.com/.../sprac36

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

    是的、我检查了该文件。但我的问题是如何使用 sprac36c.pdf 中提到的 EMIF 应用工具生成该文件或生成 DDR3校准值。
    因为对于我们的定制板、我们正在考虑修改 DDR3芯片、如果我们修改芯片、那么我需要如何配置 DDR3、以及如何使用 EMIF 工具生成"寄存器配置-寄存器值"。所以我需要 EMIF 工具、并且在中生成 DDR3的寄存器值 我需要修改哪些 u-boot 文件?请帮助我了解在生成寄存器值后如何使用该工具和配置 DDR3的过程、因为我不熟悉 DDR3。

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

    该工具(.xls 文件)可通过.pdf (请参阅摘要)或以下链接(zip 文件)进行访问:

    www.ti.com/.../litabsmultiplefilelist.tsp

    下面的链接提供了有关使用 SPRAC36 .xls 文件的输出并将其与 u-boot 代码集成的文档。

    www.ti.com/.../spraca1.pdf

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

    感谢您提供的信息、我将浏览这些文档、如果有任何疑问、我将返回给您。

    谢谢、
    A.卡维亚哈里尼
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Kevin:

    我正在尝试在 EMIF 工具中填写电路板详细信息(步骤:2或工作表2)、 但我不知道 PCB 布线长度值,请帮助我填写该表中的值。请提供一些输入数据来填写该电路板详细信息表,以生成这些值。

    -->我对工作表还有另一个疑问:1除了系统详细信息。
    在系统详细信息工作表 a 中)公司/板名称/版本(例如:TI_EVM_revC)->?
    b) TI SOC 器件型号-->?
    关于这些描述、我需要填充哪些值? 板名称是 TI_TDA2xx_EVM 还是 TI_DRA74x_EVM 或其他一些东西。 此外、请帮助我填写这些详细信息。

    在使用3.04 VISION SDK 版本映像启动 TDA2XX EVM 板时、请查看以下日志。 我正在获取此日志。

    U-Boot 2016.05-00010-g9551b3d (2019年5月16日- 11:05:10 +0530)

    CPU:DRA752-GP ES2.0
    型号:TI DRA742
    电路板:DRA74x EVM 修订版 H.0
    DRAM:4 GiB
    MMC:OMAP SD/MMC:0、OMAP SD/MMC:1.

    请帮助我解决此问题。

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

    您好 Kavya、

    您可以查看 TDA2EVM 的技术文档以了解电路板走线长度值。

    ""="">"DRA74x/DRA75x/TDA2x CPU 板 PCB 版本 H" 包含 有关板布线长度值的信息。

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

    您好、Mehmet、

    感谢您的回复、我将针对布线长度进行一次讲解。

    但您能不能建议我、我需要在工作表1中输入什么数据。

    在系统详细信息工作表 a 中)公司/板名称/版本(例如:TI_EVM_revC)->?
                              b) TI SOC 器件型号-->?
    关于这些描述、我需要填充哪些值? 板名称是 TI_TDA2xx_EVM 还是 TI_DRA74x_EVM 或其他一些东西。 此外、请帮助我填写这些详细信息。

    在使用3.04 VISION SDK 版本映像启动 TDA2XX EVM 板时、请查看以下日志。 我正在获取此日志。

    U-Boot 2016.05-00010-g9551b3d (2019年5月16日- 11:05:10 +0530)

    CPU:DRA752-GP ES2.0
    型号:TI DRA742
    电路板:DRA74x EVM 修订版 H.0
    DRAM:4 GiB
    MMC:OMAP SD/MMC:0、OMAP SD/MMC:1.

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

    您好!

    PDF 提供了如何设置参数的说明。  http://www.ti.com/lit/an/sprac36c/sprac36c.pdf

    第1A 节中的第1个细节只是一个唯一的标识符。 您可以为此参数输入任意值、前提是这些字符与 pdf 中提供的有效字符列表相匹配。

    第1A 节中的详细信息2应与系统中使用的 SOC 匹配。 如果使用 TDA2X EVM、请选择 TDA2x 作为处理器。

    此致、
    Kevin

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

    尊敬的 Kevin:

    感谢您的回复。

    我能够为 CPU 板 DRA752-GP ES2.0生成 TDA2x 的值。 如 以下链接中的" DRA7xx 器件上 EMIF/DDR3配置的软件指南 pdf"中所述。

    http://www.ti.com/lit/an/spraca1/spraca1.pdf

    我生成了 DDR3的值、并将上面链接中提到的 PDF 第3.1节中的值与 PDF 中显示的值进行了比较。这些值正确匹配。(我为芯片 MT41K512M16生成了值)

    但我观察到在 u-boot 中填充结构时、EMIF 工具生成的某些值会有所不同、在 第3.2.1UpdateE EMIF1/2DDR3TimingParameters 部分中介绍了这些结构。

    下面列出了与生成的值不同的参数。

    const 结构 EMIF_regs emif1_DDR3_532_MHz_1CS_2G{

    SDRAM_CONFIG2= 0x08000000                             ////////////////////////////////////////////////////////// 这些是 EMIF1结构////////////////////////////////////////////////////////////////////////////////////////////////////////////////////中的不同值

    SDRAM_TIM2= 0x30BF7FDA

    SDRAM_TIM3= 0x427F8BA8

    zq_config= 0x0007190B

    const 结构 DMM_LISA 映射_regsDRA75x_DDR3L_532MHz_TI_EVM_revG3_DMM_regs={

    .dm_lisa_map_2= 0x80640300

    const 结构 ctrl_ioregs ioregs_dra7xx_ES1={

    CTRL_lpddr2ch= 0x40404040、

    CTRL_ddrivo_2= 0x84210000、                //////////////////////////////////////////////////////////////////////////////////// 在这个结构中、这些值不在 EMIF 工具////////////////////////////////////////////////////////////////////////////中生成

    CTRL_EMIF_SDRAM_CONFIG_ext= 0x0001C1A7、

    CTRL_EMIF_SDRAM_CONFIG_ext_final= 0x0001C1A7

    、.CTRL_DDR_CTRL_ext_0= 0xA2000000、


    在 " DRA7xx 器件上 EMIF/DDR3配置的软件指南"中、pdf 以及 EMIF 工具提示生成调优参数的参考文档、 但该工具只生成一个结构、使用该结构填充此"常量结构 EMIF_regs emif2_DDR3_532_MHz_1CS_2G{}"结构。这些生成的值与 emif1结构匹配

    为什么这些值不同?在配置 DDR3方面、具体的不同值会发生什么变化。

    这些值在 PDF 中也不同。

    2.根据我的理解,emif1配置为2GB,用于两个"MT41K512M16"芯片;emif2配置为2GB,用于四个"MT41K512M8"芯片。对吗?

    如果正确的话、我们需要为这两个芯片分别生成调优参数是正确的吗?

    请帮助我了解 DDR3参数调优。

    谢谢、此致、

    A. Kavya Harini。

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

    您好!

    1) 1) PDF 中显示的值应作为示例、可能反映或不反映应编程的值。  

    2) 2)在 TDA2SX TRM: http://www.ti.com/lit/ug/sprui29f/sprui29f.pdf (第15.3.4.8节)中讨论了调平。 请在 EMIF 寄存器配置工具中选择"硬件调平"、该工具应清除寄存器 EMIF_DDR_PHY_CONTINL_1中的调平掩码位。

    此致、
    Kevin

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

    尊敬的 Kevin:

    感谢您的回复。 我有一点疑问。请您清除。

    如果我们选择硬件调平、则无需调整物理寄存器(如 EMIF_DDR_PHY_CONTRAIN_1)。 我的思维/理解方式是否正确?

    如果修改了电路板走线长度、那么如果我们在 EMIF 工具中选择硬件调平、这些寄存器值将如何更新。

    谢谢、此致、

    A. Kavya Harini。

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

    您好!

    读取/写入 DLL 值在 EMIF_EXT_PHY_CONTINL_2 - EMIF_EXT_PHY_CONTINL_21中进行编程。 如果选择了硬件调平、则在初始化期间硬件调平完成后、TI 软件驱动程序将更新这些硬件调平。

    .xls 使用跟踪长度来确定一个近似 DLL 值。  

    此致、
    Kevin

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

    尊敬的 Kevin:

    感谢您的回复。 这对我们来说是非常宝贵的信息。

    TI 软件驱动程序--> ROM 代码中是否存在 TI 软件驱动程序,或者其它特定的驱动程序是否用作 TI 软件驱动程序?

    我需要这些信息、因为我们将在定制板中选择硬件调平。请澄清一下、 TI 软件驱动程序是否存在于 ROM 代码中?

    谢谢、此致、

    A. Kavya Harini。

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

    您好 Kavya、

    EMIF 配置不是 ROM 的一部分。 它是 PDK (Processor SDK Vision 的一部分)或 u-boot (Processor SDK Linux Automotive)中提供的 SBL 的一部分。

    谢谢、此致、

    Piyali

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

    您好、Piyali、

    =>在上面的对话中,“如果选择了硬件调平,则在初始化期间硬件调平完成后,TI 软件驱动程序将更新这些硬件调平。”

    1.如果此 TI 软件驱动程序存在于 SBL 或 u-boot 中、您能告诉我 TI 软件驱动程序的名称吗?

    与 TI EVM 相比、自定义电路板中的存储器迹线会被修改。如果我在 EMIF 工具中选择硬件调平、TI 软件驱动程序是否处理 DLL 值?请确认。

    谢谢、此致、

    A. Kavya Harini

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

    您好!

    1. 如果您使用 u-boot、可查阅以下文档的第4节: http://www.ti.com/lit/an/spraca1/spraca1.pd 初始化 EMIF 和 DDR 的代码位于/arch/arm/cpu/armv7/omap-common/emif-common.c
    2. 如果您在 EMIF 工具中选择硬件调平、u-boot 中的软件应触发硬件培训。 例如、请参阅以下链接中的第371行和372行、其中检查是否调用函数"dra7_ddr3_level": http://omapzoom.org/?p=repo/u-boot.git;a=blob;f=arch/arm/cpu/armv7/omap-common/emif-common.c;h=b26984e26c5e8648598a36380d991fb34d1dd3df;hb=5ddd5a8a256713300973cb633e84abf2542aaf94

    此致、
    Kevin