drivers/usb/acpi: acpi_power_res_params: Add use_gpio_for_status

Add the member `use_gpio_for_status` to the structure
`drivers_usb_acpi_config`, so the `devicetree.cb` can specify it.

This field is then used to initialize the corresponding field in the
structure `acpi_power_res_params` in `usb_acpi_fill_ssdt_generator()`.

The member `acpi_power_res_params::use_gpio_for_status()` is already
being used by `acpi_device_add_power_res()` to determine which version
of the `_STA()` method to output.

BRANCH=None
BUG=b:225022810
TEST=Dump SSDT table for guybrush

Signed-off-by: Tim Van Patten <timvp@google.com>
Change-Id: I69eb5f1ad79f3b2980f43dcf4a36585fca198ec9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63558
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
This commit is contained in:
Tim Van Patten 2022-04-13 11:48:36 -06:00 committed by Felix Held
parent b2537bdad5
commit e9667f4df1
2 changed files with 8 additions and 1 deletions

View File

@ -66,6 +66,12 @@ struct drivers_usb_acpi_config {
* E.g. On a mic: if it is one, it is recording white-noise.
*/
struct acpi_gpio privacy_gpio;
/* Write a _STA method that uses the state of the GPIOs to determine if
* the PowerResource is ON or OFF. If this is false, the _STA method
* will always return ON.
*/
bool use_gpio_for_status;
};
/* Method to get PLD structure from USB device */

View File

@ -95,7 +95,8 @@ static void usb_acpi_fill_ssdt_generator(const struct device *dev)
config->enable_off_delay_ms,
NULL,
0,
0
0,
config->use_gpio_for_status
};
acpi_device_add_power_res(&power_res_params);
}