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/ec.h
>
7
#include <
ec/google/chromeec/smm.h
>
8
#include <elog.h>
9
#include <variant/ec.h>
10
11
void
mainboard_smi_gpi
(
u32
gpi_sts)
12
{
13
printk
(
BIOS_WARNING
,
"No GPIO is set up as PAD_SMI, so %s should never end up being "
14
"called. gpi_status is %x.\n"
, __func__, gpi_sts);
15
}
16
17
void
mainboard_smi_sleep
(
u8
slp_typ)
18
{
19
size_t
num_gpios;
20
const
struct
soc_amd_gpio
*gpios;
21
22
chromeec_smi_sleep
(slp_typ,
MAINBOARD_EC_S3_WAKE_EVENTS
,
MAINBOARD_EC_S5_WAKE_EVENTS
);
23
24
gpios =
variant_sleep_gpio_table
(&num_gpios);
25
gpio_configure_pads
(gpios, num_gpios);
26
}
27
28
int
mainboard_smi_apmc
(
u8
apmc)
29
{
30
chromeec_smi_apmc
(apmc,
MAINBOARD_EC_SCI_EVENTS
,
MAINBOARD_EC_SMI_EVENTS
);
31
32
return
0;
33
}
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
ec.h
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
guybrush
smihandler.c
Generated by
1.9.1