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 <happycorsair@yandex.ru>
Change-Id: I7b6b9c676da55088cb5a12a218ea58d349ee440c
Reviewed-on: https://review.coreboot.org/c/coreboot/+/52692
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
Timofey Komarov 2021-04-27 10:54:34 +03:00 committed by Nico Huber
parent 7e7d27bf4b
commit 756f51b662
1 changed files with 26 additions and 4 deletions

View File

@ -13,6 +13,14 @@ config SOC_INTEL_KABYLAKE
help help
Intel Kabylake support 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 if SOC_INTEL_COMMON_SKYLAKE_BASE
config CPU_SPECIFIC_OPTIONS config CPU_SPECIFIC_OPTIONS
@ -85,6 +93,7 @@ config CPU_SPECIFIC_OPTIONS
config MAX_CPUS config MAX_CPUS
int int
default 16 if MAINBOARD_SUPPORTS_COFFEELAKE_CPU
default 8 default 8
config FSP_HYPERTHREADING config FSP_HYPERTHREADING
@ -125,11 +134,21 @@ config DCACHE_RAM_SIZE
config DCACHE_BSP_STACK_SIZE config DCACHE_BSP_STACK_SIZE
hex hex
default 0x20400 if FSP_USES_CB_STACK
default 0x4000 default 0x4000
help help
The amount of anticipated stack usage in CAR by bootblock and The amount of anticipated stack usage in CAR by bootblock and
other stages. 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 config EXCLUDE_NATIVE_SD_INTERFACE
bool bool
default n default n
@ -234,12 +253,14 @@ config NHLT_DA7219
help help
Include DSP firmware settings for DA7219 headset codec. 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 config FSP_HEADER_PATH
# Use KabylakeFsp for both Skylake and Kabylake as it supports both. default "3rdparty/fsp/AmberLakeFspBinPkg/Include/" if SOC_INTEL_SKYLAKE_LGA1151_V2
# SkylakeFsp is FSP 1.1 and therefore incompatible.
default "3rdparty/fsp/KabylakeFspBinPkg/Include/" default "3rdparty/fsp/KabylakeFspBinPkg/Include/"
config FSP_FD_PATH config FSP_FD_PATH
default "3rdparty/fsp/AmberLakeFspBinPkg/Fsp.fd" if SOC_INTEL_SKYLAKE_LGA1151_V2
default "3rdparty/fsp/KabylakeFspBinPkg/Fsp.fd" default "3rdparty/fsp/KabylakeFspBinPkg/Fsp.fd"
config MAX_ROOT_PORTS config MAX_ROOT_PORTS
@ -303,16 +324,17 @@ config INTEL_TXT_BIOSACM_ALIGNMENT
config MAINBOARD_SUPPORTS_SKYLAKE_CPU config MAINBOARD_SUPPORTS_SKYLAKE_CPU
bool "Board can contain Skylake CPU" bool "Board can contain Skylake CPU"
default y default !SOC_INTEL_SKYLAKE_LGA1151_V2
if SKYLAKE_SOC_PCH_H if SKYLAKE_SOC_PCH_H
config MAINBOARD_SUPPORTS_KABYLAKE_CPU config MAINBOARD_SUPPORTS_KABYLAKE_CPU
bool "Board can contain Kaby Lake 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 config MAINBOARD_SUPPORTS_COFFEELAKE_CPU
bool "Board can contain Coffee Lake CPU" bool "Board can contain Coffee Lake CPU"
default y if SOC_INTEL_SKYLAKE_LGA1151_V2
endif endif