2020-04-05 13:22:44 +02:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
2016-11-27 09:19:02 +01:00
|
|
|
|
2020-05-02 19:24:23 +02:00
|
|
|
#include <acpi/acpi.h>
|
2016-11-27 09:19:02 +01:00
|
|
|
#include <types.h>
|
|
|
|
#include <console/console.h>
|
|
|
|
#include <ec/google/chromeec/ec.h>
|
|
|
|
#include "ec.h"
|
|
|
|
|
|
|
|
void mainboard_ec_init(void)
|
|
|
|
{
|
2017-10-04 23:01:41 +02:00
|
|
|
const struct google_chromeec_event_info info = {
|
|
|
|
.log_events = MAINBOARD_EC_LOG_EVENTS,
|
|
|
|
.sci_events = MAINBOARD_EC_SCI_EVENTS,
|
|
|
|
.s3_wake_events = MAINBOARD_EC_S3_WAKE_EVENTS,
|
|
|
|
.s5_wake_events = MAINBOARD_EC_S5_WAKE_EVENTS,
|
|
|
|
};
|
|
|
|
|
2020-02-18 23:06:04 +01:00
|
|
|
int s3_wakeup = acpi_is_wakeup_s3();
|
|
|
|
|
2016-11-27 09:19:02 +01:00
|
|
|
printk(BIOS_DEBUG, "mainboard_ec_init\n");
|
|
|
|
post_code(0xf0);
|
|
|
|
|
2020-02-18 23:06:04 +01:00
|
|
|
google_chromeec_events_init(&info, s3_wakeup);
|
|
|
|
if (s3_wakeup) {
|
|
|
|
/* Clear pending events. */
|
|
|
|
while (google_chromeec_get_event() != 0)
|
|
|
|
;
|
|
|
|
}
|
2016-11-27 09:19:02 +01:00
|
|
|
|
|
|
|
post_code(0xf1);
|
|
|
|
}
|