summaryrefslogtreecommitdiff
path: root/src/soc/mediatek/mt8192/Makefile.inc
diff options
context:
space:
mode:
authorRoger Lu <roger.lu@mediatek.com>2020-07-10 15:29:31 +0800
committerHung-Te Lin <hungte@chromium.org>2020-12-10 03:22:36 +0000
commita5f472bf57e8897c4c47dce6050f0dfacfca5f13 (patch)
treed1c6fa3b61f3bb65b0c1bd60f5116741c298ca73 /src/soc/mediatek/mt8192/Makefile.inc
parenteb69dd60ef995ddddd2c831bc006e7397ddbcf79 (diff)
downloadcoreboot-a5f472bf57e8897c4c47dce6050f0dfacfca5f13.tar.xz
soc/mediatek/mt8192: add spmfw loader
This patch adds support for loading spm firmware from cbfs to spm sram. Spm needs its own firmware to enable spm suspend/resume function which turns off several resources such as DRAM/mainpll/26M clk when linux system suspend. BUG=b:159079649 TEST=suspend with command `powerd_dbus_suspend` and wake up the DUT by powerkey Signed-off-by: Roger Lu <roger.lu@mediatek.com> Change-Id: I6478b98f426d2f3e0ee919d37d21d909ae8a6371 Reviewed-on: https://review.coreboot.org/c/coreboot/+/46389 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Diffstat (limited to 'src/soc/mediatek/mt8192/Makefile.inc')
-rw-r--r--src/soc/mediatek/mt8192/Makefile.inc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/soc/mediatek/mt8192/Makefile.inc b/src/soc/mediatek/mt8192/Makefile.inc
index 8c7fe0d2a9..3caa1efe17 100644
--- a/src/soc/mediatek/mt8192/Makefile.inc
+++ b/src/soc/mediatek/mt8192/Makefile.inc
@@ -43,12 +43,23 @@ ramstage-y += ../common/mcu.c
ramstage-y += ../common/mmu_operations.c mmu_operations.c
ramstage-y += ../common/mtcmos.c mtcmos.c
ramstage-y += soc.c
+ramstage-y += spm.c
ramstage-y += ../common/timer.c
ramstage-y += ../common/uart.c
ramstage-y += ../common/usb.c usb.c
MT8192_BLOB_DIR := 3rdparty/blobs/soc/mediatek/mt8192
+mcu-firmware-files := \
+ $(CONFIG_SPM_FIRMWARE)
+
+$(foreach fw, $(call strip_quotes,$(mcu-firmware-files)), \
+ $(eval $(fw)-file := $(MT8192_BLOB_DIR)/$(fw)) \
+ $(eval $(fw)-type := raw) \
+ $(eval $(fw)-compression := $(CBFS_COMPRESS_FLAG)) \
+ $(if $(wildcard $($(fw)-file)), $(eval cbfs-files-y += $(fw)), ) \
+)
+
DRAM_CBFS := $(CONFIG_CBFS_PREFIX)/dram
$(DRAM_CBFS)-file := $(MT8192_BLOB_DIR)/dram.elf
$(DRAM_CBFS)-type := stage