summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/drivers/intel/fsp2_0/Kconfig12
-rw-r--r--src/drivers/intel/fsp2_0/memory_init.c3
-rw-r--r--src/soc/amd/picasso/Kconfig2
3 files changed, 9 insertions, 8 deletions
diff --git a/src/drivers/intel/fsp2_0/Kconfig b/src/drivers/intel/fsp2_0/Kconfig
index 3caa04ac25..00bfd67b50 100644
--- a/src/drivers/intel/fsp2_0/Kconfig
+++ b/src/drivers/intel/fsp2_0/Kconfig
@@ -132,12 +132,14 @@ config FSP_USES_CB_STACK
config FSP_TEMP_RAM_SIZE
hex
- depends on FSP_USES_CB_STACK
help
- The amount of anticipated heap usage in CAR by FSP to setup HOB.
- This configuration is applicable for FSP specification using shared
- stack with coreboot/bootloader.
- Sync this value with Platform FSP integration guide recommendation.
+ The amount of memory coreboot reserves for the FSP to use. In the
+ case of FSP 2.1 and newer that share the stack with coreboot instead
+ of having its own stack, this is the amount of anticipated heap usage
+ in CAR by FSP to setup HOB and needs to be the recommended value from
+ the Platform FSP integration guide. In the case of the FSP having its
+ own stack that will be placed in DRAM and not in CAR, this is the
+ amount of memory the FSP needs for its stack and heap.
config FSP2_0_USES_TPM_MRC_HASH
bool
diff --git a/src/drivers/intel/fsp2_0/memory_init.c b/src/drivers/intel/fsp2_0/memory_init.c
index 7f5d389592..57a052037e 100644
--- a/src/drivers/intel/fsp2_0/memory_init.c
+++ b/src/drivers/intel/fsp2_0/memory_init.c
@@ -184,8 +184,9 @@ static enum cb_err fsp_fill_common_arch_params(FSPM_ARCH_UPD *arch_upd,
* top and does not reinitialize stack pointer. The parameters passed
* as StackBase and StackSize are actually for temporary RAM and HOBs
* and are not related to FSP stack at all.
+ * Non-CAR FSP 2.0 platforms pass a DRAM location for the FSP stack.
*/
- if (CONFIG(FSP_USES_CB_STACK)) {
+ if (CONFIG(FSP_USES_CB_STACK) || !ENV_CACHE_AS_RAM) {
arch_upd->StackBase = temp_ram;
arch_upd->StackSize = sizeof(temp_ram);
} else if (setup_fsp_stack_frame(arch_upd, memmap)) {
diff --git a/src/soc/amd/picasso/Kconfig b/src/soc/amd/picasso/Kconfig
index 8001b7a20c..1b83000d32 100644
--- a/src/soc/amd/picasso/Kconfig
+++ b/src/soc/amd/picasso/Kconfig
@@ -53,7 +53,6 @@ config CPU_SPECIFIC_OPTIONS
select PLATFORM_USES_FSP2_0
select FSP_COMPRESS_FSP_M_LZMA
select FSP_COMPRESS_FSP_S_LZMA
- select FSP_USES_CB_STACK
select UDK_2017_BINDING
select HAVE_CF9_RESET
select SUPPORT_CPU_UCODE_IN_CBFS
@@ -377,7 +376,6 @@ config MAINBOARD_POWER_RESTORE
config FSP_TEMP_RAM_SIZE
hex
- depends on FSP_USES_CB_STACK
default 0x40000
help
The amount of coreboot-allocated heap and stack usage by the FSP.