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.

Linux/AM5728: 4GB DDR memory configuration

Part Number: AM5728

Tool/software: Linux

Hi All,

Ti EVM and IDK support 1GB for per EMIF, total 2GB DDR memory.

Can we make it support 2GB per EMIF, total 4GB DDR?

If yes, How to do the configure? Use interleaving mode? Or not?

If disable interleaving mode, what's the EMIF1 and EMIF2 address mapping?

thanks!

BR,
Denny

  • Hi Denny,

    You should look at the dra7xx evm.c file to see how they manage to set the 4GB ddr.

    Try adding the following in am57xx_evm.h:
    #define CONFIG_VERY_BIG_RAM
    #define CONFIG_NR_DRAM_BANKS 2
    #define CONFIG_MAX_MEM_MAPPED 0x80000000

    If just the above doesn't work, try adding the following code in dram_init_banksize() (see common/board_f.c):
    int dram_init_banksize(void)
    {
    u64 ram_size;

    ram_size = board_ti_get_emif_size();

    gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
    gd->bd->bi_dram[0].size = get_effective_memsize();
    if (ram_size > CONFIG_MAX_MEM_MAPPED) {
    gd->bd->bi_dram[1].start = 0x200000000;
    gd->bd->bi_dram[1].size = ram_size - CONFIG_MAX_MEM_MAPPED;
    }

    return 0;
    }

    You can reference this thread:
    e2e.ti.com/.../586776

    Best Regards,
    Yordan