| /* SPDX-License-Identifier: GPL-2.0-or-later */ |
| |
| #include <acpi/acpi.h> |
| #include <amdblocks/smi.h> |
| #include <ec/google/chromeec/ec.h> |
| #include <gpio.h> |
| #include <soc/smi.h> |
| #include <variant/ec.h> |
| |
| static const struct sci_source espi_sci_sources[] = { |
| { |
| .scimap = SMITYPE_ESPI_SCI_B, |
| .gpe = EC_SCI_GPI, |
| .direction = SMI_SCI_LVL_HIGH, /* enum smi_sci_lvl */ |
| .level = SMI_SCI_EDG, /* enum smi_sci_dir */ |
| } |
| }; |
| |
| void mainboard_ec_init(void) |
| { |
| 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, |
| .s0ix_wake_events = MAINBOARD_EC_S0IX_WAKE_EVENTS, |
| }; |
| |
| google_chromeec_events_init(&info, acpi_is_wakeup_s3()); |
| |
| /* Configure eSPI VW SCI events */ |
| gpe_configure_sci(espi_sci_sources, ARRAY_SIZE(espi_sci_sources)); |
| } |