From 756f51b66257a5af7789c06156217d6f0319b457 Mon Sep 17 00:00:00 2001 From: Timofey Komarov Date: Tue, 27 Apr 2021 10:54:34 +0300 Subject: soc/intel/skylake: Add Kconfig option for LGA1151v2 Provide a SOC_INTEL_SKYLAKE_LGA1151_V2 option to select correct defaults for the combination of a Union Point PCH with LGA1151v2. As of the year 2021 it's common for motherboards with Z370, H310C or B365 PCHs, which are meant to be paired with Coffee Lake CPUs. Intel provides AmberLakeFspBinPkg to support this combination, which implements Intel FSP External Architecture Specification v2.1. Details: 1) Provide SOC_INTEL_SKYLAKE_LGA1151_V2 option that selects PLATFORM_USES_FSP2_1, SOC_INTEL_COMMON_SKYLAKE_BASE and SKYLAKE_SOC_PCH_H. 2) Add Amberlake FSP support. If SOC_INTEL_SKYLAKE_LGA1151_V2 is set, use AbmerLakeFspBinPkg instead of KabylakeFspBinPkg. 3) Enable Coffee Lake CPUs support. If SOC_INTEL_SKYLAKE_LGA1151_V2 is set, select MAINBOARD_SUPPORTS_COFFEELAKE_CPU. 4) Increase stack and heap size in CAR. If FSP_USES_CB_STACK is set (it's selected by PLATFORM_USES_FSP2_1), update DCACHE_BSP_STACK_SIZE and FSP_TEMP_RAM_SIZE values. 5) Update maximal number of supported CPUs. If MAINBOARD_SUPPORTS_COFFEELAKE_CPU is set, set MAX_CPUS to 16. Signed-off-by: Timofey Komarov Change-Id: I7b6b9c676da55088cb5a12a218ea58d349ee440c Reviewed-on: https://review.coreboot.org/c/coreboot/+/52692 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons Reviewed-by: Nico Huber --- src/soc/intel/skylake/Kconfig | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) (limited to 'src/soc') diff --git a/src/soc/intel/skylake/Kconfig b/src/soc/intel/skylake/Kconfig index a8f220f227..bd4c13e0a7 100644 --- a/src/soc/intel/skylake/Kconfig +++ b/src/soc/intel/skylake/Kconfig @@ -13,6 +13,14 @@ config SOC_INTEL_KABYLAKE help Intel Kabylake support +config SOC_INTEL_SKYLAKE_LGA1151_V2 + bool + select PLATFORM_USES_FSP2_1 + select SOC_INTEL_COMMON_SKYLAKE_BASE + select SKYLAKE_SOC_PCH_H + help + Selected by mainboards with a LGA1151 v2 socket and a Z370, H310C or B365 PCH + if SOC_INTEL_COMMON_SKYLAKE_BASE config CPU_SPECIFIC_OPTIONS @@ -85,6 +93,7 @@ config CPU_SPECIFIC_OPTIONS config MAX_CPUS int + default 16 if MAINBOARD_SUPPORTS_COFFEELAKE_CPU default 8 config FSP_HYPERTHREADING @@ -125,11 +134,21 @@ config DCACHE_RAM_SIZE config DCACHE_BSP_STACK_SIZE hex + default 0x20400 if FSP_USES_CB_STACK default 0x4000 help The amount of anticipated stack usage in CAR by bootblock and other stages. +config FSP_TEMP_RAM_SIZE + hex + depends on FSP_USES_CB_STACK + default 0x10000 + help + The amount of anticipated heap usage in CAR by FSP. + Refer to Platform FSP integration guide document to know + the exact FSP requirement for Heap setup. + config EXCLUDE_NATIVE_SD_INTERFACE bool default n @@ -234,12 +253,14 @@ config NHLT_DA7219 help Include DSP firmware settings for DA7219 headset codec. +# Use KabylakeFsp for both Skylake and Kabylake as it supports both. +# SkylakeFsp is FSP 1.1 and therefore incompatible. config FSP_HEADER_PATH - # Use KabylakeFsp for both Skylake and Kabylake as it supports both. - # SkylakeFsp is FSP 1.1 and therefore incompatible. + default "3rdparty/fsp/AmberLakeFspBinPkg/Include/" if SOC_INTEL_SKYLAKE_LGA1151_V2 default "3rdparty/fsp/KabylakeFspBinPkg/Include/" config FSP_FD_PATH + default "3rdparty/fsp/AmberLakeFspBinPkg/Fsp.fd" if SOC_INTEL_SKYLAKE_LGA1151_V2 default "3rdparty/fsp/KabylakeFspBinPkg/Fsp.fd" config MAX_ROOT_PORTS @@ -303,16 +324,17 @@ config INTEL_TXT_BIOSACM_ALIGNMENT config MAINBOARD_SUPPORTS_SKYLAKE_CPU bool "Board can contain Skylake CPU" - default y + default !SOC_INTEL_SKYLAKE_LGA1151_V2 if SKYLAKE_SOC_PCH_H config MAINBOARD_SUPPORTS_KABYLAKE_CPU bool "Board can contain Kaby Lake CPU" - default y if SOC_INTEL_KABYLAKE + default !SOC_INTEL_SKYLAKE_LGA1151_V2 && SOC_INTEL_KABYLAKE config MAINBOARD_SUPPORTS_COFFEELAKE_CPU bool "Board can contain Coffee Lake CPU" + default y if SOC_INTEL_SKYLAKE_LGA1151_V2 endif -- cgit v1.2.3