coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
mainboard.c File Reference
#include <acpi/acpi.h>
#include <baseboard/variants.h>
#include <boardid.h>
#include <console/console.h>
#include <device/device.h>
#include <ec/ec.h>
#include <gpio.h>
#include <nhlt.h>
#include <smbios.h>
#include <soc/gpio.h>
#include <soc/nhlt.h>
#include <string.h>
#include <variant/ec.h>
#include <variant/gpio.h>
Include dependency graph for mainboard.c:

Go to the source code of this file.

Functions

const struct pad_config __weakvariant_sku_gpio_table (size_t *num)
 
static void mainboard_init (void *chip_info)
 
uint8_t sku_strapping_value (void)
 
uint8_t __weak variant_board_sku (void)
 
void __weak variant_board_ec_set_skuid (void)
 
const char * smbios_system_sku (void)
 
void __weak variant_nhlt_oem_overrides (const char **oem_id, const char **oem_table_id, uint32_t *oem_revision)
 
static unsigned long mainboard_write_acpi_tables (const struct device *device, unsigned long current, acpi_rsdp_t *rsdp)
 
static void mainboard_enable (struct device *dev)
 

Variables

struct chip_operations mainboard_ops
 

Function Documentation

◆ mainboard_enable()

static void mainboard_enable ( struct device dev)
static

Definition at line 124 of file mainboard.c.

References mainboard_write_acpi_tables(), and device::ops.

Here is the call graph for this function:

◆ mainboard_init()

static void mainboard_init ( void chip_info)
static

Definition at line 26 of file mainboard.c.

References BIOS_INFO, board_id(), gpio_configure_pads(), mainboard_ec_init(), printk, variant_board_ec_set_skuid(), variant_gpio_table(), and variant_sku_gpio_table().

Here is the call graph for this function:

◆ mainboard_write_acpi_tables()

static unsigned long mainboard_write_acpi_tables ( const struct device device,
unsigned long  current,
acpi_rsdp_t rsdp 
)
static

Definition at line 95 of file mainboard.c.

References acpi_add_table(), nhlt_init(), nhlt_soc_serialize_oem_overrides(), NULL, variant_nhlt_init(), and variant_nhlt_oem_overrides().

Referenced by mainboard_enable().

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

◆ sku_strapping_value()

uint8_t sku_strapping_value ( void  )

Definition at line 52 of file mainboard.c.

References ARRAY_SIZE, GPIO_16, GPIO_17, and gpio_base3_value().

Referenced by variant_board_sku().

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

◆ smbios_system_sku()

const char* smbios_system_sku ( void  )

Definition at line 77 of file mainboard.c.

References snprintf(), and variant_board_sku().

Here is the call graph for this function:

◆ variant_board_ec_set_skuid()

void __weak variant_board_ec_set_skuid ( void  )

Definition at line 73 of file mainboard.c.

Referenced by mainboard_init().

Here is the caller graph for this function:

◆ variant_board_sku()

uint8_t __weak variant_board_sku ( void  )

Definition at line 62 of file mainboard.c.

References sku_strapping_value().

Here is the call graph for this function:

◆ variant_nhlt_oem_overrides()

void __weak variant_nhlt_oem_overrides ( const char **  oem_id,
const char **  oem_table_id,
uint32_t oem_revision 
)

Definition at line 86 of file mainboard.c.

References variant_board_sku().

Referenced by mainboard_write_acpi_tables().

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

◆ variant_sku_gpio_table()

const struct pad_config __weak* variant_sku_gpio_table ( size_t num)

Definition at line 20 of file mainboard.c.

References NULL.

Referenced by mainboard_chip_init(), and mainboard_init().

Here is the caller graph for this function:

Variable Documentation

◆ mainboard_ops

struct chip_operations mainboard_ops
Initial value:
= {
.init = mainboard_init,
.enable_dev = mainboard_enable,
}
static void mainboard_init(void *chip_info)
Definition: mainboard.c:26
static void mainboard_enable(struct device *dev)
Definition: mainboard.c:124

Definition at line 124 of file mainboard.c.