We have a custom board implementing the TMX version of the C6678 and an interface to a 32-bit wide DDR3 setup using two x16 Micron chips. Our design is very similar to the setup on the EVM board. We have the same terminations, power supply setup, clocks, and DDR chip connections. We are now trying to get the memory interface running and are running into some trouble. On the software side, we have tried using the initialization code from from the EVM with some register modifications for our specific geometry and timings, but we are not getting any results.
In the process of troubleshooting this, I have probed some of the DDR signals and found the following:
All of the VTT terminated signals are normally at 0.75V, but I don't think I ever see the DSP actually drive anything on the signals. I do see it drive DDR_RESET low during initialization, but then it just releases the line back to 0.7V at the end. According to the DDR spec, it should be driving this to >1.2V. It really seems like the DDR controller is not attempting to put anything out on the bus, or possibly can only pull the lines low and not actually drive them high.
After setting up the DDR PLL, I see the differential DDRCLKOUT0 P/N at 667MHz, but after initiating the DDR full leveling mode, the DDRCLKOUT0 signals are both pulled low and the clock disappears. I can get it back by issuing a DDR PHY Reset.
Is there anything in hardware or register setup that could cause these situations or is the chip perhapse damaged? Our board actually has two copies of this setup (6678 connected to DDR3) and I see this behavior on both.
Any hints would be greatly appreciated.
Thanks,
Adam