10 #include <soc/romstage.h>
11 #include <FspmUpdHelper.h>
57 mupd->FspmConfig.SerialIoUartDebugEnable =
val;
65 static const unsigned int bases[] = { 0x3f8, 0x2f8, 0x3e8, 0x2e8 };
68 if (mupd->FspmConfig.SerialIoUartDebugEnable) {
71 if (val_int < 0 || val_int > 0x0f) {
77 mupd->FspmConfig.DebugPrintLevel = (
uint8_t)val_int;
89 mupd->FspmConfig.PchDciEn =
val;
102 if (val_int < 0 || val_int > 2) {
108 mupd->FspmConfig.UnusedUpdSpace0[0] = (
uint8_t)val_int;
129 mupd->FspmConfig.IioConfigIOU0[0] = IIO_BIFURCATE_x4x4x4x4;
130 mupd->FspmConfig.IioConfigIOU1[0] = IIO_BIFURCATE_x4x4x4x4;
131 mupd->FspmConfig.IioConfigIOU2[0] = IIO_BIFURCATE_xxxxxxxx;
132 mupd->FspmConfig.IioConfigIOU3[0] = IIO_BIFURCATE_xxxxxx16;
133 mupd->FspmConfig.IioConfigIOU4[0] = IIO_BIFURCATE_xxxxxxxx;
137 switch (pcie_config) {
139 mupd->FspmConfig.IioConfigIOU0[0] = IIO_BIFURCATE_xxxxxxxx;
140 mupd->FspmConfig.IioConfigIOU3[0] = IIO_BIFURCATE_xxxxxxxx;
143 mupd->FspmConfig.IioConfigIOU0[0] = IIO_BIFURCATE_xxxxxxxx;
144 mupd->FspmConfig.IioConfigIOU3[0] = IIO_BIFURCATE_x4x4x4x4;
147 mupd->FspmConfig.IioConfigIOU3[0] = IIO_BIFURCATE_x4x4x4x4;
154 printk(
BIOS_ERR,
"%s failed to get IPMI PCIe config\n", __func__);
174 mupd->FspmConfig.PchPcieForceEnable[index] =
175 config->pch_pci_port[index].ForceEnable;
176 mupd->FspmConfig.PchPciePortLinkSpeed[index] =
177 config->pch_pci_port[index].PortLinkSpeed;
180 mupd->FspmConfig.PchPcieRootPortFunctionSwap = 0x00;
182 mupd->FspmConfig.PchPciePllSsc = 0xFE;
198 if (mupd->FspmArchUpd.NvsBufferPtr &&
val) {
199 mupd->FspmArchUpd.NvsBufferPtr = 0;
@ CB_SUCCESS
Call completed successfully.
#define printk(level,...)
enum cb_err ipmi_get_pcie_config(uint8_t *pcie_config)
enum cb_err ipmi_kcs_premem_init(const u16 port, const u16 device)
enum cb_err ipmi_set_post_start(const int port)
enum cb_err ipmi_set_cmos_clear(void)
#define BIOS_INFO
BIOS_INFO - Expected events.
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
#define BIOS_WARNING
BIOS_WARNING - Bad configuration.
void mainboard_memory_init_params(FSPM_UPD *mupd)
void mainboard_config_gpios(void)
static enum ddr_freq_limit ddr_freq_limit(int num)
static void mainboard_config_upd(FSPM_UPD *mupd)
void mainboard_rtc_failed(void)
static void mainboard_config_iio(FSPM_UPD *mupd)
static void oem_update_iio(FSPM_UPD *mupd)
#define FSPM_MEMREFRESHWATERMARK
#define FSPM_MEMREFRESHWATERMARK_DEFAULT
#define FSP_DIMM_FREQ_DEFAULT
#define FSP_LOG_LEVEL_DEFAULT
#define MAX_PCH_PCIE_PORT
ddr_freq_limit
enum for DDR Frequency Limit
static const unsigned int bases[]
unsigned int get_uart_for_console(void)
bool vpd_get_int(const char *const key, const enum vpd_region region, int *const val)
bool vpd_get_bool(const char *key, enum vpd_region region, uint8_t *val)