Re: [PATCH v2 2/2] usb: typec: ucsi: acpi: Assume UCSI 1.2 on Lenovo ThinkPad T14 Gen 2a

From: Heikki Krogerus

Date: Fri Nov 06 2026 - 11:59:40 EST


On Tue, Nov 03, 2026 at 05:10:21PM +0100, Stanisław Titenko via B4 Relay wrote:
> From: Stanisław Titenko <kernel@xxxxxxxxxx>
>
> The Lenovo ThinkPad T14 Gen 2a exposes a functional UCSI ACPI PPM but
> the firmware leaves the VERSION field of the UCSI mailbox at zero.
>
> ucsi_register() rejects a zero version with -ENODEV, leaving the
> system without registered USB Type-C connectors. Without an OPM, the
> embedded controller does not complete DisplayPort Alternate Mode setup
> when a USB-C dock or monitor that supplies power is connected after
> boot, so the display stays dark while USB and charging work.
>
> Use the zero version quirk for the ThinkPad T14 Gen 2a, matching the
> two board names of this model (20XK and 20XL).

So is the product family the same?

Could you use DMI_MATCH(DMI_PRODUCT_FAMILY... instead of adding
separate matches entry for both?

> Tested on a ThinkPad T14 Gen 2a (20XK) with BIOS 1.33 (R1MET63W):
> both Type-C connectors register, and plugging and replugging a USB-C
> monitor with an integrated hub and power delivery brings up
> DisplayPort Alternate Mode each time.
>
> Reported-by: Daniel Dev <daniel.dev@xxxxxxx>
> Closes: https://lore.kernel.org/linux-usb/b1Wn_eFvTFShGbd970WWl4CWhge_6P2x7Wb6rab3QHNlE4OJ4p__O-QN3B6I-308ftr5oV5Zr7vywA0vdvmtNw6E0YJnVM2ek_5DcFnkXB0=@noex.uk/
> Fixes: c1b0bc2dabfa ("usb: typec: Add support for UCSI interface")
> Cc: stable@xxxxxxxxxxxxxxx
> Assisted-by: pi:claude-opus-5-5
> Signed-off-by: Stanisław Titenko <kernel@xxxxxxxxxx>

Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>

> ---
> drivers/usb/typec/ucsi/ucsi_acpi.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/drivers/usb/typec/ucsi/ucsi_acpi.c b/drivers/usb/typec/ucsi/ucsi_acpi.c
> index 47ba0e15b8ba..d752fc7b61ec 100644
> --- a/drivers/usb/typec/ucsi/ucsi_acpi.c
> +++ b/drivers/usb/typec/ucsi/ucsi_acpi.c
> @@ -196,6 +196,22 @@ static const struct dmi_system_id ucsi_acpi_quirks[] = {
> },
> .driver_data = (void *)&ucsi_zero_version_ops,
> },
> + {
> + /* Lenovo ThinkPad T14 Gen 2a */
> + .matches = {
> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_BOARD_NAME, "20XK"),
> + },
> + .driver_data = (void *)&ucsi_zero_version_ops,
> + },
> + {
> + /* Lenovo ThinkPad T14 Gen 2a */
> + .matches = {
> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_BOARD_NAME, "20XL"),
> + },
> + .driver_data = (void *)&ucsi_zero_version_ops,
> + },
> {
> .matches = {
> DMI_MATCH(DMI_SYS_VENDOR, "LG Electronics"),
>
> --
> 2.56.0
>

--
heikki