aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/xeon_sp
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/xeon_sp')
-rw-r--r--src/soc/intel/xeon_sp/cpx/chip.c4
-rw-r--r--src/soc/intel/xeon_sp/include/soc/p2sb.h3
2 files changed, 7 insertions, 0 deletions
diff --git a/src/soc/intel/xeon_sp/cpx/chip.c b/src/soc/intel/xeon_sp/cpx/chip.c
index 3daff1372b..b7752b25cd 100644
--- a/src/soc/intel/xeon_sp/cpx/chip.c
+++ b/src/soc/intel/xeon_sp/cpx/chip.c
@@ -11,8 +11,10 @@
#include <soc/chip_common.h>
#include <soc/cpu.h>
#include <soc/ramstage.h>
+#include <soc/p2sb.h>
#include <soc/soc_util.h>
#include <soc/util.h>
+#include <soc/pci_devs.h>
/* UPD parameters to be initialized before SiliconInit */
void platform_fsp_silicon_init_params_cb(FSPS_UPD *silupd)
@@ -63,6 +65,8 @@ static void chip_enable_dev(struct device *dev)
static void chip_final(void *data)
{
+ /* Lock SBI */
+ pci_or_config32(PCH_DEV_P2SB, P2SBC, SBILOCK);
p2sb_hide();
set_bios_init_completion();
diff --git a/src/soc/intel/xeon_sp/include/soc/p2sb.h b/src/soc/intel/xeon_sp/include/soc/p2sb.h
index 336befee60..3bdd4530ca 100644
--- a/src/soc/intel/xeon_sp/include/soc/p2sb.h
+++ b/src/soc/intel/xeon_sp/include/soc/p2sb.h
@@ -11,3 +11,6 @@
#define HPTC_ADDR_ENABLE_BIT (1 << 7)
#define PCH_P2SB_EPMASK0 0xb0
#define P2SB_SIZE (16 * MiB)
+
+#define P2SBC 0xe0
+#define SBILOCK (1 << 31)