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:EMIF DDR3调优失败

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/577956/am3352-emif-ddr3-tuning-fails

器件型号:AM3352

你(们)好。

我们在从 BeagleBone 派生的定制电路板上使用 AM3352。 它将 EMIF 与单 个 MT41K256M16HA-125内存芯片配合使用。 布线长度与 BeagleBoard 上的布线长度不同。 作为 SPL、我们使用 Uboot 加载 Linux 内核

由于 Linux 器件树文件中存在一些错误、CPU 最初以300MHz 而不是600Mhz 运行。 当 CPU 以较低的时钟速度运行时、没有内存问题。 由于时钟速度较高,我们注意到我们遇到了一些内存问题(SCP 文件传输损坏、SSH 会话中断、memtester 显示失败... )。  

我们尝试通过调整 DDR3时序来解决此问题、如中所述  

但是、Salve 比率搜索编程器始终仅显示0x0值。 由于我们使用与 BeagleBone 相同的存储器芯片、因此我们会获得与示例中使用的 ALLOP_DDR3_SDRAM_TIMING1-3相同的寄存器值。 仅 DATAx_PHY_RD DQS_SLAVE_RA比、DATAx_PHY_FIFO_WE_SLAVE_RA比 和 DATAx_PHY_WR DQS_SLAVE_RA比 的值不同。

在 GEL 文件中、除了错误的寄存器值外、是否还有其他用于获取0x0值的 RESON?


此外:

由于我们已经部署了一些器件、并且不想更新已部署器件上的 Uboot、因此我们考虑在确定正确的 DDR3时序时使用 EMIF Linux 内核驱动程序来更改寄存器值。 但 EMIF 驱动程序似乎没有对当前内核(4.21)执行任何操作。

内核被载入时、EMIF 驱动程序是否可被用于改变内存时序?


此致

编辑:

e2e.ti.com/.../Xenon_5F00_CPU_2D00_FPGA_2D00_Module_5F00_RatioSeed.xlsx

e2e.ti.com/.../BeagleBlack_5F00_400Mhz_5F00_4GbDDR_5F00_new_5F00_rev.gel

e2e.ti.com/.../AM335x_5F00_DDR_5F00_register_5F00_calc.xls

e2e.ti.com/.../BeagleBlack_5F00_400Mhz_5F00_4GbDDR_5F00_PHY_5F00_INVERT_5F00_CLKOUT_5F00_0.gel

e2e.ti.com/.../BeagleBlack_5F00_400Mhz_5F00_4GbDDR_5F00_PHY_5F00_INVERT_5F00_CLKOUT_5F00_0.log

e2e.ti.com/.../BeagleBlack_5F00_400Mhz_5F00_4GbDDR_5F00_PHY_5F00_INVERT_5F00_CLKOUT_5F00_1.gel

e2e.ti.com/.../BeagleBlack_5F00_400Mhz_5F00_4GbDDR_5F00_PHY_5F00_INVERT_5F00_CLKOUT_5F00_1.log

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

    否、EMIF 配置仅在 U-boot 的 SPL/MLO 级完成一次。 一旦 EMIF 启动、就无法更改设置。 我建议您在以300MHz 的 CPU 速度与600MHz 的频率运行时检查 DDR_CLK 频率。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Biser

    DDR3调优期间对0x0值有什么想法?


    此致。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以发布电子表格吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将其添加到原始帖子中。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否可以尝试 PHY_INVER_CLKOUT=1?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于字节0的 PHY_INOP_CLKOUT = 1、字节1的 PHY_INOP_CLKOUT = 0、我们尝试了这两种方法。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将请 DDR 专家查看这一点。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    有任何有关这方面的新闻吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉耽误你的时间。 我已上报请求。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否有更新?

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

    很抱歉耽误了时间,我正在和应用程序经理讨论这个问题。。

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

    您是否有由 GPIO 驱动的 VTT 稳压器? 如果是、请确保 GPIO 从 GEL 文件驱动为高电平。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否共享在通过 S/W 调平搜索程序获取0x0时使用的 CCS 日志文件和相应的 GEL 文件? 如果您尝试使用 inver_clk=1、请也共享该设置的相应文件。

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

    我们使用不由 GPIO 驱动的 TPS6526-1。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已将您要求的 GEL/日志文件添加到原始帖子中。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能再现我们看到的行为吗? 您是否需要一些其他信息?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将研究这个问题。 将很快为您提供更新。

    此致、Siva

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1请使用 inver_clkout=1
    2如工具中所示、当 inver_clkout=1时、如果 inver_clkout=0、则需要将 CMDx_PHY_CTRL_SLAVE_Ratio 设置为0x100和0x80。 在使用 inver_clkout=1的 GEL 文件中、它设置为0x80。 请更正此错误
    3此外、如果使用了 INVER_CLKOUT=1、我还建议将 DDR_PHY_CTRL_1寄存器中编程的 READ_DERATE 增加一个额外的时钟周期。 目前、您已将此设置为0x7 (即 CL=6)。 需要在 INOP_CLKOUT=1时将此值更改为0x8

    进行上述更改、请尝试软件调平代码、并告诉我您的发现。

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

    调平例程现在输出值:

    (小部分
    从器件比率搜索程序值为...
    (小部分
    参数 MAX | MIN | Optimum | RANGE
    (小部分
    DATA_PHY_RD_DQS_SLAVE_RA比0x059 | 0x002 | 0x02d | 0x057
    DATA_PHY_FIFO_WE_SLAVE_RA比0x168 | 0x041 | 0x0d4 | 0x127
    DATA_PHY_WR_DQS_SLAVE_RA比0x0ca | 0x085 | 0x0a7 | 0x045
    DATA_PHY_WR_DATA_SLAVE_RA比0x112 | 0x0ad | 0x0df | 0x065
    (小部分

    我将这些值放入 U-Boot 存储器寄存器变量中:

    /*氙气灯上的 Micron MT41K256M16HA-125E */
    #define MT41K256M16HA125E_Xenon_EMIF_Read_lelim延 时0x100008
    #define MT41K256M16HA125E_Xenon_EMIF_TIM10x0AAAD4DB
    #define MT41K256K256M125E_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_define 0x256Q0x16245141EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_EMIF_0x2561#define
    
    
    
    
    #define #EMIF_EMB16 0x100
    #define MT41K256M16HA125E_Xenon_INVER_CLKOUT 0x1
    #define MT41K256M16HA125E_Xenon_RD_DQS 0x2D
    #define MT41K256M16HA125E_Xenon_WR_DQS 0xA7
    #define MT41K256M256M16Hon_PHY_DATA_DM1252_EMWR_DQS 0x24_EMTRF_DM16DF_E_DM16D1_DATA_EMIFICE_0x125B_DM16W_EMCK_RELEVEND1_DM16WR_DQS 0xA7 #define #define
    
    
    

    但当我尝试运行 U-Boot 时

    我会遇到如下错误:

    无法更新属性/ocp/ethernet@4a100000/slave@4a100200:mac-address、err=FDT_ERR_BADSTRUCTURE
    无法更新属性/ocp/ethernet@4a100000/slave@4a100200:local-mac-address、err=FDT_ERR_BADSTRUCTURE
    无法更新属性/ocp/ethernet@4a100000/slave@4a100300:mac-address、err=FDT_ERR_BADSTRUCTURE
    无法更新属性/ocp/ethernet@4a100000/slave@4a100300:local-mac-address、err=FDT_ERR_BADSTRUCTURE

    或:

    musb-hdrc:内核必须将外部集线器列入黑名单
    MUSB 初始化控制器失败、状态为-22
    musb-hdrc:内核必须将外部集线器列入黑名单
    MUSB 初始化控制器失败、状态为-22
    NET:数据中止

    也许您应该阅读 doc/README.arm-unaligned 访问

    PC:[<9f77c970>] LR:[<9f7a35fc>]
    SP:9f640ec8 IP:00000000 FP:80800020
    R10:8083ecc1 R9:9f640f28 R8:00000014
    R7:4a100000 R6:9f7a1f18 R5:9f6412d0 R4:9f641318
    r3:00000000 r2:9f6413e0 r1:00000000 r0:9f6413cc
    标志:在模式 SVC_32上关闭 FIQ 的 Nzcv IRQ
    正在重置 CPU ...

    正在重置...


    有什么想法为什么会发生这种情况?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    更新 DDR 配置时是否出现此新错误? 如果没有、您能否打开新的 E2E 主题。 这似乎与最初的 DDR 问题无关。

    此致、Siva