[PATCH] usb: typec: ucsi: acpi: Add quirk for ASUS ROG Zephyrus Duo 16 GX650PI
From: Aleksei Berezin via B4 Relay
Date: Thu Oct 08 2026 - 18:41:38 EST
From: Aleksei Berezin <8967858b87@xxxxxxxxx>
On the ASUS ROG Zephyrus Duo 16 (GX650PI, BIOS GX650PI.314) the firmware
loads the EC-based variant of the AMD CPM UCSI SSDT ("CPMUCSI"). Its _DSM
read function only copies MESSAGE_IN and CCI from the EC into the shared
mailbox and never fills in the VERSION field. The only code that sets the
version (M31F) lives in the "UCSIPLT" SSDT of the I2C-based variant, which
is present in the firmware image but not loaded on this machine.
As a result ucsi_register() reads a zero version and the probe fails
silently with -ENODEV, so neither Type-C port is registered and no
typec, usb_power_delivery or ucsi-source-psy devices are created.
Reuse the existing zero-version workaround from the Acer Nitro ANV15-41
quirk and assume UCSI 1.2 on this machine. With this change both ports,
the PD partner and the UCSI power supplies are registered and report the
connected USB PD charger correctly.
Assisted-by: Claude Opus 5.5 iasl
Signed-off-by: Aleksei Berezin <8967858b87@xxxxxxxxx>
---
drivers/usb/typec/ucsi/ucsi_acpi.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/usb/typec/ucsi/ucsi_acpi.c b/drivers/usb/typec/ucsi/ucsi_acpi.c
index 5697ccc24..c8e6efdba 100644
--- a/drivers/usb/typec/ucsi/ucsi_acpi.c
+++ b/drivers/usb/typec/ucsi/ucsi_acpi.c
@@ -196,6 +196,13 @@ static const struct dmi_system_id ucsi_acpi_quirks[] = {
},
.driver_data = (void *)&ucsi_acer_ops,
},
+ {
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+ DMI_MATCH(DMI_BOARD_NAME, "GX650PI"),
+ },
+ .driver_data = (void *)&ucsi_acer_ops,
+ },
{
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "LG Electronics"),
---
base-commit: 42bcac323cc3b16566fed8c5b250318ad02a0de0
change-id: 20261009-usb-next-98711bc6d682
Best regards,
--
Aleksei Berezin <8967858b87@xxxxxxxxx>