主题中讨论的其他器件:DRA752
您好、TI 专家、
我正在使用 DRA752 ES2.0的两个定制板进行设计、具有2个不同的 RAM 大小、但我不知道如何在同一 uboot FW 中区分两个不同的 RAM 大小的定制板。
软件(SDK)版本:u-boot:U-Boot SPL 2016.05 + Linux 内核:4.4.45
我检查 下面的函数 EMIF_GET_DMM_regs ()、 看起来就像使用 board_ti_get_EMIF_size ()可以 为 不同的 RAM 大小的定制板加载不同的 DMM_LISA_MAP_regs。
但我发现 board_ti_get_EMIF_SIZE ()始终返回0。 然后我来看看 board_ti_get_EMIF_size ()、 board_ti_get_emif1_size ()在 304行返回0。
我的问题是 为什么 board_ti_get_emif_size ()不起作用以及如何使它起作用?
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 }