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.

Custom Board DDR3 init

Other Parts Discussed in Thread: TEST2

I'm have custom board with DM8168 and DDR3. DDR3 not  working with default GEL.

But I have next:

Test1

1. Load default GEL

2. Load ddr.out from spectrum digital test tools:

01  Testing DDR...
Error at 80000088
     FAIL... error code 255... quitting

Test2:

1. Load default GEL

2. Load DDR3_SlaveRatio_ByteWiseSearch_TI816x.out

[CortexA8] Enter 0 for DDR Controller 0 & 1 for DDR Controller 1
0
DDR START ADDR=0x80000000

3. Susped program

4. Load ddr.out from spectrum digital test tools:

Enter 0 for DDR Controller 0 & 1 for DDR Controller 1
0
DDR START ADDR=0x80000000

Enter the Seed Read DQS Gate Ratio Value in Hex to search the RD DQS Gate Window

 SUSPENDED PROGRAM an LOAD DDR.OUT


01  Testing DDR...
    PASS

***ALL Tests Passed***

What do DDR3_SlaveRatio_ByteWiseSearch_TI816x.out with DDR3 configuration, after that all works?

I'm changing GEL  using link http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_DDR3_Init , but i haven't some effect.

I change SWLEVEL_WR_DQS_RATIO_BYTE_LANEx, SWLEVEL_RD_DQS_RATIO, SWLEVEL_DQS_GATE_BYTE_LANEx , with param from DDR3_SlaveRatio_ByteWiseSearch_TI816x.out , but DDR3 still not working.

  • I disassembled DDR3_SlaveRatio_ByteWiseSearch_TI816x.out, and found that after turning off interleaving DDR3 EMIF0 and EMIF1 work correct.

    Which is better to use the values ​​for registers  DMM_LISA_MAP_xx ?  I use 2GB memory per 1G on EMIFx (MT41G08M256-125 x 8) , DM8168 chip revision 1.1

  • Hello,

    I understand that you are using only one of the two DDR3 controllers, is that correct? Are you using DDR3_0 (EMIF0) or DDR3_1 (EMIF1)? What is the DDR3 memory size that you are using on your custom board?

    For example, on the TI 816x/389x EVM, we have both DDR3 controllers used, we have 4 memory chips attached to DDR3_0 and 4 memory chips attached to DDR3_1. The total DDR3 memory size is 1GB (8 memory chips x 1Gb each).

    Refer to the following wiki page, for how to program the DMM_LISA_MAP_x registers:

    http://processors.wiki.ti.com/index.php/EZSDK_Memory_Map

    Regards,

    Pavel

  • Thanks for the reply.

    We use 2 GByte of memory on our board. Eight memory chips by 2Gb each.

    After reading the article became clear memory organization.
    If I want to use the memory of the mute inteliving DDR3 I must make the following settings?

    DMM_LISA_MAP__0 = 0
    DMM_LISA_MAP__1 = 0
    DMM_LISA_MAP__2 = 0x80600100
    DMM_LISA_MAP__3 = 0xC0600200

    And I am confused by what I found in the file of evm.c
    u-boot-2010.06-psp04.04.00.01

    / * Program the DMM to for interleaved configuration * /
    __raw_writel (0x0, DMM_LISA_MAP__0);
    __raw_writel (0x0, DMM_LISA_MAP__1);
    __raw_writel (0x80640300, DMM_LISA_MAP__2);
    __raw_writel (0xC0640320, DMM_LISA_MAP__3);
    Following code programs the LISA registers for 2GB physical memory (default configuration).


    But it EVM ti816x has only 1GB of memory, or it does not matter, and memory uses addresses from 0x80000000 to 0xC0000000, and others simply are not available



  • Yes, I think these settings should work fine for your board.

    Regards,

    Pavel