This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OMAP-L138 read the wrong data from the DDR2

Other Parts Discussed in Thread: OMAP-L138

Hello all

       in my design I use the chip OMAP-L138, but I meet trouble when I debug the DDR2 , there is different between the data I write to DDR2 and the data I read from it.

The basic description is this

1/  I use the DDR2 which is MT47H128M8CF-3, the datawidth is 8, and I use 2 chip to compose a 16 bit datawidth referring to the page 129 in the datasheet of OMAP-L138

2/  the frequency to DDR2 is 150Mhz, and I use the device.c file which come from < OMAP-L138_FlashAndBootUtils_2_36> to configure the OMAP-L138 ,and given that there is mDDR in OMAP-L138EVM and DDR2 in my board, I change some registers as this

                                     SDCR        0x00134A32

                                    SDRCR       0x00000492

                                  SDTIME1      0x26922A09

                                SDTIMR2       0x3C14C722

                                DRPHYC1R    0x000000C6

3/  I attempt to read one data right now after when I write to it and find that it’s the same data. But when I write a heap of data and then read it ,I find that it’s wrong, such as

                          0x00000001                     0x00040001

                          0x00000002                     0x00040002

                         0x00000003                     0x00040003

                                …… .                           ……  

The left side is the data I write , and the right is the data I read . I don’t think it is the address line has problem, because I can read the same data right now after when I write to it byte by byte. But how does it be this?

4/  I use the same program to write the OMAP-L138EVM except the configuration of the 5 registers above because there is mDDR in OMAP-L138EVM. And I find I can get the same data with the which I have written. But in my board, I changed these registers and find it can’t work.

Generally speaking, I think the DDR2 can’t hold the data I have written, so does any one meet the same problem?

Best Regards,

xunliang