Linux ACPI
 help / color / mirror / Atom feed
From: Armin Wolf <W_Armin@gmx.de>
To: Edward Blair <edward.blair@gmail.com>
Cc: linux-acpi@vger.kernel.org, linux-usb@vger.kernel.org,
	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: Sat, 29 Aug 2026 12:37:22 +0200	[thread overview]
Message-ID: <d8e7d9c3-7340-4765-8a1b-7ee5b4a0f932@gmx.de> (raw)
In-Reply-To: <CAJDQNgiYYQW1N94cTSD-Naph9h44OXZpsZVySi=7sgpcQ21yYQ@mail.gmail.com>

Am 28.08.26 um 03:04 schrieb Edward Blair:

> Let's try that again.. without gmail's html...
>
> Thanks, that makes sense. I can rework patch 1 to add MSFT8000 to
> ignore_serial_bus_ids[] in acpi_device_enumeration_by_parent(). This
> keeps the ACPI device present while preventing its SerialBus resources
> from being instantiated as bus clients.
>
> If that sounds reasonable, it seems like a good middle ground between
> v1 and v2: it preserves v1's enumeration behaviour while handling the
> device generically in the ACPI core, without the ITE-specific x86
> status override added in v2.
>
> Thanks,
> Edward

Sound reasonable to me, just add a small comment explaining why MSFT8000
had to be added to that list.

Thanks,
Armin Wolf

>
> On Fri, 28 Aug 2026 at 01:58, Edward Blair <edward.blair@gmail.com> wrote:
>> Thanks, that makes sense. I can rework patch 1 to add MSFT8000 to ignore_serial_bus_ids[] in acpi_device_enumeration_by_parent(). This keeps the ACPI device present while preventing its SerialBus resources from being instantiated as bus clients.
>>
>> If that sounds reasonable, it seems like a good middle ground between v1 and v2: it preserves v1's enumeration behaviour while handling the device generically in the ACPI core, without the ITE-specific x86 status override added in v2.
>>
>> Thanks,
>> Edward
>>
>> On Thu, 27 Aug 2026 at 23:30, Armin Wolf <W_Armin@gmx.de> wrote:
>>> 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

      reply	other threads:[~2026-08-29 10:37 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 ` [PATCH v2 0/2] Add UCSI I2C transport driver for ITE885x USB-C controllers Armin Wolf
     [not found]   ` <CAJDQNggKFhJ=YKanKWmG_hRi98nRi-8Wa19D7mqU1MuM2dF=vQ@mail.gmail.com>
2026-08-28  1:04     ` Edward Blair
2026-08-29 10:37       ` Armin Wolf [this message]

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=d8e7d9c3-7340-4765-8a1b-7ee5b4a0f932@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