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 <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/52382
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: <wouter.eckhardt@prodrive-technologies.com>
This commit is contained in:
Patrick Rudolph 2021-04-15 16:28:57 +02:00 committed by Patrick Georgi
parent a767eb4ed9
commit 4b29c4adeb
1 changed files with 4 additions and 8 deletions

View File

@ -177,16 +177,12 @@ static void mainboard_acpi_fill_ssdt(const struct device *dev)
else else
acpigen_write_soc_gpio_op = acpigen_soc_clear_tx_gpio; 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]);
for (size_t i = 0; i < ARRAY_SIZE(usb_power_gpios); i++)
acpigen_write_soc_gpio_op(usb_power_gpios[i]);
}
acpigen_pop_len();
} }
acpigen_pop_len(); acpigen_pop_len();
} }