|
|
Log in / Subscribe / Register

USB Type-C alternate mode priorities

From:  Andrei Kuchynski <akuchynski-AT-chromium.org>
To:  Heikki Krogerus <heikki.krogerus-AT-linux.intel.com>, Abhishek Pandit-Subedi <abhishekpandit-AT-chromium.org>, Benson Leung <bleung-AT-chromium.org>, Jameson Thies <jthies-AT-google.com>, Tzung-Bi Shih <tzungbi-AT-kernel.org>, linux-usb-AT-vger.kernel.org, chrome-platform-AT-lists.linux.dev
Subject:  [PATCH v5 0/4] USB Type-C alternate mode priorities
Date:  Mon, 24 Nov 2025 12:46:35 +0000
Message-ID:  <20251124124639.1101335-1-akuchynski@chromium.org>
Cc:  Guenter Roeck <groeck-AT-chromium.org>, Greg Kroah-Hartman <gregkh-AT-linuxfoundation.org>, Dmitry Baryshkov <dmitry.baryshkov-AT-oss.qualcomm.com>, "Christian A. Ehrhardt" <lk-AT-c--e.de>, Abel Vesa <abel.vesa-AT-linaro.org>, Pooja Katiyar <pooja.katiyar-AT-intel.com>, Venkat Jayaraman <venkat.jayaraman-AT-intel.com>, linux-kernel-AT-vger.kernel.org, Andrei Kuchynski <akuchynski-AT-chromium.org>
Archive-link:  Article

This patch series introduces a mechanism for setting USB Type-C alternate
mode priorities. It allows the user to specify their preferred order for
mode selection, such as USB4, Thunderbolt, or DisplayPort.

A new sysfs attribute named 'priority' is exposed to provide user-space
control over the mode selection process.

This series was tested on a Android OS device running kernel 6.18.0-rc6.

Changes in v5:
- Patches 3 and 4 (v4) have been consolidated into a singular patch,
keeping the mode priority implementation within drivers/usb/typec/class.c.

Andrei Kuchynski (4):
  usb: typec: Add mode_control field to port property
  platform/chrome: cros_ec_typec: Set no_mode_control flag
  usb: typec: ucsi: Set no_mode_control flag
  usb: typec: Expose alternate mode priority via sysfs

 Documentation/ABI/testing/sysfs-class-typec | 11 +++
 drivers/platform/chrome/cros_ec_typec.c     |  1 +
 drivers/usb/typec/class.c                   | 99 ++++++++++++++++++++-
 drivers/usb/typec/class.h                   |  1 +
 drivers/usb/typec/ucsi/ucsi.c               |  1 +
 include/linux/usb/typec.h                   |  2 +
 include/linux/usb/typec_altmode.h           |  1 +
 7 files changed, 112 insertions(+), 4 deletions(-)

-- 
2.52.0.rc2.455.g230fcf2819-goog




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds