Tim Van Patten has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/63558 )
Change subject: drivers/usb/acpi: acpi_power_res_params: Add use_gpio_for_status ......................................................................
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 Signed-off-by: Tim Van Patten timvp@google.com BUG=b:225022810 TEST=Dump SSDT table for guybrush Change-Id: I69eb5f1ad79f3b2980f43dcf4a36585fca198ec9 --- M src/drivers/usb/acpi/chip.h M src/drivers/usb/acpi/usb_acpi.c 2 files changed, 8 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/58/63558/1
diff --git a/src/drivers/usb/acpi/chip.h b/src/drivers/usb/acpi/chip.h index 41481f1..4adffcf 100644 --- a/src/drivers/usb/acpi/chip.h +++ b/src/drivers/usb/acpi/chip.h @@ -66,6 +66,12 @@ * 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 */ diff --git a/src/drivers/usb/acpi/usb_acpi.c b/src/drivers/usb/acpi/usb_acpi.c index fb9f7f1..f72129c 100644 --- a/src/drivers/usb/acpi/usb_acpi.c +++ b/src/drivers/usb/acpi/usb_acpi.c @@ -95,7 +95,8 @@ config->enable_off_delay_ms, NULL, 0, - 0 + 0, + config->use_gpio_for_status }; acpi_device_add_power_res(&power_res_params); }