Tool/software: Linux
Team,
One of my customers using Am3359 with the MT41J128M16JT-125, 1600 Speed bin (https://www.micron.com/parts/dram/ddr3-sdram/mt41j128m16jt-125 ). With the following settings they are able to get the levelling done but DDR test is failing. They also have referred to( https://e2e.ti.com/support/processors/f/791/t/469075?AM335x-DDR3-400MHz-SW-leveling-issue)
#define ALLOPP_DDR3_READ_LATENCY 0x00100008
#define ALLOPP_DDR3_SDRAM_TIMING1 0x0AAAD4DB //0xEAAAE4E3
#define ALLOPP_DDR3_SDRAM_TIMING2 0x28377FDA //0x266b7FDA
#define ALLOPP_DDR3_SDRAM_TIMING3 0x501F833F // 0x5F7F867F
#define ALLOPP_DDR3_SDRAM_CONFIG 0x61A05282 //0x61C05932
#define ALLOPP_DDR3_REF_CTRL 0x00000C30 //400 MHz * 7.8us
#define ALLOPP_DDR3_ZQ_CONFIG 0x50074BE4
Optimized values after leveling:
#define CMD_PHY_CTRL_SLAVE_RATIO 0x80
#define CMD_PHY_INVERT_CLKOUT 0x0
#define DATA_PHY_RD_DQS_SLAVE_RATIO 0x38
#define DATA_PHY_FIFO_WE_SLAVE_RATIO 0xAA //RD DQS GATE
#define DATA_PHY_WR_DQS_SLAVE_RATIO 0x31
#define DATA_PHY_WR_DATA_SLAVE_RATIO 0x63 //WRITE DATA
#define DDR_IOCTRL_VALUE (0x18B)
Couple of other observations:
1. With above settings + configuring the DDR PLL to 400 Mhz the levelling reurtns all ZEROs. So currently setting pll as :DDR_PLL_Config( CLKIN, 23, 303, 1);
2. If I hit the continuous refresh the values gets updated always.
OUtput of the Data Integrety test:
CortxA8: GEL Output: No of Failed locations are :: 0x00000004
CortxA8: GEL Output: No of Failed locations are :: 0x00000004
CortxA8: GEL Output: No of Failed locations are :: 0x00000004
CortxA8: GEL Output: No of Failed locations are :: 0x00000004
CortxA8: GEL Output: No of Failed locations are :: 0x00000004
CortxA8: GEL Output: No of Failed locations are :: 0x00000004
CortxA8: GEL Output: No of Failed locations are :: 0x00000004
CortxA8: GEL Output: No of Failed locations are :: 0x00000004
CortxA8: GEL Output: No of Failed locations are :: 0x00000004
CortxA8: GEL Output: No of Failed locations are :: 0x00000004
CortxA8: GEL Output: No of Failed locations are :: 0x00000004
CortxA8: GEL Output: No of Failed locations are :: 0x00000004
CortxA8: GEL Output: No of Failed locations are :: 0x00000004
CortxA8: GEL Output: No of Failed locations are :: 0x00000004
CortxA8: GEL Output: Data Integrity check Failed
Any pointers ?
Best Regards, Shiv