soc/mediatek: Add a configurate "USE_CBMEM_DRAM_INFO"

The memory initialization reference code didn't support returning
DRAM information in the old platforms, for example MT8192 and MT8195.
So we have to add a new configuration USE_CBMEM_DRAM_INFO to make
sure the common code will try to get DRAM information on new
platforms supporting that.

BUG=none
TEST=build pass

Signed-off-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
Change-Id: Iebe9ea0c1d01890b09fdf586813d85adde9702e1
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63109
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
This commit is contained in:
Rex-BC Chen 2022-03-25 15:53:22 +08:00 committed by Felix Held
parent a7477706a0
commit c69ea24ba8
2 changed files with 12 additions and 0 deletions

View File

@ -50,4 +50,10 @@ config MTK_DFD
and dumps to internal RAM on the WDT reset. We reserve 1MB on DRAM and dumps to internal RAM on the WDT reset. We reserve 1MB on DRAM
to store logs of DFD. to store logs of DFD.
config USE_CBMEM_DRAM_INFO
bool "Support filling dram information to cbmem"
help
The DRAM initialization will keep and return DRAM information (size,
geometry and other DDR info) so we can fill that into the CBMEM.
endif endif

View File

@ -134,6 +134,12 @@ static void add_mem_chip_info(int unused)
struct mem_chip_info *mc; struct mem_chip_info *mc;
size_t size; size_t size;
if (!CONFIG(USE_CBMEM_DRAM_INFO)) {
printk(BIOS_DEBUG,
"DRAM-K: CBMEM DRAM info is unsupported (USE_CBMEM_DRAM_INFO)\n");
return;
}
size = sizeof(*mc) + sizeof(struct mem_chip_channel) * CHANNEL_MAX; size = sizeof(*mc) + sizeof(struct mem_chip_channel) * CHANNEL_MAX;
mc = cbmem_add(CBMEM_ID_MEM_CHIP_INFO, size); mc = cbmem_add(CBMEM_ID_MEM_CHIP_INFO, size);
assert(mc); assert(mc);