[PATCH 1/4] dt-bindings: usb: add Realtek RTS5453H Type-C port controller
From: Gary Yang
Date: Fri Nov 06 2026 - 20:14:00 EST
Document the Realtek RTS5453H stand-alone USB Type-C port controller.
The controller is connected over I2C and manages a single USB Type-C
connector, described with the generic USB connector binding.
The connector's OF graph links to the Type-C orientation switch and
mode mux provided by the platform PHY.
Signed-off-by: Gary Yang <gary.yang@xxxxxxxxxxx>
---
.../bindings/usb/realtek,rts5453h.yaml | 126 ++++++++++++++++++
1 file changed, 126 insertions(+)
create mode 100644 Documentation/devicetree/bindings/usb/realtek,rts5453h.yaml
diff --git a/Documentation/devicetree/bindings/usb/realtek,rts5453h.yaml b/Documentation/devicetree/bindings/usb/realtek,rts5453h.yaml
new file mode 100644
index 000000000000..535aa2379427
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/realtek,rts5453h.yaml
@@ -0,0 +1,126 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/realtek,rts5453h.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Realtek RTS5453H USB Type-C port controller
+
+description: |
+ The RTS5453H is a stand-alone USB Type-C port controller with USB
+ Power Delivery support. It is controlled over I2C and reports
+ changes of the port state through an interrupt line.
+
+ Orientation switching and USB/DisplayPort lane muxing are performed by
+ the platform PHY. The controller finds the Type-C switch and mux
+ through the OF graph of its connector node.
+
+maintainers:
+ - Gary Yang <gary.yang@xxxxxxxxxxx>
+
+properties:
+ compatible:
+ const: realtek,rts5453h
+
+ reg:
+ maxItems: 1
+
+ '#address-cells':
+ const: 1
+
+ '#size-cells':
+ const: 0
+
+ interrupts:
+ maxItems: 1
+
+patternProperties:
+ '^connector@[0-9a-f]+$':
+ type: object
+ $ref: /schemas/connector/usb-connector.yaml#
+ unevaluatedProperties: false
+ description:
+ The USB Type-C connector managed by this controller.
+
+ required:
+ - reg
+ - data-role
+ - power-role
+ - try-power-role
+
+required:
+ - compatible
+ - reg
+ - '#address-cells'
+ - '#size-cells'
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ typec@30 {
+ compatible = "realtek,rts5453h";
+ reg = <0x30>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupt-parent = <&gpio0>;
+ interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
+
+ connector@0 {
+ compatible = "usb-c-connector";
+ reg = <0>;
+ data-role = "host";
+ power-role = "source";
+ try-power-role = "source";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ typec_hs_ep: endpoint {
+ remote-endpoint = <&usb_hs_ep>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ typec_ss_ep: endpoint {
+ remote-endpoint = <&usb_ss_ep>;
+ };
+ };
+ };
+ };
+ };
+ };
+
+ usb {
+ usb-role-switch;
+
+ port {
+ usb_hs_ep: endpoint {
+ remote-endpoint = <&typec_hs_ep>;
+ };
+ };
+ };
+
+ usb-mux {
+ orientation-switch;
+ mode-switch;
+
+ port {
+ usb_ss_ep: endpoint {
+ remote-endpoint = <&typec_ss_ep>;
+ };
+ };
+ };
--
2.50.1