summaryrefslogtreecommitdiff
path: root/src/soc/intel/apollolake
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/apollolake')
-rw-r--r--src/soc/intel/apollolake/Kconfig5
-rw-r--r--src/soc/intel/apollolake/acpi.c1
-rw-r--r--src/soc/intel/apollolake/bootblock/bootblock.c1
-rw-r--r--src/soc/intel/apollolake/chip.c1
-rw-r--r--src/soc/intel/apollolake/include/soc/itss.h6
-rw-r--r--src/soc/intel/apollolake/lpc.c1
-rw-r--r--src/soc/intel/apollolake/pmutil.c12
-rw-r--r--src/soc/intel/apollolake/pnpconfig.c1
-rw-r--r--src/soc/intel/apollolake/romstage.c4
9 files changed, 25 insertions, 7 deletions
diff --git a/src/soc/intel/apollolake/Kconfig b/src/soc/intel/apollolake/Kconfig
index 61aaa44a7e..55f59b3bed 100644
--- a/src/soc/intel/apollolake/Kconfig
+++ b/src/soc/intel/apollolake/Kconfig
@@ -21,7 +21,6 @@ config SOC_INTEL_APOLLOLAKE
select EDK2_CPU_TIMER_LIB if PAYLOAD_EDK2
select FAST_SPI_GENERATE_SSDT
select FSP_PLATFORM_MEMORY_SETTINGS_VERSIONS
- select FSP_STATUS_GLOBAL_RESET_REQUIRED_5
select GENERIC_GPIO_LIB
select HAVE_ASAN_IN_ROMSTAGE
select HAVE_CF9_RESET_PREPARE
@@ -102,6 +101,10 @@ config SOC_INTEL_GEMINILAKE
if SOC_INTEL_APOLLOLAKE
+config FSP_STATUS_GLOBAL_RESET
+ hex
+ default 0x40000005
+
config USE_LEGACY_8254_TIMER
default y
diff --git a/src/soc/intel/apollolake/acpi.c b/src/soc/intel/apollolake/acpi.c
index c9f76ebe11..74cd51a9ee 100644
--- a/src/soc/intel/apollolake/acpi.c
+++ b/src/soc/intel/apollolake/acpi.c
@@ -19,6 +19,7 @@
#include <soc/nvs.h>
#include <soc/pci_devs.h>
#include <soc/systemagent.h>
+#include <static.h>
#include "chip.h"
diff --git a/src/soc/intel/apollolake/bootblock/bootblock.c b/src/soc/intel/apollolake/bootblock/bootblock.c
index cd938c54bb..090bd5071d 100644
--- a/src/soc/intel/apollolake/bootblock/bootblock.c
+++ b/src/soc/intel/apollolake/bootblock/bootblock.c
@@ -22,6 +22,7 @@
#include <soc/pci_devs.h>
#include <soc/pm.h>
#include <spi-generic.h>
+#include <static.h>
static const struct pad_config tpm_spi_configs[] = {
#if CONFIG(SOC_INTEL_GEMINILAKE)
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c
index 1d15eecc63..ab5b5d884d 100644
--- a/src/soc/intel/apollolake/chip.c
+++ b/src/soc/intel/apollolake/chip.c
@@ -35,6 +35,7 @@
#include <soc/pm.h>
#include <soc/systemagent.h>
#include <spi-generic.h>
+#include <static.h>
#include <timer.h>
#include <soc/ramstage.h>
#include <soc/soc_chip.h>
diff --git a/src/soc/intel/apollolake/include/soc/itss.h b/src/soc/intel/apollolake/include/soc/itss.h
index b88dfd8c8f..03ba785943 100644
--- a/src/soc/intel/apollolake/include/soc/itss.h
+++ b/src/soc/intel/apollolake/include/soc/itss.h
@@ -3,11 +3,9 @@
#ifndef _SOC_APOLLOLAKE_ITSS_H_
#define _SOC_APOLLOLAKE_ITSS_H_
+#include <intelblocks/itss.h>
+
#define GPIO_IRQ_START 50
#define GPIO_IRQ_END ITSS_MAX_IRQ
-#define ITSS_MAX_IRQ 119
-#define IRQS_PER_IPC 32
-#define NUM_IPC_REGS ((ITSS_MAX_IRQ + IRQS_PER_IPC - 1)/IRQS_PER_IPC)
-
#endif /* _SOC_APOLLOLAKE_ITSS_H_ */
diff --git a/src/soc/intel/apollolake/lpc.c b/src/soc/intel/apollolake/lpc.c
index 21a0f44963..c7a57c8f9d 100644
--- a/src/soc/intel/apollolake/lpc.c
+++ b/src/soc/intel/apollolake/lpc.c
@@ -6,6 +6,7 @@
#include <soc/pcr_ids.h>
#include <soc/pm.h>
#include <soc/intel/common/block/lpc/lpc_def.h>
+#include <static.h>
#include "chip.h"
void soc_get_gen_io_dec_range(uint32_t gen_io_dec[LPC_NUM_GENERIC_IO_RANGES])
diff --git a/src/soc/intel/apollolake/pmutil.c b/src/soc/intel/apollolake/pmutil.c
index 1ed90c1519..5366ca8baf 100644
--- a/src/soc/intel/apollolake/pmutil.c
+++ b/src/soc/intel/apollolake/pmutil.c
@@ -19,6 +19,7 @@
#include <soc/pm.h>
#include <soc/smbus.h>
#include <security/vboot/vbnv.h>
+#include <static.h>
#include "chip.h"
@@ -137,12 +138,23 @@ void soc_clear_pm_registers(uintptr_t pmc_bar)
write32p(pmc_bar + GEN_PMCON1, gen_pmcon1 & ~RPS);
}
+static void gpe0_different_values(const struct soc_intel_apollolake_config *config)
+{
+ bool result = (config->gpe0_dw1 != config->gpe0_dw2) &&
+ (config->gpe0_dw1 != config->gpe0_dw3) &&
+ (config->gpe0_dw2 != config->gpe0_dw3);
+
+ assert(result);
+}
+
void soc_get_gpi_gpe_configs(uint8_t *dw0, uint8_t *dw1, uint8_t *dw2)
{
DEVTREE_CONST struct soc_intel_apollolake_config *config;
config = config_of_soc();
+ gpe0_different_values(config);
+
/* Assign to out variable */
*dw0 = config->gpe0_dw1;
*dw1 = config->gpe0_dw2;
diff --git a/src/soc/intel/apollolake/pnpconfig.c b/src/soc/intel/apollolake/pnpconfig.c
index ebc1880778..0c7286573e 100644
--- a/src/soc/intel/apollolake/pnpconfig.c
+++ b/src/soc/intel/apollolake/pnpconfig.c
@@ -5,6 +5,7 @@
#include <intelblocks/pcr.h>
#include <soc/pci_devs.h>
#include <soc/pnpconfig.h>
+#include <static.h>
#include "chip.h"
static const struct pnpconfig perf[] = {
diff --git a/src/soc/intel/apollolake/romstage.c b/src/soc/intel/apollolake/romstage.c
index f71088311b..2ddb07e6d6 100644
--- a/src/soc/intel/apollolake/romstage.c
+++ b/src/soc/intel/apollolake/romstage.c
@@ -293,7 +293,7 @@ void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version)
parse_devicetree_setting(mupd);
/* Do NOT let FSP do any GPIO pad configuration */
- mupd->FspmConfig.PreMemGpioTablePtr = (uintptr_t)NULL;
+ mupd->FspmConfig.PreMemGpioTablePtr = 0;
mupd->FspmConfig.SkipCseRbp = CONFIG(SKIP_CSE_RBP);
@@ -319,7 +319,7 @@ void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version)
mrc_cache_current_mmap_leak(MRC_VARIABLE_DATA, version,
NULL);
- assert(CONFIG(BOOT_DEVICE_MEMORY_MAPPED));
+ _Static_assert(CONFIG(BOOT_DEVICE_MEMORY_MAPPED), "Boot device not memory mapped");
fsp_version = version;
}