10 #include <soc/iomap.h>
11 #include <soc/pci_devs.h>
14 #include <soc/romstage.h>
15 #include <soc/smbus.h>
16 #include <soc/soc_util.h>
21 #if CONFIG(DISPLAY_HOBS)
22 static void display_fsp_smbios_memory_info_hob(
void)
24 const FSP_SMBIOS_MEMORY_INFO *memory_info_hob;
29 if (memory_info_hob ==
NULL)
43 printk(
BIOS_ERR,
"PMC controller (B0:D31:F2) does not present!\n");
71 if (
read32((
void *)(pwrm_base + 0x124))
72 & ((1 << 11) | (1 << 12))) {
75 "Requesting Global Reset...\n");
92 printk(
BIOS_ERR,
"SMBus controller (B0:D31:F4) does not present!\n");
132 #if CONFIG(DISPLAY_HOBS)
133 display_fsp_smbios_memory_info_hob();
139 FSPM_UPD *mupd =
container_of(m_cfg, FSPM_UPD, FspmConfig);
142 BL_HSIO_INFORMATION *hsio_config;
145 m_cfg->PcdEnableIQAT =
CONFIG(IQAT_ENABLE);
148 if (mupd->FspmConfig.PcdMeHeciCommunication == 0) {
152 supported_hsio_lanes = BL_ME_FIA_MUX_LANE_NUM_MAX;
158 die(
"HSIO Configuration is invalid, please correct "
162 if (!(&hsio_config->FiaConfig)) {
163 die(
"Requested FIA MUX Configuration is invalid,"
164 " please correct it!");
167 mupd->FspmConfig.PcdHsioLanesNumber =
168 (
uint32_t)hsio_config->NumLanesSupported;
169 mupd->FspmConfig.PcdFiaMuxConfigPtr =
static uint32_t read32(const void *addr)
#define TCO2_STS_SECOND_TO
#define printk(level,...)
void __noreturn die(const char *fmt,...)
#define PCH_PCR_ADDRESS(Pid, Offset)
void outw(u16 val, u16 port)
int get_fiamux_hsio_info(uint16_t num_of_lanes, size_t num_of_entry, BL_HSIO_INFORMATION **config)
void fsp_memory_init(bool s3wake)
static const FSP_SMBIOS_MEMORY_INFO * soc_get_fsp_smbios_memory_info_hob(void)
#define container_of(ptr, type, member)
container_of - cast a member of a structure out to the containing structure
static __always_inline void pci_write_config32(const struct device *dev, u16 reg, u32 val)
static __always_inline u16 pci_read_config16(const struct device *dev, u16 reg)
static __always_inline u32 pci_read_config32(const struct device *dev, u16 reg)
static __always_inline void pci_write_config16(const struct device *dev, u16 reg, u16 val)
#define ETR3_CF9GR
CF9h Global Reset.
#define GEN_PMCON_B_RTC_PWR_STS
#define MASK_PMC_PWRM_BASE
uint8_t silicon_stepping(void)
@ SILICON_REV_DENVERTON_B0
size_t mainboard_get_hsio_config(BL_HSIO_INFORMATION **p_hsio_config)
#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)
void mainboard_config_gpios(void)
#define PCI_DEV(SEGBUS, DEV, FN)
const struct smm_save_state_ops *legacy_ops __weak
void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version)
void soc_memory_init_params(struct romstage_params *params, MEMORY_INIT_UPD *upd)
void soc_display_fsp_smbios_memory_info_hob(const FSP_SMBIOS_MEMORY_INFO *memory_info_hob)
static void early_tco_init(void)
static void early_pmc_init(void)