Felix Held has submitted this change. ( https://review.coreboot.org/c/coreboot/+/63109 )
Change subject: soc/mediatek: Add a configurate "USE_CBMEM_DRAM_INFO" ......................................................................
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 --- M src/soc/mediatek/common/Kconfig M src/soc/mediatek/common/memory.c 2 files changed, 12 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Yu-Ping Wu: Looks good to me, approved
diff --git a/src/soc/mediatek/common/Kconfig b/src/soc/mediatek/common/Kconfig index cd3b2a2..2adb344 100644 --- a/src/soc/mediatek/common/Kconfig +++ b/src/soc/mediatek/common/Kconfig @@ -50,4 +50,10 @@ and dumps to internal RAM on the WDT reset. We reserve 1MB on DRAM 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 diff --git a/src/soc/mediatek/common/memory.c b/src/soc/mediatek/common/memory.c index 0850d0f..ab1ccb5 100644 --- a/src/soc/mediatek/common/memory.c +++ b/src/soc/mediatek/common/memory.c @@ -134,6 +134,12 @@ struct mem_chip_info *mc; 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; mc = cbmem_add(CBMEM_ID_MEM_CHIP_INFO, size); assert(mc);