soc/mediatek: Initialize SSPM
Load SSPM firmware and boot up SSPM in ramstage. This adds 23ms to the boot time. TEST=Load SSPM blob ok, and we can see some logs of SSPM from AP. Signed-off-by: Rex-BC Chen <rex-bc.chen@mediatek.com> Change-Id: Ia227ea9f7d58129068cb36ec2de7d9feb677006b Reviewed-on: https://review.coreboot.org/c/coreboot/+/55051 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Yu-Ping Wu <yupingso@google.com>
This commit is contained in:
parent
aea59401d0
commit
ab2cbf79b5
|
@ -25,6 +25,12 @@ config MCUPM_FIRMWARE
|
||||||
help
|
help
|
||||||
The file name of the MediaTek MCUPM firmware.
|
The file name of the MediaTek MCUPM firmware.
|
||||||
|
|
||||||
|
config SSPM_FIRMWARE
|
||||||
|
string
|
||||||
|
default "sspm.bin"
|
||||||
|
help
|
||||||
|
The file name of the MediaTek SSPM firmware.
|
||||||
|
|
||||||
config FLASH_DUAL_READ
|
config FLASH_DUAL_READ
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
|
@ -54,6 +54,7 @@ ramstage-y += ../common/mmu_operations.c mmu_operations.c
|
||||||
ramstage-y += ../common/mtcmos.c mtcmos.c
|
ramstage-y += ../common/mtcmos.c mtcmos.c
|
||||||
ramstage-$(CONFIG_SPI_FLASH) += ../common/spi.c spi.c
|
ramstage-$(CONFIG_SPI_FLASH) += ../common/spi.c spi.c
|
||||||
ramstage-y += soc.c
|
ramstage-y += soc.c
|
||||||
|
ramstage-y += ../common/sspm.c
|
||||||
ramstage-y += ../common/timer.c timer.c
|
ramstage-y += ../common/timer.c timer.c
|
||||||
ramstage-y += ../common/uart.c
|
ramstage-y += ../common/uart.c
|
||||||
ramstage-y += ../common/ufs.c
|
ramstage-y += ../common/ufs.c
|
||||||
|
@ -66,7 +67,8 @@ BL31_MAKEARGS += PLAT=mt8195
|
||||||
MT8195_BLOB_DIR := 3rdparty/blobs/soc/mediatek/mt8195
|
MT8195_BLOB_DIR := 3rdparty/blobs/soc/mediatek/mt8195
|
||||||
|
|
||||||
mcu-firmware-files := \
|
mcu-firmware-files := \
|
||||||
$(CONFIG_MCUPM_FIRMWARE)
|
$(CONFIG_MCUPM_FIRMWARE) \
|
||||||
|
$(CONFIG_SSPM_FIRMWARE)
|
||||||
|
|
||||||
$(foreach fw, $(call strip_quotes,$(mcu-firmware-files)), \
|
$(foreach fw, $(call strip_quotes,$(mcu-firmware-files)), \
|
||||||
$(eval $(fw)-file := $(MT8195_BLOB_DIR)/$(fw)) \
|
$(eval $(fw)-file := $(MT8195_BLOB_DIR)/$(fw)) \
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#include <soc/emi.h>
|
#include <soc/emi.h>
|
||||||
#include <soc/mcupm.h>
|
#include <soc/mcupm.h>
|
||||||
#include <soc/mmu_operations.h>
|
#include <soc/mmu_operations.h>
|
||||||
|
#include <soc/sspm.h>
|
||||||
#include <soc/ufs.h>
|
#include <soc/ufs.h>
|
||||||
#include <symbols.h>
|
#include <symbols.h>
|
||||||
|
|
||||||
|
@ -16,6 +17,7 @@ static void soc_init(struct device *dev)
|
||||||
{
|
{
|
||||||
mtk_mmu_disable_l2c_sram();
|
mtk_mmu_disable_l2c_sram();
|
||||||
mcupm_init();
|
mcupm_init();
|
||||||
|
sspm_init();
|
||||||
ufs_disable_refclk();
|
ufs_disable_refclk();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue