diff options
-rw-r--r-- | src/mainboard/prodrive/hermes/mainboard.c | 13 | ||||
-rw-r--r-- | src/soc/intel/cannonlake/acpi/xhci.asl | 6 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/mainboard/prodrive/hermes/mainboard.c b/src/mainboard/prodrive/hermes/mainboard.c index 0b0eb88ff6..18bd8a48b7 100644 --- a/src/mainboard/prodrive/hermes/mainboard.c +++ b/src/mainboard/prodrive/hermes/mainboard.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */ +#include <acpi/acpi.h> #include <acpi/acpigen.h> #include <bootstate.h> #include <cbmem.h> @@ -217,6 +218,18 @@ static void mainboard_acpi_fill_ssdt(const struct device *dev) acpigen_write_soc_gpio_op(usb_power_gpios[i]); } acpigen_pop_len(); + + if (!board_cfg->wake_on_usb) { + acpigen_write_if(); + acpigen_emit_byte(LNOT_OP); + acpigen_emit_byte(LLESS_OP); + acpigen_emit_byte(ARG0_OP); + acpigen_write_integer(ACPI_S3); + { + acpigen_write_store_int_to_namestr(0, "\\_SB.PCI0.XHCI.PMEE"); + } + acpigen_pop_len(); + } } acpigen_pop_len(); } diff --git a/src/soc/intel/cannonlake/acpi/xhci.asl b/src/soc/intel/cannonlake/acpi/xhci.asl index fbe811e952..bc4574d222 100644 --- a/src/soc/intel/cannonlake/acpi/xhci.asl +++ b/src/soc/intel/cannonlake/acpi/xhci.asl @@ -87,6 +87,12 @@ Device (XHCI) Offset (0x10), , 16, XMEM, 16, /* MEM_BASE */ + Offset (0x74), + D0D3, 2, /* POWERSTATE */ + , 6, + PMEE, 1, /* PME_EN */ + , 6, + PMES, 1, /* PME_STS */ } Method (_PS0, 0, Serialized) |