coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
chip.c File Reference
#include <arch/ioapic.h>
#include <console/console.h>
#include <console/debug.h>
#include <cpu/x86/mp.h>
#include <device/pci.h>
#include <device/pci_ids.h>
#include <intelblocks/acpi.h>
#include <intelblocks/gpio.h>
#include <intelblocks/lpc_lib.h>
#include <intelblocks/p2sb.h>
#include <soc/acpi.h>
#include <soc/chip_common.h>
#include <soc/cpu.h>
#include <soc/pch.h>
#include <soc/ramstage.h>
#include <soc/p2sb.h>
#include <soc/soc_util.h>
#include <soc/util.h>
#include <soc/pci_devs.h>
Include dependency graph for chip.c:

Go to the source code of this file.

Functions

void platform_fsp_silicon_init_params_cb (FSPS_UPD *silupd)
 
static void chip_enable_dev (struct device *dev)
 
static void iio_write_mask (u16 bus, u16 dev, u8 func)
 
static void iio_dmi_en_masks (void)
 
static void iio_enable_masks (void)
 
static void set_pcu_locks (void)
 
static void set_imc_locks (void)
 
static void set_upi_locks (void)
 
static void chip_final (void *data)
 
static void chip_init (void *data)
 

Variables

static struct device_operations pci_domain_ops
 
static struct device_operations cpu_bus_ops
 
struct pci_operations soc_pci_ops
 
struct chip_operations soc_intel_xeon_sp_cpx_ops
 

Function Documentation

◆ chip_enable_dev()

static void chip_enable_dev ( struct device dev)
static

◆ chip_final()

static void chip_final ( void data)
static

◆ chip_init()

static void chip_init ( void data)
static

Definition at line 176 of file chip.c.

References BIOS_DEBUG, fsp_silicon_init(), override_hpet_ioapic_bdf(), p2sb_unhide(), pch_enable_ioapic(), pch_lock_dmictl(), and printk.

Here is the call graph for this function:

◆ iio_dmi_en_masks()

static void iio_dmi_en_masks ( void  )
static

Definition at line 84 of file chip.c.

References device, DLL_PRT_ERR, DMI_BUS_INDEX, DMI_DEV, DMI_FUNC, DMI_UNCERRMSK, ECRC_ERR, FLOW_CNTR, IIO_XPUNCCERRMSK_REG, MLFRMD_TLP, PCI_DEV, pci_s_read_config32(), pci_s_write_config32(), POISON_TLP, RCV_BUF_OVRFLOW, RCVD_PCIE_CA_STS_MASK, RCVD_PCIE_UR_STS_MASK, SENT_PCIE_UNSUPP_MASK, and val.

Referenced by iio_enable_masks().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ iio_enable_masks()

static void iio_enable_masks ( void  )
static

Definition at line 98 of file chip.c.

References BIOS_DEBUG, DEVICES_PER_IIO_STACK, get_iiostack_info(), iio_dmi_en_masks(), iio_write_mask(), iiostack_resource::no_of_stacks, printk, and iiostack_resource::res.

Referenced by chip_final().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ iio_write_mask()

static void iio_write_mask ( u16  bus,
u16  dev,
u8  func 
)
static

Definition at line 72 of file chip.c.

References IIO_XPUNCCERRMSK_REG, PCI_DEV, pci_s_read_config32(), pci_s_write_config32(), RCVD_PCIE_CA_STS_MASK, RCVD_PCIE_UR_STS_MASK, RP_UNCERRMSK, SENT_PCIE_UNSUPP_MASK, SURPRISE_DWN_ERR_MSK, UNSUPPORTED_REQ_ERR_MSK, and val.

Referenced by iio_enable_masks().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ platform_fsp_silicon_init_params_cb()

void platform_fsp_silicon_init_params_cb ( FSPS_UPD *  silupd)

Definition at line 24 of file chip.c.

◆ set_imc_locks()

static void set_imc_locks ( void  )
static

Definition at line 145 of file chip.c.

References dev_find_device(), IMC_M2MEM_DEVID, IMC_M2MEM_TIMEOUT, pci_or_config32(), PCI_VID_INTEL, and TIMEOUT_LOCK.

Referenced by chip_final().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_pcu_locks()

◆ set_upi_locks()

static void set_upi_locks ( void  )
static

Definition at line 152 of file chip.c.

References dev_find_device(), KTIMISCMODLCK_LOCK, pci_or_config32(), PCI_VID_INTEL, UPI_LL_CR_DEVID, and UPI_LL_CR_KTIMISCMODLCK.

Referenced by chip_final().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ cpu_bus_ops

struct device_operations cpu_bus_ops
static
Initial value:
= {
.read_resources = noop_read_resources,
.set_resources = noop_set_resources,
.init = cpx_init_cpus,
.acpi_fill_ssdt = generate_cpu_entries,
}
void generate_cpu_entries(const struct device *device)
Definition: acpi.c:334
static void noop_read_resources(struct device *dev)
Standard device operations function pointers shims.
Definition: device.h:73
static void noop_set_resources(struct device *dev)
Definition: device.h:74
void cpx_init_cpus(struct device *dev)
Definition: cpu.c:209

Definition at line 24 of file chip.c.

◆ pci_domain_ops

struct device_operations pci_domain_ops
static
Initial value:
= {
.read_resources = &pci_domain_read_resources,
}
void xeonsp_pci_domain_scan_bus(struct device *dev)
Definition: chip_common.c:87
void xeonsp_pci_domain_set_resources(struct device *dev)
Definition: chip_common.c:465
void pci_domain_read_resources(struct device *dev)
Definition: pci_device.c:547

Definition at line 24 of file chip.c.

Referenced by chip_enable_dev().

◆ soc_intel_xeon_sp_cpx_ops

struct chip_operations soc_intel_xeon_sp_cpx_ops
Initial value:
= {
.enable_dev = chip_enable_dev,
.init = chip_init,
.final = chip_final,
}
static void chip_final(void *data)
Definition: chip.c:159
static void chip_enable_dev(struct device *dev)
Definition: chip.c:59
static void chip_init(void *data)
Definition: chip.c:176

Definition at line 176 of file chip.c.

◆ soc_pci_ops

struct pci_operations soc_pci_ops
Initial value:
= {
.set_subsystem = pci_dev_set_subsystem,
}
void pci_dev_set_subsystem(struct device *dev, unsigned int vendor, unsigned int device)
Definition: pci_device.c:791

Definition at line 24 of file chip.c.