coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
smihandler.c
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
3
#include <baseboard/variants.h>
4
#include <
console/console.h
>
5
#include <
cpu/x86/smm.h
>
6
#include <
ec/google/chromeec/smm.h
>
7
#include <gpio.h>
8
#include <soc/smi.h>
9
#include <variant/ec.h>
10
#include <variant/gpio.h>
11
12
void
mainboard_smi_gpi
(
u32
gpi_sts)
13
{
14
printk
(
BIOS_WARNING
,
"No GPIO is set up as PAD_SMI, so %s should never end up being "
15
"called. gpi_status is %x.\n"
, __func__, gpi_sts);
16
}
17
18
void
mainboard_smi_sleep
(
u8
slp_typ)
19
{
20
size_t
num_gpios;
21
const
struct
soc_amd_gpio
*gpios;
22
23
if
(
CONFIG
(EC_GOOGLE_CHROMEEC))
24
chromeec_smi_sleep
(slp_typ,
MAINBOARD_EC_S3_WAKE_EVENTS
,
25
MAINBOARD_EC_S5_WAKE_EVENTS
);
26
27
gpios =
variant_sleep_gpio_table
(&num_gpios, slp_typ);
28
gpio_configure_pads
(gpios, num_gpios);
29
}
30
31
int
mainboard_smi_apmc
(
u8
apmc)
32
{
33
if
(
CONFIG
(EC_GOOGLE_CHROMEEC))
34
chromeec_smi_apmc
(apmc,
MAINBOARD_EC_SCI_EVENTS
,
35
MAINBOARD_EC_SMI_EVENTS
);
36
37
return
0;
38
}
printk
#define printk(level,...)
Definition:
stdlib.h:16
console.h
mainboard_smi_sleep
void __weak mainboard_smi_sleep(u8 slp_typ)
Definition:
smihandler.c:210
mainboard_smi_apmc
int __weak mainboard_smi_apmc(u8 data)
Definition:
smihandler.c:209
mainboard_smi_gpi
void __weak mainboard_smi_gpi(u32 gpi_sts)
Definition:
smihandler.c:208
CONFIG
@ CONFIG
Definition:
dsi_common.h:201
chromeec_smi_sleep
void chromeec_smi_sleep(int slp_type, uint64_t s3_mask, uint64_t s5_mask)
Definition:
smihandler.c:48
chromeec_smi_apmc
void chromeec_smi_apmc(int apmc, uint64_t sci_mask, uint64_t smi_mask)
Definition:
smihandler.c:89
smm.h
smm.h
BIOS_WARNING
#define BIOS_WARNING
BIOS_WARNING - Bad configuration.
Definition:
loglevel.h:86
MAINBOARD_EC_S5_WAKE_EVENTS
#define MAINBOARD_EC_S5_WAKE_EVENTS
Definition:
ec.h:32
MAINBOARD_EC_SCI_EVENTS
#define MAINBOARD_EC_SCI_EVENTS
Definition:
ec.h:12
MAINBOARD_EC_SMI_EVENTS
#define MAINBOARD_EC_SMI_EVENTS
Definition:
ec.h:28
MAINBOARD_EC_S3_WAKE_EVENTS
#define MAINBOARD_EC_S3_WAKE_EVENTS
Definition:
ec.h:37
variant_sleep_gpio_table
const struct pad_config *__weak variant_sleep_gpio_table(size_t *num)
Definition:
gpio.c:466
gpio_configure_pads
void gpio_configure_pads(const struct soc_amd_gpio *gpio_list_ptr, size_t size)
program a particular set of GPIO
Definition:
gpio.c:307
u32
uint32_t u32
Definition:
stdint.h:51
u8
uint8_t u8
Definition:
stdint.h:45
soc_amd_gpio
Definition:
gpio.h:11
src
mainboard
google
zork
smihandler.c
Generated by
1.9.1