From 4b29c4adeb877fe1b32cfa4ecea2cae9816fe3a8 Mon Sep 17 00:00:00 2001 From: Patrick Rudolph Date: Thu, 15 Apr 2021 16:28:57 +0200 Subject: [PATCH] mb/prodrive/hermes: Fix SSDT MPTS MPTS is currently not executed by the AML interpreter. Use Method (\\_SB.MPTS) instead of Scope (\\_SB) Method (MPTS) ScopeEnd Tested on Prodrive Hermes. MPTS is now executed at S5. Change-Id: I9074eb4ba55aab3f9a47ae5e3c3ddd338406a5e4 Signed-off-by: Patrick Rudolph Reviewed-on: https://review.coreboot.org/c/coreboot/+/52382 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons Reviewed-by: --- src/mainboard/prodrive/hermes/mainboard.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/mainboard/prodrive/hermes/mainboard.c b/src/mainboard/prodrive/hermes/mainboard.c index 2bc719a392..a9c840839e 100644 --- a/src/mainboard/prodrive/hermes/mainboard.c +++ b/src/mainboard/prodrive/hermes/mainboard.c @@ -177,16 +177,12 @@ static void mainboard_acpi_fill_ssdt(const struct device *dev) else acpigen_write_soc_gpio_op = acpigen_soc_clear_tx_gpio; - acpigen_write_scope("\\_SB"); + acpigen_write_method("\\_SB.MPTS", 1); { - acpigen_write_method("MPTS", 1); + acpigen_write_if_lequal_op_int(ARG0_OP, 5); { - acpigen_write_if_lequal_op_int(ARG0_OP, 5); - { - for (size_t i = 0; i < ARRAY_SIZE(usb_power_gpios); i++) - acpigen_write_soc_gpio_op(usb_power_gpios[i]); - } - acpigen_pop_len(); + for (size_t i = 0; i < ARRAY_SIZE(usb_power_gpios); i++) + acpigen_write_soc_gpio_op(usb_power_gpios[i]); } acpigen_pop_len(); }