From: Armin Wolf <W_Armin@gmx.de>
To: Edward Blair <edward.blair@gmail.com>,
linux-acpi@vger.kernel.org, linux-usb@vger.kernel.org
Cc: rafael@kernel.org, lenb@kernel.org,
heikki.krogerus@linux.intel.com, mika.westerberg@linux.intel.com,
gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 0/2] Add UCSI I2C transport driver for ITE885x USB-C controllers
Date: Fri, 28 Aug 2026 00:30:40 +0200 [thread overview]
Message-ID: <ca37dbf2-0949-401b-a1bc-c714a1c451e0@gmx.de> (raw)
In-Reply-To: <20260825201426.47030-1-edward.blair@gmail.com>
Am 25.08.26 um 22:14 schrieb Edward Blair:
> Some ASUS desktop boards describe the same ITE USB-C controller twice
> in ACPI: as an MSFT8000 Resource Hub Proxy and as an ITE885x device at
> the same I2C address. If the RhProxy node claims the address first, the
> ITE device cannot be registered. Only the ITE node provides the
> interrupt required by this transport.
>
> Patch 1 marks the RhProxy node absent only when its I2C resource exactly
> matches a supported ITE node which also has an interrupt.
AFAIK the MSFT8000 device is used to grant userspace applications under Windows
access to I2C, SPI, UART and GPIO resources. Since we already provide those functions
natively i suggest that we generally ignore MSFT8000 devices when checking for resource
conflicts.
Thanks,
Armin Wolf
> Patch 2 adds the ITE885x UCSI transport. These controllers use
> ITE-specific offsets for CCI, MESSAGE_IN, CONTROL and interrupt
> handling. They do not expose a VERSION register or accept PPM_RESET
> over I2C.
>
> The register layout and reset behaviour were checked against the ITE
> Windows driver supplied for this board.
>
> Tested on an ASUS ROG Strix Z790-E Gaming WiFi with ITE8853:
>
> - Built and booted on x86_64.
> - ucsi_ite bound to ITE8853:00 without the previous -EBUSY failure.
> - /sys/class/typec/port0 was registered.
> - USB-C attachment detection worked.
> - No UCSI, ITE or Type-C initialization errors were logged.
>
> Suspend/resume and the ITE8800 through ITE8805 IDs have not been tested.
>
> Changes since v1:
>
> - Move the duplicate-device quirk from the I2C core to the ACPI x86
> status-override code, as suggested by Mika and Heikki.
> - Correctly identify MSFT8000 as a Resource Hub Proxy.
> - Restrict the quirk to exact matching I2C resources.
> - Use devm_request_threaded_irq(), as suggested by Heikki.
> - Rebase onto Linux 7.2 and update for the current UCSI API.
> - Read and cache complete UCSI events before acknowledging them.
> - Match the vendor transport's MESSAGE_IN and PPM_RESET behaviour.
>
> Link: https://lore.kernel.org/all/20260314013157.7181-1-edward.blair@gmail.com/
>
> Edward Blair (2):
> ACPI: x86: hide duplicate RhProxy node for ITE UCSI controllers
> usb: typec: ucsi: add ITE885x I2C transport driver
>
> drivers/acpi/x86/utils.c | 151 ++++++++++++
> drivers/usb/typec/ucsi/Kconfig | 11 +
> drivers/usb/typec/ucsi/Makefile | 1 +
> drivers/usb/typec/ucsi/ucsi_ite.c | 395 ++++++++++++++++++++++++++++++
> 4 files changed, 558 insertions(+)
> create mode 100644 drivers/usb/typec/ucsi/ucsi_ite.c
>
>
> base-commit: 66498c75b4f8017f62d720d9b59675bdf3abce91
next prev parent reply other threads:[~2026-08-27 22:30 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-25 20:14 [PATCH v2 0/2] Add UCSI I2C transport driver for ITE885x USB-C controllers Edward Blair
2026-08-25 20:14 ` [PATCH v2 1/2] ACPI: x86: hide duplicate RhProxy node for ITE UCSI controllers Edward Blair
2026-08-25 20:14 ` [PATCH v2 2/2] usb: typec: ucsi: add ITE885x I2C transport driver Edward Blair
2026-08-27 22:30 ` Armin Wolf [this message]
[not found] ` <CAJDQNggKFhJ=YKanKWmG_hRi98nRi-8Wa19D7mqU1MuM2dF=vQ@mail.gmail.com>
2026-08-28 1:04 ` [PATCH v2 0/2] Add UCSI I2C transport driver for ITE885x USB-C controllers Edward Blair
2026-08-29 10:37 ` Armin Wolf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ca37dbf2-0949-401b-a1bc-c714a1c451e0@gmx.de \
--to=w_armin@gmx.de \
--cc=edward.blair@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=rafael@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).