coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
ec.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <acpi/acpi.h>
4 #include <console/console.h>
6 #include "ec.h"
7 
8 void mainboard_ec_init(void)
9 {
10  const struct google_chromeec_event_info info = {
11  .log_events = MAINBOARD_EC_LOG_EVENTS,
12  .sci_events = MAINBOARD_EC_SCI_EVENTS,
13  .s3_wake_events = MAINBOARD_EC_S3_WAKE_EVENTS,
14  .s5_wake_events = MAINBOARD_EC_S5_WAKE_EVENTS,
15  };
16 
17  int s3_wakeup = acpi_is_wakeup_s3();
18 
19  printk(BIOS_DEBUG, "mainboard_ec_init\n");
20  post_code(0xf0);
21 
22  google_chromeec_events_init(&info, s3_wakeup);
23  if (s3_wakeup) {
24  /* Clear pending events. */
26  ;
27  }
28 
29  post_code(0xf1);
30 }
static int acpi_is_wakeup_s3(void)
Definition: acpi.h:9
#define printk(level,...)
Definition: stdlib.h:16
static struct smmstore_params_info info
Definition: ramstage.c:12
void google_chromeec_events_init(const struct google_chromeec_event_info *info, bool is_s3_wakeup)
Definition: ec.c:410
enum host_event_code google_chromeec_get_event(void)
Definition: ec_i2c.c:242
@ EC_HOST_EVENT_NONE
Definition: ec_commands.h:654
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
Definition: loglevel.h:128
void mainboard_ec_init(void)
Definition: ec.c:8
#define MAINBOARD_EC_S5_WAKE_EVENTS
Definition: ec.h:32
#define MAINBOARD_EC_SCI_EVENTS
Definition: ec.h:12
#define MAINBOARD_EC_LOG_EVENTS
Definition: ec.h:42
#define MAINBOARD_EC_S3_WAKE_EVENTS
Definition: ec.h:37
#define post_code(value)
Definition: post_code.h:12