drivers/usb/acpi: Add USB _DSM method to enable/disable USB LPM per port

This patch supports projects to use _DSM to control USB3 U1/U2
transition per port.

More details can be found in
https://web.archive.org/web/20230116084819/https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/usb-device-specific-method---dsm-

The ACPI and USB driver of linux kernel need corresponding functions
to support this feature. Please see
https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git/log/?h=port_check_acpi_dsm

BUG=b:253402457
TEST=tested on felwinter and found _DSM method is created.

Change-Id: Iffb2498e26352a3f120c097c50587324e311e8ba
Signed-off-by: Kane Chen <kane.chen@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/71924
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
This commit is contained in:
Kane Chen
2022-12-12 13:15:03 +08:00
committed by Eric Lai
parent 56d8313925
commit 56e448b8d5
4 changed files with 41 additions and 0 deletions

View File

@@ -11,4 +11,9 @@ struct dsm_i2c_hid_config {
void acpigen_write_dsm_i2c_hid(struct dsm_i2c_hid_config *config);
struct dsm_usb_config {
uint8_t usb_lpm_incapable;
};
void acpigen_write_dsm_usb(struct dsm_usb_config *config);
#endif /* __ACPI_ACPIGEN_DSM_H__ */