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 }