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**** 2540720 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/583200/linux-am3352-ddr3-timing-issue

器件型号:AM3352

工具/软件:Linux

我们有一个使用 Hynix 的1个 DDR3存储器芯片的 Sitara 设计。 (H5TQ2G63DFR-H9C)。

DDR3时钟设置为303MHz。

内核3.2.0

现在、我们要将 DDR 存储器更改为4Gbit 器件(H5TQ4G63CFR-RDC)。

比较这两个存储器数据表不显示任何时序差分、因此相同的时钟频率。 应适用于4Gbit 器件。

但我们必须恢复时钟频率。 配置寄存器中的285MHz、以便正确引导。  然而、这不是我们要继续使用的频率。  我们不想降低频率。 该问题可能表明、我们首先面临可能的时序违规。

请参阅下面我们当前使用的寄存器值的详细信息。 使用 Micron MT41J128M16JT-125的设置。 (尽管我们使用的是 Hynix 器件)。

CM_CLKSEL_DPLL_DDR 寄存器(偏移= 40h):0x00012F17

CM_DIV_M2_DPLL_DDR 寄存器(偏移= A0h):0x00000201

SDRAM_CONFIG (0x4c000008):0x61C04AB2

SDRAM_CONFIG2 (0x4c00000C):0x00000000

SDRAM_REF_CTRL (0x4c000010):0x0000093B

 

U-boot i (DDR_defs.h):  

/* AM335X EMIF 寄存器值*/

#define VTP CTRL_READY                      (0x1 <<5)

#define VTP CTRL_ENABLE                    (0x1 <<6)

#define VTP CTRL_START_EN    (0x1)

#define PHY_DLL_LOCK_DIFF    0x0

#define DDR_CKE_CTRL_NORMAL       0x1

 

/* Micron MT41J128M16JT-125 *

#define DDR3_EMIF_READ_DERAT等待  时间0x100006       //启用动态断电*/

#define DDR3_EMIF_TIM1            0x0888A39B

#define DDR3_EMIF_TIT2            0x26337FDA

#define DDR3_EMIF_TIM3            0x501F830F

#define DDR3_EMIF_SDCFG                    0x61C04AB2

#define DDR3_EMIF_SDREF                     0x0000093B

#define DDR3_ZQ_CFG                  0x50074BE4

#define DDR3_DLL_LOCK_DIFF  0x1

#define DDR3_RA比                     0x40

#define DDR3_INOP_CLKOUT 0x1

#define DDR3_RD_DQS                 0x3B

#define DDR3_WR_DQS                 0x85

#define DDR3_PHY_WR_DATA   0xC1

#define DDR3_PHY_FIFO_WE      0x100

#define DDR3_IOCTRL_Value   0x18B