From 194d0c45def9732f8fe14d17182e11631490b3c1 Mon Sep 17 00:00:00 2001 From: Jarried Lin Date: Thu, 16 Jan 2025 13:59:58 +0800 Subject: [PATCH] soc/mediatek/mt8196: Add mtk-fsp loader in romstage Reserve 64KB memory at 0x02140000 for mtk_fsp_romstage.elf. BUG=b:373797027 TEST=build pass Signed-off-by: Jarried Lin Change-Id: I73710227e6d9e3f0c717e17db0cc798265eb1f72 Reviewed-on: https://review.coreboot.org/c/coreboot/+/86014 Reviewed-by: Yidi Lin Reviewed-by: Yu-Ping Wu Tested-by: build bot (Jenkins) --- src/soc/mediatek/common/include/soc/memlayout.h | 3 +++ src/soc/mediatek/mt8196/Makefile.mk | 8 ++++++++ src/soc/mediatek/mt8196/include/soc/memlayout.ld | 1 + 3 files changed, 12 insertions(+) diff --git a/src/soc/mediatek/common/include/soc/memlayout.h b/src/soc/mediatek/common/include/soc/memlayout.h index 9e5f11bb3a..5bb5c38533 100644 --- a/src/soc/mediatek/common/include/soc/memlayout.h +++ b/src/soc/mediatek/common/include/soc/memlayout.h @@ -18,6 +18,9 @@ _ = ASSERT(size % 4K == 0, \ "DRAM DMA buffer should be multiple of smallest page size (4K)!"); +#define FSP_ROMSTAGE_INIT_CODE(addr, size) \ + REGION(fsp_romstage_init_code, addr, size, 64K) + #define FSP_RAMSTAGE_INIT_CODE(addr, size) \ REGION(fsp_ramstage_init_code, addr, size, 64K) diff --git a/src/soc/mediatek/mt8196/Makefile.mk b/src/soc/mediatek/mt8196/Makefile.mk index 84bf3b66b8..80dac20cd2 100644 --- a/src/soc/mediatek/mt8196/Makefile.mk +++ b/src/soc/mediatek/mt8196/Makefile.mk @@ -97,6 +97,14 @@ $(DRAM_CBFS)-type := stage $(DRAM_CBFS)-compression := $(CBFS_PRERAM_COMPRESS_FLAG) cbfs-files-y += $(DRAM_CBFS) +FSP_ROMSTAGE_CBFS := $(CONFIG_CBFS_PREFIX)/mtk_fsp_romstage +$(FSP_ROMSTAGE_CBFS)-file := $(MT8196_BLOB_DIR)/mtk_fsp_romstage.elf +$(FSP_ROMSTAGE_CBFS)-type := stage +$(FSP_ROMSTAGE_CBFS)-compression := $(CBFS_PRERAM_COMPRESS_FLAG) +ifneq ($(wildcard $($(FSP_ROMSTAGE_CBFS)-file)),) +cbfs-files-y += $(FSP_ROMSTAGE_CBFS) +endif + FSP_RAMSTAGE_CBFS := $(CONFIG_CBFS_PREFIX)/mtk_fsp_ramstage $(FSP_RAMSTAGE_CBFS)-file := $(MT8196_BLOB_DIR)/mtk_fsp_ramstage.elf $(FSP_RAMSTAGE_CBFS)-type := stage diff --git a/src/soc/mediatek/mt8196/include/soc/memlayout.ld b/src/soc/mediatek/mt8196/include/soc/memlayout.ld index 6c35a4754e..74f1543ef2 100644 --- a/src/soc/mediatek/mt8196/include/soc/memlayout.ld +++ b/src/soc/mediatek/mt8196/include/soc/memlayout.ld @@ -57,6 +57,7 @@ SECTIONS OVERLAP_DECOMPRESSOR_VERSTAGE_ROMSTAGE(0x02096000, 272K) PRERAM_CBFS_CACHE(0x020DA000, 48K) PRERAM_CBMEM_CONSOLE(0x020E6000, 340K) + FSP_ROMSTAGE_INIT_CODE(0x02140000, 64K) SRAM_L2C_END(0x02200000) DRAM_START(0x80000000)