summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/intel/common/pch/Kconfig33
-rw-r--r--src/soc/intel/common/pch/Makefile.mk5
-rw-r--r--src/soc/intel/xeon_sp/Kconfig7
3 files changed, 44 insertions, 1 deletions
diff --git a/src/soc/intel/common/pch/Kconfig b/src/soc/intel/common/pch/Kconfig
index 716a786e68..32902aa9f1 100644
--- a/src/soc/intel/common/pch/Kconfig
+++ b/src/soc/intel/common/pch/Kconfig
@@ -75,3 +75,36 @@ config PCH_SPECIFIC_CLIENT_OPTIONS
select SOC_INTEL_COMMON_BLOCK_XDCI
endif # SOC_INTEL_COMMON_PCH_BASE
+
+config SOC_INTEL_COMMON_IBL_BASE
+ bool
+ depends on SOC_INTEL_COMMON_BLOCK
+ depends on !SOC_INTEL_COMMON_PCH_BASE
+ help
+ Common code blocks for integrated boot logic known as IBL. IBL is still
+ compatible with PCH interfaces, but with limited features/registers
+ exposed and certain revises.
+
+if SOC_INTEL_COMMON_IBL_BASE
+
+source "src/soc/intel/common/pch/*/Kconfig"
+
+config IBL_SPECIFIC_BASE_OPTIONS
+ def_bool y
+ select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
+ select SOC_INTEL_COMMON_BLOCK_FAST_SPI
+ select SOC_INTEL_COMMON_BLOCK_GPIO
+ select SOC_INTEL_COMMON_BLOCK_GPIO_ITSS_POL_CFG
+ select SOC_INTEL_COMMON_BLOCK_ITSS
+ select SOC_INTEL_COMMON_BLOCK_LPC
+ select SOC_INTEL_COMMON_BLOCK_P2SB
+ select SOC_INTEL_COMMON_BLOCK_PCR
+ select SOC_INTEL_COMMON_BLOCK_PMC
+ select SOC_INTEL_COMMON_BLOCK_RTC
+ select SOC_INTEL_COMMON_BLOCK_SMBUS
+ select SOC_INTEL_COMMON_BLOCK_SPI
+ select SOC_INTEL_COMMON_BLOCK_TIMER
+ select SOC_INTEL_COMMON_PCH_LOCKDOWN
+ select SOUTHBRIDGE_INTEL_COMMON_SMBUS
+
+endif # SOC_INTEL_COMMON_IBL_BASE
diff --git a/src/soc/intel/common/pch/Makefile.mk b/src/soc/intel/common/pch/Makefile.mk
index 19c17d579c..ef9044b9a4 100644
--- a/src/soc/intel/common/pch/Makefile.mk
+++ b/src/soc/intel/common/pch/Makefile.mk
@@ -1,6 +1,11 @@
## SPDX-License-Identifier: GPL-2.0-only
subdirs-$(CONFIG_SOC_INTEL_COMMON_PCH_BASE) += ./*
+subdirs-$(CONFIG_SOC_INTEL_COMMON_IBL_BASE) += ./*
ifeq ($(CONFIG_SOC_INTEL_COMMON_PCH_BASE),y)
CPPFLAGS_common += -I$(src)/soc/intel/common/pch/include/
endif
+
+ifeq ($(CONFIG_SOC_INTEL_COMMON_IBL_BASE),y)
+CPPFLAGS_common += -I$(src)/soc/intel/common/pch/include/
+endif
diff --git a/src/soc/intel/xeon_sp/Kconfig b/src/soc/intel/xeon_sp/Kconfig
index 923527e36c..78227ed4ae 100644
--- a/src/soc/intel/xeon_sp/Kconfig
+++ b/src/soc/intel/xeon_sp/Kconfig
@@ -2,6 +2,10 @@
source "src/soc/intel/xeon_sp/*/Kconfig"
+config XEON_SP_IBL
+ bool
+ default n
+
config XEON_SP_COMMON_BASE
bool
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
@@ -31,9 +35,10 @@ config XEON_SP_COMMON_BASE
select SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE
select SOC_INTEL_COMMON_BLOCK_SMM
select SOC_INTEL_COMMON_BLOCK_TCO
- select SOC_INTEL_COMMON_PCH_SERVER
select SUPPORT_CPU_UCODE_IN_CBFS
select SMM_PCI_RESOURCE_STORE
+ select SOC_INTEL_COMMON_PCH_SERVER if !XEON_SP_IBL
+ select SOC_INTEL_COMMON_IBL_BASE if XEON_SP_IBL
select TSC_MONOTONIC_TIMER
select TPM_STARTUP_IGNORE_POSTINIT if INTEL_TXT
select UDELAY_TSC