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/AM3352:挂起中的 DDR3自刷新问题

Guru**** 2589300 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/588807/linux-am3352-ddr3-self-refresh-issue-in-suspend

器件型号:AM3352

工具/软件:Linux

您好!

我在使用 AM3352和 DDR3-SDRAM 的定制板上的产品开发遇到了一个主要(挂起)问题、但仍在努力寻找根本原因。 请提供一些建议。


问题:
当重复发生深度睡眠1"暂停/恢复"时、暂停会在数百或数千次内失败一次、最终系统挂起。

硬件/软件配置:
硬件
基于 BeaglBone Black 的定制板
-AM3352BZCZD80
-DDR3-SDRAM (MT41K256M16TW-107 IT:P)
-无 VTT 稳压器
-无终止
-PMIC (TPS65910A3A1RSL)
软件
TI-SDK-AM335x-EVM-05.07.00.00

位置
路径:arch/arm/mach-omap2/sleep33xx.S
系统在“DDR 内存自刷新条目”和“WFI”步骤之间挂起

1.与 v7_flush_ICache_all 相同-保存分支
2.保存 EMIF 配置

3.对于 DDR3,通过控制模块将 DDR_RESET 保持在高电平
4.自刷新条目
5.给系统一些时间进入 SR (大约1.0ms)
6.宏 DATA0的弱下拉<-控制模块的 DDR_Data0_ioctrl 写入访问时挂起
7.宏 Data1的弱下拉
8.宏 CMD0的弱下拉
9.宏 CMD1的弱下拉
10.宏 CMT2的弱下拉
11.将 IO 置于 mDDR (CMOS)模式
12.禁用 EMIF
13.禁用 VTP
14.启用 SRAM LDO RET 模式
15.PLL 旁路
16.WFI

调查结果:
-假设 A8被挂起、因为当问题发生时、它无法将 A8内核与 JTAG 连接
-M3内核的 JTAG 连接即使在事件发生后也没有问题。
-当问题发生时、电源电压(VDD_MPU=0.95V、VDDS_DDR=1.5V、VDD_CORE =1.1V)设置在标准范围内
(当它在执行过程期间自动从 PMIC 模式切换到 PFM 模式时,每个电源的电压一致波动±20mV。)
-DDR_CKE 上的低电平(正常)、当问题发生时(大约0V)。
-出现问题时,在 DDR_RESETn (正常)上保持高电平。


我无法确定它是由硬件还是软件引起的。
您是否会提供建议、以确定可能的根本原因或您遇到的类似问题或任何其他问题。

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

    此 Linux 版本是什么? 您从哪里获得了它?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗨、Biser

    感谢你的答复。

    Linux 版本为"Linux-3.2.0"(linux-3.2.0-psp04.06.00.10)。

    3年前、我从 TI 网站的 Processor SDK 中获得了它。

    此致、
    Taku
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉、此 SDK 已停产、TI 不再支持。 请转至最新的 SDK: software-dl.ti.com/.../index_FDS.html