coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
smihandler.c File Reference
#include <acpi/acpi.h>
#include <arch/io.h>
#include <device/mmio.h>
#include <console/console.h>
#include <cpu/x86/smm.h>
#include "ec.h"
#include <ec/google/chromeec/ec.h>
#include <elog.h>
#include <soc/nvs.h>
#include <soc/pm.h>
#include <soc/gpio.h>
#include <variant/onboard.h>
Include dependency graph for smihandler.c:

Go to the source code of this file.

Macros

#define WAKE_GPIO_EN   SUS_GPIO_EN0
 
#define GPIO_SUS7_WAKE_MASK   (1 << 12)
 
#define GPIO_SUS1_WAKE_MASK   (1 << 13)
 

Functions

int mainboard_io_trap_handler (int smif)
 
static uint8_t mainboard_smi_ec (void)
 
void mainboard_smi_gpi (uint32_t alt_gpio_smi)
 
void mainboard_smi_sleep (uint8_t slp_typ)
 
int mainboard_smi_apmc (uint8_t apmc)
 

Macro Definition Documentation

◆ GPIO_SUS1_WAKE_MASK

#define GPIO_SUS1_WAKE_MASK   (1 << 13)

Definition at line 20 of file smihandler.c.

◆ GPIO_SUS7_WAKE_MASK

#define GPIO_SUS7_WAKE_MASK   (1 << 12)

Definition at line 19 of file smihandler.c.

◆ WAKE_GPIO_EN

#define WAKE_GPIO_EN   SUS_GPIO_EN0

Definition at line 18 of file smihandler.c.

Function Documentation

◆ mainboard_io_trap_handler()

int mainboard_io_trap_handler ( int  smif)

Definition at line 22 of file smihandler.c.

References BIOS_DEBUG, gnvs, printk, and global_nvs::smif.

◆ mainboard_smi_apmc()

◆ mainboard_smi_ec()

static uint8_t mainboard_smi_ec ( void  )
static

Definition at line 44 of file smihandler.c.

References BIOS_DEBUG, EC_HOST_EVENT_LID_CLOSED, elog_gsmi_add_event_byte(), ELOG_TYPE_EC_EVENT, get_pmbase(), google_chromeec_get_event(), inl(), outl(), PM1_CNT, pmbase, printk, SLP_EN, SLP_TYP_S5, and SLP_TYP_SHIFT.

Referenced by mainboard_smi_gpi().

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

◆ mainboard_smi_gpi()

void mainboard_smi_gpi ( uint32_t  alt_gpio_smi)

Definition at line 72 of file smihandler.c.

References EC_SMI_GPI, and mainboard_smi_ec().

Here is the call graph for this function:

◆ mainboard_smi_sleep()