blob: a3ee95bd0bba2a4e26106656fa0e6081c1a665a6 [file] [log] [blame]
Angel Pons58c0d322020-04-05 13:20:46 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Marc Jones07cf24c2015-06-09 14:42:55 -06002
Furquan Shaikh76cedd22020-05-02 10:24:23 -07003#include <acpi/acpi.h>
Marc Jones07cf24c2015-06-09 14:42:55 -06004#include <console/console.h>
5#include <ec/google/chromeec/ec.h>
6#include "ec.h"
7
8void mainboard_ec_init(void)
9{
Furquan Shaikh2749c522017-10-04 14:01:41 -070010 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
Matt DeVillier0868f962020-02-18 16:06:04 -060017 int s3_wakeup = acpi_is_wakeup_s3();
18
Marc Jones07cf24c2015-06-09 14:42:55 -060019 printk(BIOS_DEBUG, "mainboard_ec_init\n");
20 post_code(0xf0);
21
Matt DeVillier0868f962020-02-18 16:06:04 -060022 google_chromeec_events_init(&info, s3_wakeup);
23 if (s3_wakeup) {
24 /* Clear pending events. */
Rob Barnesf1ade482021-06-14 10:22:21 -060025 while (google_chromeec_get_event() != EC_HOST_EVENT_NONE)
Matt DeVillier0868f962020-02-18 16:06:04 -060026 ;
27 }
Marc Jones07cf24c2015-06-09 14:42:55 -060028
29 post_code(0xf1);
30}