Hi,
My DM6446 target boards use Micron MT47H64M16HR-3 IT:H as the DDR2 SDRAM part. I have two target boards with me now and when my application is run on them, it hangs in one of the target boards after sometime, but in the other board, it runs fine without hangs. I strongly believe that this behaviour is due to improper configuration of DDR2 Controller Registers in the Uboot. The following are the values which i have calculated as per the DM6446 DDR2 Controller Datasheet, by referring values from my DDR2 SDRAM part Datasheet.
SDBCR - 0x00178632 (TIMUNLOCK bit is cleared after writing the SDTIMR and SDTIMR2 registers, DDR2 data bus width=32,CL=3 for DDR2-400 Specification,IBANK=8 Banks,PAGESIZE=1024-word page requiring10 column address bits)
SDRCR- 0x00000279 (3.90625uS*162MHz=633)
SDTIMR- 0x28923211 (tRFC=127.5ns,tRP=15ns,tRCD=15ns,tWR=15ns,tRAS=40ns,tRC=55ns,tRRD=10ns,tWTR=7.5ns)
SDTIMR2- 0x0016C722 (tXSNR= 137.5ns,tXSRD=200,tRTP=7.5,tCKE=3)
DDRPHYCR- 0x50006404 (READLAT=3(CL)+2(Round Board Trip delay, assumtion only)-1= 4
I am running my DDR2 SDRAM chip at 162MHz (tCK=6.17ns) and the above values are set in the platform.S file in the Uboot (ver.1.1.3). The DDR2 SDRAM part datasheet is available at
http://download.micron.com/pdf/datasheets/dram/ddr2/1GbDDR2.pdf for reference.
Please help me by checking the above values. Will DM6446 DDR2 Controller support only DDR2-400 SDRAM memory Specification? (Ref:Section 1.4 in DDR2 Controller Datasheet).