Hello,
I have been trawling through the posts to see if anything looks similar to my issue but alas no.
The board I have is based on the AM3358 and has been configured to run 2x 512x8 DDR3 parts from Samsung.
I have been through the steps defined in the wiki for configuring the interface but I cannot seem to get the operation reliable.
The memory part is K4B4G0846D-BCH9 and its rating is DDR3-1333 (9-9-9) so it should easily be able to handle the 800 (6-6-6) I am trying to configure it to.
When I enter all the values into the xls spreadsheet I get the following values:
Memory datasheet symbol | Memory Datasheet value | unit |
tCK | 2.5 | ns |
tRP | 15 | ns |
tRCD | 15 | ns |
tWR | 15 | ns |
tRAS | 37.5 | ns |
tRC | 52.5 | ns |
tRRD | 4 | tCK |
tWTR | 4 | tCK |
tXP | 3 | tCK |
ODTLon | 3 | tCK |
tXS | 170 | ns |
tXSDLL | 512 | tCK |
tRTP | 4 | tCK |
tCKE | 3 | tCK |
tZQCS | 64 | tCK |
tRFC | 160 | ns |
0AAAE51B |
26437FDA |
501F83FF |
I have then used the values in a config gel file to initialise the interface and then test the RAM
#define CMD_PHY_CTRL_SLAVE_RATIO 0x80
#define CMD_PHY_INVERT_CLKOUT 0x0
#define DATA_PHY_RD_DQS_SLAVE_RATIO 0x3C
#define DATA_PHY_FIFO_WE_SLAVE_RATIO 0x97 //RD DQS GATE
#define DATA_PHY_WR_DQS_SLAVE_RATIO 0x62
#define DATA_PHY_WR_DATA_SLAVE_RATIO 0x96 //WRITE DATA
#define DDR_IOCTRL_VALUE (0x18B)
//******************************************************************
//EMIF parameters
//******************************************************************
#define ALLOPP_DDR3_READ_LATENCY 0x07 //RD_Latency = (CL + 2) - 1
#define ALLOPP_DDR3_SDRAM_TIMING1 0x0AAAE51B
#define ALLOPP_DDR3_SDRAM_TIMING2 0x26437FDA
#define ALLOPP_DDR3_SDRAM_TIMING3 0x501F83FF
#define ALLOPP_DDR3_SDRAM_CONFIG 0x61C04B32
#define ALLOPP_DDR3_REF_CTRL 0x00000C30
#define ALLOPP_DDR3_ZQ_CONFIG 0x50074BE4
But I get many failures, I can peek and poke memory using CCS and the JTAG interface but sometimes writing A5A5A5A5 to a location it manages to latch A5FFA5FF.
I am starting to pull my hair out with this now, any help appreciated in getting this board up and running.
Thanks
Marc