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.
我沿用了BeagleBone-Black Rev C DDR3L(TPS65217C + MT41K256M16HA -125:E,没有加VTT电路)的电路和布板,做了一样机(改eMMC为NAND)。
从UART0启动时,能导入MLO,但导入UBOOT时,报错(有时能传部份,如40%,有时一开始就报错),基本认为是DDR3L 传送数据不稳定造成。
因为空间小,样机没有SD,现也没有仿真器, 无法做DDR3 software leveling。
想借用BeagleBone-Black Rev C DDR3L 参数配置值或原代码,请大家帮忙提供,和提出其他建议,谢谢!
你是抄的BBB的layout吗?注意,是layout?
因为对于DDR3的配置中,有两个部分,一个是EMIF的配置,和DDR3 PHY本身相关,一个是LAYOUT,这个决定了一些参数,如果这两者都是一样的,你可以直接拿BBB的配置进行,如下:
//DDR3=400Mhz
//OPPTurbo
//******************************************************************
//*******************************************************************
//DDR3 PHY parameters
//*******************************************************************
#define CMD_PHY_CTRL_SLAVE_RATIO 0x40
#define CMD_PHY_INVERT_CLKOUT 0x1
#define DATA_PHY_RD_DQS_SLAVE_RATIO 0x38 //AB modified
#define DATA_PHY_FIFO_WE_SLAVE_RATIO 0x94 //RD DQS GATE // AB modified 0x100
#define DATA_PHY_WR_DQS_SLAVE_RATIO 0x44 //AB modified
#define DATA_PHY_WR_DATA_SLAVE_RATIO 0x7D //WRITE DATA //AB modified 0xC1
#define DDR_IOCTRL_VALUE (0x18B)
//******************************************************************
//EMIF parameters
//******************************************************************
#define ALLOPP_DDR3_READ_LATENCY 0x100007 //AB modified //RD_Latency = (CL + 2) - 1 = 6 + 2 - 1 = 7 // Also the leading 1 seem to linked with IO receiver power down capability of the DDR3L
#define ALLOPP_DDR3_SDRAM_TIMING1 0x0AAAD4DB //AB modified
#define ALLOPP_DDR3_SDRAM_TIMING2 0x266B7FDA
#define ALLOPP_DDR3_SDRAM_TIMING3 0x501F867F
#define ALLOPP_DDR3_SDRAM_CONFIG 0x61C05332 //termination = 1 (RZQ/4) //AB modified
//dynamic ODT = 2 (RZQ/2)
//SDRAM drive = 0 (RZQ/6)
//CWL = 0 (CAS write latency = 5)
//CL = 4 (CAS latency = 6)
//ROWSIZE = 6 (15 row bits)
//PAGESIZE = 2 (10 column bits)
#define ALLOPP_DDR3_REF_CTRL 0x00000C30 // AB modified //400 * 7.8us = 0xC30
#define ALLOPP_DDR3_ZQ_CONFIG 0x50074BE4
如果layout是自己布的话,建议你把新的trace长度输入到这张表格中,得到一个更新值,用这组值进行测试
即使是通用的layout,也不能完全保证您的板子上的参数和ti的BB-black上的一致,因为制版的阻抗等可能不一样。
所以,您可以试试BB-Black的参数,如果不稳定也是很有可能的。
谢谢你们的支持和建 议,BB-BLACK DDR3参数移过去,已成功,现样机调试稳定,PCB厂应基本符合了阻抗要求。
但现遇到了另一难题:我们产品是AM3352 通过RGMII 1连接到交换IC:QAC8337N,不是PHY,现无法连接,测量AM3352 发出RGMII TX_CLK只有25M,而QAC8337N发出的是RX_CLK是125M。
现需要你们或有过AM335X接交换IC的朋友指导思路。
请参考附件QCA8337N_Data_Sheet_MKG-17793_v1.0和原理框图AM3352-QAC8337N.
QCA8337N 通过AM3352 GPIO,能配置正常,AC8337N发出的是RX_CLK是125M,已验证。
1. 如果需要将AM3352 MDIO/MDC连接至 QAC8337N,但QAC8337N的register不是标准的PHY register定义, 怎样修改驱动。
2. 如果不将AM3352 MDIO/MDC连接至 QAC8337N,AM3352 RGMII1(MAC) 能否固定在1000M/FULL模式,连接交换IC,可以不用自动协商,修改驱动是会简单点?
1. 你用的这个还是要通过MDIO的读写来进行设置的吧?没有实际操作过,但是个人感觉,不是标准的定义没所谓,其实你只是调用相应的MDIO的读写函数,对相应的寄存器进行赋值就好了。就是阅读起来会麻烦一点,因为写入寄存器的地址一般都是会用宏定义携程固定的标识称谓。
2. TRM手册的14.5.9节,RGMII_CTL寄存器中边有对这个SPEED的设置,另外应该还需要修改MAC Control寄存器,CPSW_SL下偏移量为4h的寄存器,bit 7。