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:如何复位 DDR?

Guru**** 2574685 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1558591/tda4ven-q1-how-do-reset-ddr

器件型号:TDA4VEN-Q1


工具/软件:

尊敬的 TI 专家:

是用于复位 DDR 电源 (DDR_Reset func)?的步骤

我正在努力解决 SBL 上不同 DDR 的兼容性问题。 使用不同的 DDR 配置编译不同的 SPL 时、执行 memtester 是正常的;通过 SBL 中的 MR 寄存器成功识别不同的 DDR 后、我发现 memtester 会失败。

我还提供了 DDR 兼容性的修改、还请帮助检查它们。

static int32_t ddr_Reset(void)
{
        Bootloader_profileAddProfilePoint("Resetting DDRSS 0721——2...\n");
        *(volatile unsigned int*)(0x400B20) = (*(volatile unsigned int*)(0x400B20) & 0xFFFFFF00) | 0x1;
        *(volatile unsigned int*)(0x400120) = 0x1;

        while(*(volatile unsigned int*)(0x400128) != 0);

        *(volatile unsigned int*)(0x400B24) = (*(volatile unsigned int*)(0x400B24) & 0xFFFFFF00) | 0x1;
        *(volatile unsigned int*)(0x400120) = 0x1;

        while(*(volatile unsigned int*)(0x400128) != 0);

        *(volatile unsigned int*)(0x400B28) = (*(volatile unsigned int*)(0x400B28) & 0xFFFFFF00) | 0x1;
        *(volatile unsigned int*)(0x400120) = 0x1;

        while(*(volatile unsigned int*)(0x400128) != 0);

        *(volatile unsigned int*)(0x400B20) = (*(volatile unsigned int*)(0x400B20) & 0xFFFFFF00) | 0x3;
        *(volatile unsigned int*)(0x400120) = 0x1;

        while(*(volatile unsigned int*)(0x400128) != 0);

        *(volatile unsigned int*)(0x400B24) = (*(volatile unsigned int*)(0x400B24) & 0xFFFFFF00) | 0x3;
        *(volatile unsigned int*)(0x400120) = 0x1;

        while(*(volatile unsigned int*)(0x400128) != 0);

        *(volatile unsigned int*)(0x400B28) = (*(volatile unsigned int*)(0x400B28) & 0xFFFFFF00) | 0x3;
        *(volatile unsigned int*)(0x400120) = 0x1;

        while(*(volatile unsigned int*)(0x400128) != 0);

        return SystemP_SUCCESS;
}

e2e.ti.com/.../0001_2D00_DDR_2D00_2G_2D00_2G_2D00_DDR_2D00_20250704.txt

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

    尊敬的 Kevin:

    请参阅 TDA4VEN DDRSS TRM

    PSC_MDCTL 的基地址为 0x00400A00、 下面是针对 DDR32SS0 的 LPSC 72/73/74 的偏移量  

    72 x 4 = 0x120

    73 x 4 = 0x124

    74 x 4 = 0x128

    我们按照以下步骤重置并启用 LPSC 72/73/74、您能否帮助检查此序列是否可以完全重置 DDR32SS0?  

    –1-

     通过寄存器  PSC_MDCTL(位 4:0)将 LPSC 设置为 SyncRst  

    –2-

    将 寄存器 PSC_PTCMD 中的 GO 位设置为 1 (0040 0120h)

    –3-

    等待通过  PSC_PTSTAT 完成命令 (0040 0128h)

    –4

    将 LPSC 设置为 通过寄存器  PSC_MDCTL(位 4:0)启用  

    –5

    将 寄存器 PSC_PTCMD 中的 GO 位设置为 1 (0040 0120h)

    –6

    等待通过  PSC_PTSTAT 完成命令 (0040 0128h)

    此致

    Joe

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

    您好、

    我正在努力解决 SBL 上不同 DDR 的兼容性问题

    2x 配置中有什么不同? (我在附加的.txt 文件中只看到一组寄存器值)。

    理想情况下、如果您可以提供 DDR 寄存器配置工具输入差异、那么最好是这样。

    通过 SBL 中的 MR 寄存器成功识别不同的 DDR 后、我发现 memtester 将失败。

    我的理解是、您正在初始化 LPDDR4、读取 ID、复位 DDRSS、然后重新初始化 LPDDR4。  在这两种情况下、在 DDR 初始化之前、DDR PLL 的配置是否相同?  (例如,就在初始配置之前和 DDRSS 复位后?)

    此致、
    Kevin

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

    尊敬的 Kervin S:

    2x 配置有何不同? (我在附加的.txt 文件中只看到一组寄存器值)。

    这两种 DDR 配置是不同的、一种用于 Micron、另一种用于 Nanya。

    在两种情况下都初始化 DDR 之前、DDR PLL 的配置是否相同?  (即,就在初始配置之前和 DDRSS 复位后?)

    BR。

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

    尊敬的 Joe&Kevin S:

    我使用了两个不同的硬件,在不同的情况下,我转储的寄存器的 DDR。 目前、即使在执行 DDR 复位后再次执行 DDR 初始化、先前 DDR 初始化的配置内容似乎仍会出现。

    e2e.ti.com/.../DDR_5F00_reg_5F00_dump.rar

    BR。

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

    尊敬的 Kevin:

    下面是有关 PLL12 和 DDR 的寄存器转储。 PLL12 似乎只有一个位不同。 请您看一下。 谢谢

    e2e.ti.com/.../memtest_5F00_failed_5F00_pll12.txt

    e2e.ti.com/.../nanya_5F00_init_5F00_read_5F00_id_5F00_ddr-reset_5F00_nanya_5F00_init_5F00_memtest_5F00_pass_5F00_reg_5F00_dump.txt

    e2e.ti.com/.../memtest_5F00_pass_5F00_pll12.txt

    e2e.ti.com/.../micron_5F00_init_5F00_read_5F00_id_5F00_ddr_5F00_reset_5F00_nanya_5F00_init_5F00_memtest_5F00_failed_5F00_reg_5F00_dump.txt

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

    尊敬的 TI 专家:

    请问是否有任何进展?

    BR。

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

    您好、

    很抱歉耽误你的时间。

    这两种 DDR 配置不同、一种用于 Micron、另一种用于 Nanya。

    是、但配置有什么不同?

    例如、他们是否使用不同的 IO 设置? 它们是否针对不同的频率进行配置?

    如果两个存储器供应商之间的存储器架构相同、则相同的配置可能适用于这两个存储器。  

    此致、
    Kevin

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

    尊敬的 Kevin S:

    我请 Joe 向您发送 Micron 和 Nanya 的规格。 您能否帮助比较两个 DDR 的内存架构是否一致?

    BR。

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

    尊敬的 Kevin S:

    请问是否有任何进展?

    BR。