coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
chip.c File Reference
#include <bootstate.h>
#include <console/console.h>
#include <cpu/amd/mtrr.h>
#include <device/device.h>
#include <device/pci.h>
#include <drivers/i2c/designware/dw_i2c.h>
#include <soc/acpi.h>
#include <soc/cpu.h>
#include <soc/northbridge.h>
#include <soc/pci_devs.h>
#include <soc/southbridge.h>
#include <amdblocks/psp.h>
#include <amdblocks/agesawrapper.h>
#include <amdblocks/agesawrapper_call.h>
#include <amdblocks/i2c.h>
#include "chip.h"
Include dependency graph for chip.c:

Go to the source code of this file.

Functions

const char * soc_acpi_name (const struct device *dev)
 
static void set_mmio_dev_ops (struct device *dev)
 
static void enable_dev (struct device *dev)
 
static void soc_init (void *chip_info)
 
static void soc_final (void *chip_info)
 
static void earliest_ramstage (void *unused)
 
 BOOT_STATE_INIT_ENTRY (BS_PRE_DEVICE, BS_ON_ENTRY, earliest_ramstage, NULL)
 

Variables

struct device_operations soc_amd_i2c_mmio_ops
 
struct device_operations cpu_bus_ops
 
static struct device_operations pci_domain_ops
 
struct chip_operations soc_amd_stoneyridge_ops
 

Function Documentation

◆ BOOT_STATE_INIT_ENTRY()

BOOT_STATE_INIT_ENTRY ( BS_PRE_DEVICE  ,
BS_ON_ENTRY  ,
earliest_ramstage  ,
NULL   
)

◆ earliest_ramstage()

static void earliest_ramstage ( void unused)
static

Definition at line 149 of file chip.c.

References acpi_is_wakeup_s3(), BLOB_SMU_FW2, CONFIG, do_agesawrapper(), post_code, and psp_load_named_blob().

Here is the call graph for this function:

◆ enable_dev()

static void enable_dev ( struct device dev)
static

Definition at line 113 of file chip.c.

References cpu_bus_ops, DEVICE_PATH_CPU_CLUSTER, DEVICE_PATH_DOMAIN, DEVICE_PATH_MMIO, device::ops, device::path, pci_domain_ops, set_mmio_dev_ops(), and device_path::type.

Here is the call graph for this function:

◆ set_mmio_dev_ops()

static void set_mmio_dev_ops ( struct device dev)
static

Definition at line 101 of file chip.c.

References mmio_path::addr, APU_I2C0_BASE, APU_I2C1_BASE, APU_I2C2_BASE, APU_I2C3_BASE, device_path::mmio, device::ops, device::path, and soc_amd_i2c_mmio_ops.

Referenced by enable_dev().

Here is the caller graph for this function:

◆ soc_acpi_name()

const char* soc_acpi_name ( const struct device dev)

Definition at line 31 of file chip.c.

◆ soc_final()

static void soc_final ( void chip_info)
static

Definition at line 136 of file chip.c.

◆ soc_init()

static void soc_init ( void chip_info)
static

Definition at line 131 of file chip.c.

References fch_init().

Here is the call graph for this function:

Variable Documentation

◆ cpu_bus_ops

struct device_operations cpu_bus_ops
Initial value:
= {
.read_resources = noop_read_resources,
.set_resources = noop_set_resources,
.init = mp_cpu_bus_init,
.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
static void mp_cpu_bus_init(struct device *dev)
Definition: device.h:240

Definition at line 1 of file chip.c.

◆ pci_domain_ops

struct device_operations pci_domain_ops
static
Initial value:
= {
.read_resources = domain_read_resources,
.set_resources = pci_domain_set_resources,
.enable_resources = domain_enable_resources,
.scan_bus = pci_domain_scan_bus,
.acpi_name = soc_acpi_name,
}
static void domain_read_resources(struct device *dev)
Definition: northbridge.c:460
void domain_enable_resources(struct device *dev)
Definition: northbridge.c:379
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
const char * soc_acpi_name(const struct device *dev)
Definition: chip.c:31

Definition at line 31 of file chip.c.

Referenced by enable_dev().

◆ soc_amd_i2c_mmio_ops

struct device_operations soc_amd_i2c_mmio_ops
extern

Definition at line 118 of file i2c.c.

◆ soc_amd_stoneyridge_ops

struct chip_operations soc_amd_stoneyridge_ops
Initial value:
= {
.enable_dev = enable_dev,
.init = soc_init,
.final = soc_final
}
static void enable_dev(struct device *dev)
Definition: chip.c:113
static void soc_init(void *chip_info)
Definition: chip.c:131
static void soc_final(void *chip_info)
Definition: chip.c:136

Definition at line 136 of file chip.c.