coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
chip.c File Reference
#include <device/device.h>
#include <device/pci.h>
#include <fsp/api.h>
#include <fsp/util.h>
#include <intelblocks/acpi.h>
#include <intelblocks/cfg.h>
#include <intelblocks/gpio.h>
#include <intelblocks/irq.h>
#include <intelblocks/itss.h>
#include <intelblocks/pcie_rp.h>
#include <intelblocks/xdci.h>
#include <soc/intel/common/vbt.h>
#include <soc/pci_devs.h>
#include <soc/ramstage.h>
#include "chip.h"
Include dependency graph for chip.c:

Go to the source code of this file.

Functions

void soc_init_pre_device (void *chip_info)
 
static void cpu_fill_ssdt (const struct device *dev)
 
static void cpu_set_north_irqs (struct device *dev)
 
static void soc_enable (struct device *dev)
 

Variables

static const struct pcie_rp_group pch_lp_rp_groups []
 
static const struct pcie_rp_group pch_h_rp_groups []
 
static struct device_operations pci_domain_ops
 
static struct device_operations cpu_bus_ops
 
struct chip_operations soc_intel_cannonlake_ops
 

Function Documentation

◆ cpu_fill_ssdt()

static void cpu_fill_ssdt ( const struct device dev)
static

Definition at line 160 of file chip.c.

References BIOS_ERR, generate_cpu_entries(), generate_pin_irq_map(), and printk.

Here is the call graph for this function:

◆ cpu_set_north_irqs()

static void cpu_set_north_irqs ( struct device dev)
static

Definition at line 168 of file chip.c.

◆ soc_enable()

static void soc_enable ( struct device dev)
static

◆ soc_init_pre_device()

void soc_init_pre_device ( void chip_info)

Definition at line 143 of file chip.c.

References CONFIG, fsp_display_fvi_version_hob(), fsp_silicon_init(), pch_h_rp_groups, pch_lp_rp_groups, pcie_rp_update_devicetree(), and soc_gpio_pm_configuration().

Here is the call 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,
.enable_resources = cpu_set_north_irqs,
}
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
static void cpu_set_north_irqs(struct device *dev)
Definition: chip.c:168

Definition at line 168 of file chip.c.

◆ pch_h_rp_groups

const struct pcie_rp_group pch_h_rp_groups[]
static
Initial value:
= {
{ .slot = PCH_DEV_SLOT_PCIE, .count = 8, .lcap_port_base = 1 },
{ .slot = PCH_DEV_SLOT_PCIE_1, .count = 8, .lcap_port_base = 1 },
{ .slot = PCH_DEV_SLOT_PCIE_2, .count = 8, .lcap_port_base = 1 },
{ 0 }
}
#define PCH_DEV_SLOT_PCIE_1
Definition: pci_devs.h:193
#define PCH_DEV_SLOT_PCIE
Definition: pci_devs.h:175
#define PCH_DEV_SLOT_PCIE_2
Definition: pci_devs.h:149

Definition at line 1 of file chip.c.

Referenced by soc_init_pre_device().

◆ pch_lp_rp_groups

const struct pcie_rp_group pch_lp_rp_groups[]
static
Initial value:
= {
{ .slot = PCH_DEV_SLOT_PCIE, .count = 8, .lcap_port_base = 1 },
{ .slot = PCH_DEV_SLOT_PCIE_1, .count = 8, .lcap_port_base = 1 },
{ 0 }
}

Definition at line 1 of file chip.c.

Referenced by soc_init_pre_device().

◆ pci_domain_ops

struct device_operations pci_domain_ops
static
Initial value:
= {
.read_resources = &pci_domain_read_resources,
.set_resources = &pci_domain_set_resources,
.scan_bus = &pci_domain_scan_bus,
}
void pci_domain_read_resources(struct device *dev)
Definition: pci_device.c:547
void pci_domain_set_resources(struct device *dev)
Definition: pci_device.c:564
void pci_domain_scan_bus(struct device *dev)
Scan a PCI domain.
Definition: pci_device.c:1610

Definition at line 168 of file chip.c.

Referenced by soc_enable().

◆ soc_intel_cannonlake_ops

struct chip_operations soc_intel_cannonlake_ops
Initial value:
= {
.enable_dev = &soc_enable,
}
void soc_init_pre_device(void *chip_info)
Definition: chip.c:137
static void soc_enable(struct device *dev)
Definition: chip.c:191

Definition at line 191 of file chip.c.