coreboot-kgpe-d16/src
Rex-BC Chen c23235e7dd soc/mediatek/mt8188: Add SPM loader and initialize SPM in RAM stage
Add 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.

SPM is an essential component on MediaTek SoC, so we initialize PPM
in soc_init(). For MT8188, SPM will handshake with DPM to do
initialization, so we need to call spm_init() after dpm_init().

This SPM flow adds 33ms to the boot time.

firmware log:
mtk_init_mcu: Loaded (and reset) spm_firmware.bin in 25 msecs
SPM: spm_init done in 33 msecs, spm pc = 0x400

TEST=spm pc is 0x400 which is in idle state.
BUG=b:236331724

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Change-Id: I1a1f49383e0ceadc259a18272fc1c277b65406ae
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66973
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2022-08-31 16:52:13 +00:00
..
acpi treewide: Unify Google branding 2022-07-04 14:02:26 +00:00
arch x86: Zero SMBIOS region before writing tables 2022-08-26 17:32:30 +00:00
commonlib commonlib/clamp.h: Relicense file to be BSD-compatible 2022-08-17 19:49:13 +00:00
console
cpu arch/x86: Fix MAX_CPUS check proper for late X2APIC config 2022-07-25 10:06:18 +00:00
device device/dram/ddr4.c: note that dimm size calculation won't work for 3DS 2022-08-31 16:45:47 +00:00
drivers drivers/i2c/tpm: Remove TI50_FIRMWARE_VERSION_NOT_SUPPORTED 2022-08-29 04:57:37 +00:00
ec ec/google/chromeec: Call PNOT() when Battery Status Changes 2022-08-26 17:32:43 +00:00
include device/dram: Add function to convert freq to MT/s for (LP)DDR5 2022-08-25 01:00:44 +00:00
lib lib: Add SPDX identifiers to files missing them 2022-08-11 17:53:29 +00:00
mainboard mb/google/rex: Correct EC-is-trusted logic 2022-08-31 13:56:31 +00:00
northbridge nb/intel/sandybridge: Align TOUUD down to 1 MiB granularity 2022-08-26 14:20:26 +00:00
sbom Add SBOM (Software Bill of Materials) Generation 2022-08-22 14:48:46 +00:00
security drivers/i2c/tpm: Remove TI50_FIRMWARE_VERSION_NOT_SUPPORTED 2022-08-29 04:57:37 +00:00
soc soc/mediatek/mt8188: Add SPM loader and initialize SPM in RAM stage 2022-08-31 16:52:13 +00:00
southbridge {sb,soc}/intel: Do not require hda_verb.c 2022-08-23 14:04:47 +00:00
superio superio/ite/common/early_serial.c: ite_kill_watchdog: set timeout to 0 2022-08-07 19:54:43 +00:00
vendorcode vendorcode/intel/fsp: Add Raptor Lake FSP headers for FSP v3301.03 2022-08-31 00:10:15 +00:00
Kconfig Add SBOM (Software Bill of Materials) Generation 2022-08-22 14:48:46 +00:00