summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/drivers/usb/acpi/chip.h6
-rw-r--r--src/drivers/usb/acpi/usb_acpi.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/drivers/usb/acpi/chip.h b/src/drivers/usb/acpi/chip.h
index 41481f1c87..4adffcf2c0 100644
--- a/src/drivers/usb/acpi/chip.h
+++ b/src/drivers/usb/acpi/chip.h
@@ -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 */
diff --git a/src/drivers/usb/acpi/usb_acpi.c b/src/drivers/usb/acpi/usb_acpi.c
index fb9f7f198f..f72129cba8 100644
--- a/src/drivers/usb/acpi/usb_acpi.c
+++ b/src/drivers/usb/acpi/usb_acpi.c
@@ -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);
}