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.

DRA750: How to make the same uboot FW to support 2 different ram-sized custom board with the same CPU module

Part Number: DRA750
Other Parts Discussed in Thread: DRA752

Hi TI expert,

I'm working on two custom board with DRA752 ES2.0 with 2 different ram size, but I don't know how to differentiate two different ram-sized custom board at the same uboot FW.

Software (SDK) version :u-boot: U-Boot SPL 2016.05 + Linux kernel: 4.4.45

I check the function emif_get_dmm_regs() below and it seems like saying using board_ti_get_emif_size() can load different dmm_lisa_map_regs for different ram-sized custom board.

But I found board_ti_get_emif_size() always return 0. And I look into board_ti_get_emif_size(), board_ti_get_emif1_size() return 0 at line 304.

My question is why board_ti_get_emif_size() doesn't work and how to make it works? 

void emif_get_dmm_regs(const struct dmm_lisa_map_regs **dmm_lisa_regs)
{
    u64 ram_size;

    ram_size = board_ti_get_emif_size();

    switch (omap_revision()) {
    case DRA752_ES1_0:
    case DRA752_ES1_1:
    case DRA752_ES2_0:
        if (ram_size > CONFIG_MAX_MEM_MAPPED)
            *dmm_lisa_regs = &lisa_map_dra7_2GB;
        else
            *dmm_lisa_regs = &lisa_map_dra7_1536MB;
        break;
...
}

299 u64 __maybe_unused board_ti_get_emif1_size(void)
300 {
301     struct ti_common_eeprom *ep = TI_EEPROM_DATA;
302
303     if (ep->header != DRA7_EEPROM_HEADER_MAGIC)
304         return 0;
305
306     return ep->emif1_size;
307 }