This may be a long shot, but I am seeing baffling behavior when attempting to read/write DDR3 from using the AM3359 and am wondering if anyone can provide any insight.
The setup is a custom board with an AM3359 and a 1 Gb DDR3 chip. We are bring up the first build of the board. I am using CC Studio to read/write RAM. For register configuration, I started with the AM3358 starter kit gel script and adapted it for my board. I have used the TI wiki pages, including the spreadsheets provided, along with my RAM chip spec to determine the proper EMIF configuration and timing register settings and have updated the gel script accordingly.
Starting with address 0x8000000, every eighth word of the DDR3 cannot be read/written. That is to say, when the lower 3 bits of equivalent word address (or bits 1-3 of the equivalent byte address) are all zeros, a read does not match a preceding write to the same address. But for any address that has at least 1 non-zero bit in the lower 3 bits of the word address, a read does match a preceding write to the same address. I have verified that independence of reading/writing the words that work. Writing a word to word address 1 does not affect reads of words at 2-7. Also, the values read at words 0, 8, 16, etc. appear to be random and do not reflect each other.
There is definitely something wrong with the register configuration and/or the board design, but I have no idea what could cause all addresses to work except for word addresses where the lower 3 bits are all zero. Has anyone seen anything like this? Any ideas on what might be going on or what to do to diagnose it?
Thanks
--Josh