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 - 13:03:55 EST


On Fri, Nov 06, 2026 at 12:54:27PM -0500, Mark Pearson wrote:
>
>
> On Fri, Nov 6, 2026, at 11:54 AM, Heikki Krogerus wrote:
> > 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?
> >
>
> The board names are what I recommended - they are pretty safe to guarantee
> they won't change whereas other fields are less guaranteed (guidance given by
> FW team). It is annoying there are two I know.

Okay, thanks. I had to double check. I guess you guys already talked
about this. Sorry about the noise.

> FWIW I would rather wait for confirmation from the FW team if they will fix
> this before accepting the quirk. I am still waiting for a reply from them
> though I'm afraid.

Makes sense.

Thanks,

> >> 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

--
heikki