23 #include <soc/iomap.h>
24 #include <soc/meminit.h>
25 #include <soc/pci_devs.h>
27 #include <soc/romstage.h>
28 #include <soc/systemagent.h>
34 0x7d, 0x14, 0x34, 0xa0, 0x0c, 0x69, 0x54, 0x41,
35 0x8d, 0xe6, 0xc0, 0x44, 0x64, 0x1d, 0xe9, 0x42,
41 #define P2SB_HPTC 0x60
42 #define P2SB_HPTC_ADDRESS_ENABLE (1 << 7)
50 #define P2SB_HPTC_ADDRESS_SELECT_0 (0 << 0)
51 #define P2SB_HPTC_ADDRESS_SELECT_1 (1 << 0)
52 #define P2SB_HPTC_ADDRESS_SELECT_2 (2 << 0)
53 #define P2SB_HPTC_ADDRESS_SELECT_3 (3 << 0)
97 if (reg == 0xffffffff) {
110 if (!
CONFIG(SOC_INTEL_GEMINILAKE)) {
113 data |= 0x20 | 0x200;
163 const void *new_var_data;
191 if (
CONFIG(CONSOLE_SERIAL)) {
192 if (
CONFIG(INTEL_LPSS_UART_FOR_CONSOLE)) {
193 mupd->FspmConfig.SerialDebugPortDevice =
194 CONFIG_UART_FOR_CONSOLE;
196 mupd->FspmConfig.SerialDebugPortType = 2;
198 mupd->FspmConfig.SerialDebugPortStrideSize = 2;
200 mupd->FspmConfig.SerialDebugPortAddress = 0;
201 }
else if (
CONFIG(DRIVERS_UART_8250IO)) {
203 mupd->FspmConfig.SerialDebugPortDevice = 3;
205 mupd->FspmConfig.SerialDebugPortType = 1;
207 mupd->FspmConfig.SerialDebugPortStrideSize = 0;
209 mupd->FspmConfig.SerialDebugPortAddress =
213 mupd->FspmConfig.SerialDebugPortType = 0;
240 mupd->FspmConfig.PrimaryVideoAdaptor = GPU_PRIMARY_IGD;
242 mupd->FspmConfig.PrimaryVideoAdaptor = GPU_PRIMARY_PCI;
247 #if CONFIG(SOC_INTEL_GEMINILAKE)
259 m_cfg->SkipMemoryTestUpd = 1;
266 m_cfg->SkipPciePowerSequence = 1;
272 #if CONFIG(SOC_INTEL_GEMINILAKE)
286 if (
CONFIG(SOC_INTEL_GEMINILAKE))
296 mupd->FspmConfig.SkipCseRbp =
CONFIG(SKIP_CSE_RBP);
305 mupd->FspmConfig.EnableS3Heci2 = 0;
316 mupd->FspmConfig.VariableNvsBufferPtr =
#define CORE_DISABLE_MASK
#define PUNIT_THERMAL_DEVICE_IRQ
#define PUINT_THERMAL_DEVICE_IRQ_VEC_NUMBER
#define PUINT_THERMAL_DEVICE_IRQ_LOCK
#define assert(statement)
void enable_bios_reset_cpl(void)
void sa_set_pci_bar(const struct sa_mmio_descriptor *fixed_set_resources, size_t count)
#define printk(level,...)
void cpu_set_eist(bool eist_status)
int cpu_get_burst_mode_state(void)
void configure_tcc_thermal_target(void)
void cpu_set_p_state_to_turbo_ratio(void)
int get_valid_prmrr_size(void)
void cpu_burst_mode(bool burst_mode_status)
bool is_devfn_enabled(unsigned int devfn)
__weak void mainboard_save_dimm_info(struct romstage_params *params)
@ FSP_BOOT_WITH_FULL_CONFIGURATION
void fsp_memory_init(bool s3wake)
const void * fsp_find_extension_hob_by_guid(const uint8_t *guid, size_t *size)
static __always_inline void pci_write_config8(const struct device *dev, u16 reg, u8 val)
static int stopwatch_expired(struct stopwatch *sw)
static void stopwatch_init_msecs_expire(struct stopwatch *sw, long ms)
#define BIOS_INFO
BIOS_INFO - Expected events.
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
void mainboard_memory_init_params(FSPM_UPD *mupd)
void mainboard_romstage_entry(void)
int mrc_cache_stash_data(int type, uint32_t version, const void *data, size_t size)
Returns < 0 on error, 0 on success.
void * mrc_cache_current_mmap_leak(int type, uint32_t version, size_t *data_size)
mrc_cache_mmap_leak
void report_platform_info(void)
#define PCI_INTERRUPT_PIN
const struct smm_save_state_ops *legacy_ops __weak
static void soc_early_romstage_init(void)
static bool punit_init(void)
static void fill_console_params(FSPM_UPD *mupd)
static uint32_t fsp_version
static const uint8_t hob_variable_guid[16]
#define P2SB_HPTC_ADDRESS_ENABLE
static void soc_gpu_init_params(FSPM_UPD *mupd)
static void check_full_retrain(const FSPM_UPD *mupd)
void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version)
#define P2SB_HPTC_ADDRESS_SELECT_0
static void soc_memory_init_params(FSPM_UPD *mupd)
static void parse_devicetree_setting(FSPM_UPD *m_upd)
int pmc_fill_power_state(struct chipset_power_state *ps)
struct chipset_power_state * pmc_get_power_state(void)