From: Gary Yang <gary.yang@cixtech.com>
To: Heikki Krogerus <heikki.krogerus@linux.intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Fugang Duan <fugang.duan@cixtech.com>
Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, cix-kernel-upstream@cixtech.com,
gary.yang@cixtech.com
Subject: [PATCH v3 0/2] usb: typec: add CIX Type-C PD controller driver
Date: Tue, 10 Nov 2026 13:17:21 +0800 [thread overview]
Message-ID: <20261110051723.434009-1-gary.yang@cixtech.com> (raw)
This series adds a Type-C PD controller driver for CIX platforms.
The first supported controller is the Realtek RTS5453H, a stand-alone
port controller: the CC and USB Power Delivery state machines run in
its firmware and are configured through vendor registers rather than
the TCPC register interface, so it cannot be driven by the tcpm
framework. The driver translates the controller status registers into
Type-C class notifications and drives the platform PHY's orientation
switch and mode mux.
The driver is named after the CIX platform integration rather than the
RTS5453H so that further register-compatible PD controllers can be
supported without renaming it.
Patch 1 adds the devicetree binding and patch 2 adds the driver and its
MAINTAINERS entry. The DTS patches from v1 are sent separately through
the SoC tree.
Changes since v2:
- Report the Type-C data role from the controller status for every
connection, including DisplayPort-only configurations where no USB
data role is available, instead of deriving it from the USB role
switch.
- Pass the port alternate mode in the mux state, matching other
firmware-driven port drivers.
- Force the USB role switch to be reprogrammed on system resume and
check the enable_irq_wake() return value.
- Acknowledge a pending controller interrupt during probe so that a
shared interrupt line is not left asserted.
- Do not drop the borrowed fwnode reference when parsing the connector
properties fails.
- Treat all fwnode_usb_role_switch_get() errors as fatal; a connector
without a role switch link returns NULL, not -ENODEV.
- Drop a redundant include.
Tested on a Radxa Orion O6 (Sky1): attach/detach, USB-only and DP-only
alt modes, cable orientation detection and HPD reporting all work.
Gary Yang (2):
dt-bindings: usb: add Realtek RTS5453H Type-C port controller
usb: typec: add CIX Type-C PD controller driver
.../bindings/usb/realtek,rts5453h.yaml | 112 +++
MAINTAINERS | 7 +
drivers/usb/typec/Kconfig | 13 +
drivers/usb/typec/Makefile | 1 +
drivers/usb/typec/cix_pd.c | 701 ++++++++++++++++++
5 files changed, 834 insertions(+)
create mode 100644 Documentation/devicetree/bindings/usb/realtek,rts5453h.yaml
create mode 100644 drivers/usb/typec/cix_pd.c
--
2.50.1
next reply other threads:[~2026-11-10 5:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-10 5:17 Gary Yang [this message]
2026-11-10 5:17 ` [PATCH v3 1/2] dt-bindings: usb: add Realtek RTS5453H Type-C port controller Gary Yang
2026-11-10 5:17 ` [PATCH v3 2/2] usb: typec: add CIX Type-C PD controller driver Gary Yang
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=20261110051723.434009-1-gary.yang@cixtech.com \
--to=gary.yang@cixtech.com \
--cc=cix-kernel-upstream@cixtech.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=fugang.duan@cixtech.com \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=robh@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
all inboxes | Powered by JetHome®