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 <arch/io.h>
#include <console/console.h>
#include <device/pci_ops.h>
#include <drivers/intel/gma/int15.h>
#include <ec/acpi/ec.h>
#include <halt.h>
#include <intelblocks/lpc_lib.h>
#include <intelblocks/pmclib.h>
#include <rtc.h>
#include <soc/nhlt.h>
#include <soc/pci_devs.h>
#include <soc/pm.h>
#include "include/ec.h"
#include "include/gpio.h"
Include dependency graph for mainboard.c:

Go to the source code of this file.

Functions

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)
 
static void ec_send_time (void)
 
static void ec_requests_time (void)
 
static void ec_init (void)
 
static void mainboard_init (void *chip_info)
 

Variables

struct chip_operations mainboard_ops
 

Function Documentation

◆ ec_init()

static void ec_init ( void  )
static

Definition at line 110 of file mainboard.c.

References ACPI_BASE_ADDRESS, acpi_is_wakeup_s3(), ec_cmd_90_read(), ec_cmd_91_write(), ec_read(), GPE0_STS, GPE_STD, halt(), inl(), outb(), outl(), PCH_DEV_XHCI, pci_update_config16(), pmc_clear_pm1_status(), pmc_enable_pm1_control(), power_state, SLP_EN, SLP_TYP_S3, and SLP_TYP_SHIFT.

Referenced by mainboard_init().

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

◆ ec_requests_time()

static void ec_requests_time ( void  )
static

Definition at line 92 of file mainboard.c.

References ec_cmd_90_read(), and ec_send_time().

Referenced by mainboard_init().

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

◆ ec_send_time()

static void ec_send_time ( void  )
static

Definition at line 67 of file mainboard.c.

References BIOS_DEBUG, rtc_time::hour, rtc_time::mday, rtc_time::min, rtc_time::mon, printk, recv_ec_data(), rtc_get(), rtc_time::sec, send_ec_command(), send_ec_data(), and rtc_time::year.

Referenced by ec_requests_time().

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

◆ mainboard_enable()

static void mainboard_enable ( struct device dev)
static

◆ mainboard_init()

static void mainboard_init ( void chip_info)
static

Definition at line 143 of file mainboard.c.

References ec_init(), ec_requests_time(), lpc_open_mmio_window(), and mainboard_config_stage_gpios().

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 19 of file mainboard.c.

References acpi_add_table(), BIOS_ERR, nhlt_init(), nhlt_soc_add_dmic_array(), nhlt_soc_serialize(), printk, and nhlt::subsystem_id.

Referenced by mainboard_enable().

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

Variable Documentation

◆ mainboard_ops

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

Definition at line 143 of file mainboard.c.