[PATCH 4/4] arm64: dts: cix: add RTS5453 PD controllers to Orion O6

From: Gary Yang

Date: Fri Nov 06 2026 - 20:12:33 EST


Describe the two Realtek RTS5453H port controllers on the Orion O6
I2C1 bus and add the I2C1 pin configuration.

The controllers route orientation and DisplayPort mode changes
through the USB/DP combo PHY lane switches, but that PHY support is
not upstream yet, so the connector graph endpoints are left out for
now. The Type-C ports are still registered and reported, only the
lane switching is deferred until the PHY nodes are available.

Both controllers report through the same level-triggered interrupt
line, which the driver handles with a shared interrupt. The I2C bus
runs at 100 kHz because the RTS5453H I2C interface does not support
higher rates.

Signed-off-by: Gary Yang <gary.yang@xxxxxxxxxxx>
---
arch/arm64/boot/dts/cix/sky1-orion-o6.dts | 51 +++++++++++++++++++++++
1 file changed, 51 insertions(+)

diff --git a/arch/arm64/boot/dts/cix/sky1-orion-o6.dts b/arch/arm64/boot/dts/cix/sky1-orion-o6.dts
index e39c87774c12..53c66ab30679 100644
--- a/arch/arm64/boot/dts/cix/sky1-orion-o6.dts
+++ b/arch/arm64/boot/dts/cix/sky1-orion-o6.dts
@@ -52,6 +52,48 @@ &fch_gpio3 {
status = "okay";
};

+&i2c1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_fch_i2c1>;
+ clock-frequency = <100000>;
+
+ status = "okay";
+
+ typec@30 {
+ compatible = "realtek,rts5453h";
+ reg = <0x30>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupt-parent = <&s5_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";
+ };
+ };
+
+ typec@31 {
+ compatible = "realtek,rts5453h";
+ reg = <0x31>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupt-parent = <&s5_gpio0>;
+ interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
+
+ connector@2 {
+ compatible = "usb-c-connector";
+ reg = <2>;
+ data-role = "host";
+ power-role = "source";
+ try-power-role = "source";
+ };
+ };
+};
+
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog>;
@@ -66,6 +108,15 @@ pins {
drive-strength = <8>;
};
};
+
+ pinctrl_fch_i2c1: i2c1-cfg {
+ pins {
+ pinmux = <CIX_PAD_I2C1_CLK_FUNC_I2C1_CLK>,
+ <CIX_PAD_I2C1_SDA_FUNC_I2C1_SDA>;
+ bias-pull-up;
+ drive-strength = <12>;
+ };
+ };
};

&iomuxc_s5 {
--
2.50.1