* [PATCH 3/4] arm64: dts: cix: fix I2C bus address and size cells on Sky1 [not found] <20261104051055.3020004-1-gary.yang@cixtech.com> @ 2026-11-04 5:10 ` Gary Yang 0 siblings, 0 replies; 4+ messages in thread From: Gary Yang @ 2026-11-04 5:10 UTC (permalink / raw) To: Fugang Duan; +Cc: CIX Linux Kernel Upstream Group, Gary Yang, stable The I2C controller nodes inherit #address-cells = <2> and #size-cells = <2> from the soc@0 bus, but I2C child devices always use a single-cell address and no size. With the inherited values every child node triggers a reg_format warning, and a device described on the bus would be decoded with the wrong address layout. Set #address-cells = <1> and #size-cells = <0> on all eight I2C controllers, matching the I3C nodes that already do so. Fixes: fad32e8ac460 ("arm64: dts: cix: add DT nodes for all I2C and I3C ports for sky1") Cc: stable@vger.kernel.org Signed-off-by: Gary Yang <gary.yang@cixtech.com> --- arch/arm64/boot/dts/cix/sky1.dtsi | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/arm64/boot/dts/cix/sky1.dtsi b/arch/arm64/boot/dts/cix/sky1.dtsi index 0a820f45feb9..a18e8fd43fcf 100644 --- a/arch/arm64/boot/dts/cix/sky1.dtsi +++ b/arch/arm64/boot/dts/cix/sky1.dtsi @@ -290,6 +290,8 @@ soc@0 { i2c0: i2c@4010000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04010000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C0_APB>; interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH 0>; @@ -299,6 +301,8 @@ i2c0: i2c@4010000 { i2c1: i2c@4020000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04020000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C1_APB>; interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH 0>; @@ -308,6 +312,8 @@ i2c1: i2c@4020000 { i2c2: i2c@4030000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04030000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C2_APB>; interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH 0>; @@ -317,6 +323,8 @@ i2c2: i2c@4030000 { i2c3: i2c@4040000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04040000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C3_APB>; interrupts = <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH 0>; @@ -326,6 +334,8 @@ i2c3: i2c@4040000 { i2c4: i2c@4050000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04050000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C4_APB>; interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH 0>; @@ -335,6 +345,8 @@ i2c4: i2c@4050000 { i2c5: i2c@4060000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04060000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C5_APB>; interrupts = <GIC_SPI 291 IRQ_TYPE_LEVEL_HIGH 0>; @@ -344,6 +356,8 @@ i2c5: i2c@4060000 { i2c6: i2c@4070000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04070000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C6_APB>; interrupts = <GIC_SPI 292 IRQ_TYPE_LEVEL_HIGH 0>; @@ -353,6 +367,8 @@ i2c6: i2c@4070000 { i2c7: i2c@4080000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04080000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C7_APB>; interrupts = <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH 0>; -- 2.50.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 0/4] usb: typec: add CIX Type-C PD controller driver @ 2026-11-07 1:10 Gary Yang 2026-11-07 1:10 ` [PATCH 3/4] arm64: dts: cix: fix I2C bus address and size cells on Sky1 Gary Yang 0 siblings, 1 reply; 4+ messages in thread From: Gary Yang @ 2026-11-07 1:10 UTC (permalink / raw) To: Heikki Krogerus, Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Fugang Duan Cc: linux-usb, devicetree, linux-arm-kernel, linux-kernel, cix-kernel-upstream, gary.yang This series adds a Type-C PD controller driver for CIX platforms and enables it on the Radxa Orion O6. 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, patch 2 adds the driver and its MAINTAINERS entry, patch 3 fixes the I2C bus #address-cells/#size-cells on Sky1 so that child devices can be described on the buses, and patch 4 adds the two controllers and the I2C1 pinmux to the Orion O6 board. Orientation switching and USB/DisplayPort lane muxing are performed by the platform combo PHY. That PHY driver is not upstream yet, so the DTS does not link the connector to it in this series; the ports are still registered and their state is reported through the Type-C class. 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 (4): dt-bindings: usb: add Realtek RTS5453H Type-C port controller usb: typec: add CIX Type-C PD controller driver arm64: dts: cix: fix I2C bus address and size cells on Sky1 arm64: dts: cix: add RTS5453 PD controllers to Orion O6 .../bindings/usb/realtek,rts5453h.yaml | 126 +++ MAINTAINERS | 7 + arch/arm64/boot/dts/cix/sky1-orion-o6.dts | 51 ++ arch/arm64/boot/dts/cix/sky1.dtsi | 16 + drivers/usb/typec/Kconfig | 11 + drivers/usb/typec/Makefile | 1 + drivers/usb/typec/cix_pd.c | 777 ++++++++++++++++++ 7 files changed, 989 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/realtek,rts5453h.yaml create mode 100644 drivers/usb/typec/cix_pd.c base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4 -- 2.50.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 3/4] arm64: dts: cix: fix I2C bus address and size cells on Sky1 2026-11-07 1:10 [PATCH 0/4] usb: typec: add CIX Type-C PD controller driver Gary Yang @ 2026-11-07 1:10 ` Gary Yang 2026-11-07 1:58 ` sashiko-bot 2026-11-07 10:53 ` Krzysztof Kozlowski 0 siblings, 2 replies; 4+ messages in thread From: Gary Yang @ 2026-11-07 1:10 UTC (permalink / raw) To: Heikki Krogerus, Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Fugang Duan Cc: linux-usb, devicetree, linux-arm-kernel, linux-kernel, cix-kernel-upstream, gary.yang, stable The I2C controller nodes inherit #address-cells = <2> and #size-cells = <2> from the soc@0 bus, but I2C child devices always use a single-cell address and no size. With the inherited values every child node triggers a reg_format warning, and a device described on the bus would be decoded with the wrong address layout. Set #address-cells = <1> and #size-cells = <0> on all eight I2C controllers, matching the I3C nodes that already do so. Fixes: fad32e8ac460 ("arm64: dts: cix: add DT nodes for all I2C and I3C ports for sky1") Cc: stable@vger.kernel.org Signed-off-by: Gary Yang <gary.yang@cixtech.com> --- arch/arm64/boot/dts/cix/sky1.dtsi | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/arm64/boot/dts/cix/sky1.dtsi b/arch/arm64/boot/dts/cix/sky1.dtsi index 0a820f45feb9..a18e8fd43fcf 100644 --- a/arch/arm64/boot/dts/cix/sky1.dtsi +++ b/arch/arm64/boot/dts/cix/sky1.dtsi @@ -290,6 +290,8 @@ soc@0 { i2c0: i2c@4010000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04010000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C0_APB>; interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH 0>; @@ -299,6 +301,8 @@ i2c0: i2c@4010000 { i2c1: i2c@4020000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04020000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C1_APB>; interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH 0>; @@ -308,6 +312,8 @@ i2c1: i2c@4020000 { i2c2: i2c@4030000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04030000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C2_APB>; interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH 0>; @@ -317,6 +323,8 @@ i2c2: i2c@4030000 { i2c3: i2c@4040000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04040000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C3_APB>; interrupts = <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH 0>; @@ -326,6 +334,8 @@ i2c3: i2c@4040000 { i2c4: i2c@4050000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04050000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C4_APB>; interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH 0>; @@ -335,6 +345,8 @@ i2c4: i2c@4050000 { i2c5: i2c@4060000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04060000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C5_APB>; interrupts = <GIC_SPI 291 IRQ_TYPE_LEVEL_HIGH 0>; @@ -344,6 +356,8 @@ i2c5: i2c@4060000 { i2c6: i2c@4070000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04070000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C6_APB>; interrupts = <GIC_SPI 292 IRQ_TYPE_LEVEL_HIGH 0>; @@ -353,6 +367,8 @@ i2c6: i2c@4070000 { i2c7: i2c@4080000 { compatible = "cdns,i2c-r1p14"; reg = <0x0 0x04080000 0x0 0x10000>; + #address-cells = <1>; + #size-cells = <0>; clock-frequency = <400000>; clocks = <&scmi_clk CLK_TREE_FCH_I2C7_APB>; interrupts = <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH 0>; -- 2.50.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 3/4] arm64: dts: cix: fix I2C bus address and size cells on Sky1 2026-11-07 1:10 ` [PATCH 3/4] arm64: dts: cix: fix I2C bus address and size cells on Sky1 Gary Yang @ 2026-11-07 1:58 ` sashiko-bot 2026-11-07 10:53 ` Krzysztof Kozlowski 1 sibling, 0 replies; 4+ messages in thread From: sashiko-bot @ 2026-11-07 1:58 UTC (permalink / raw) To: Gary Yang; +Cc: linux-usb > The I2C controller nodes inherit #address-cells = <2> and #size-cells > = <2> from the soc@0 bus, but I2C child devices always use a > single-cell address and no size. With the inherited values every > child node triggers a reg_format warning, and a device described on > the bus would be decoded with the wrong address layout. > > Set #address-cells = <1> and #size-cells = <0> on all eight I2C > controllers, matching the I3C nodes that already do so. > > Fixes: fad32e8ac460 ("arm64: dts: cix: add DT nodes for all I2C and I3C ports for sky1") > Cc: stable@vger.kernel.org > Signed-off-by: Gary Yang <gary.yang@cixtech.com> Sashiko has reviewed this patch and found no issues. -- Sashiko AI review · https://sashiko.dev/#/patchset/20261107011012.3655873-1-gary.yang@cixtech.com?part=3 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 3/4] arm64: dts: cix: fix I2C bus address and size cells on Sky1 2026-11-07 1:10 ` [PATCH 3/4] arm64: dts: cix: fix I2C bus address and size cells on Sky1 Gary Yang 2026-11-07 1:58 ` sashiko-bot @ 2026-11-07 10:53 ` Krzysztof Kozlowski 1 sibling, 0 replies; 4+ messages in thread From: Krzysztof Kozlowski @ 2026-11-07 10:53 UTC (permalink / raw) To: Gary Yang, Heikki Krogerus, Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Fugang Duan Cc: linux-usb, devicetree, linux-arm-kernel, linux-kernel, cix-kernel-upstream, stable On 07/11/2026 02:10, Gary Yang wrote: > The I2C controller nodes inherit #address-cells = <2> and #size-cells > = <2> from the soc@0 bus, but I2C child devices always use a > single-cell address and no size. With the inherited values every > child node triggers a reg_format warning, and a device described on > the bus would be decoded with the wrong address layout. > > Set #address-cells = <1> and #size-cells = <0> on all eight I2C > controllers, matching the I3C nodes that already do so. > > Fixes: fad32e8ac460 ("arm64: dts: cix: add DT nodes for all I2C and I3C ports for sky1") > Cc: stable@vger.kernel.org > Signed-off-by: Gary Yang <gary.yang@cixtech.com> 1. Fixes cannot depend on the driver. 2. Also, explain what is the bug here. Your commit msg has absolutely no indication of the bug. 3. DTS cannot be combined in this patchset and must be split. Don't mix patches from independent subsystems when you send something explicitly targeting only one subsystem. See also: Documentation/devicetree/bindings/submitting-patches.rst > --- > arch/arm64/boot/dts/cix/sky1.dtsi | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/arch/arm64/boot/dts/cix/sky1.dtsi b/arch/arm64/boot/dts/cix/sky1.dtsi > index 0a820f45feb9..a18e8fd43fcf 100644 > --- a/arch/arm64/boot/dts/cix/sky1.dtsi > +++ b/arch/arm64/boot/dts/cix/sky1.dtsi > @@ -290,6 +290,8 @@ soc@0 { > i2c0: i2c@4010000 { > compatible = "cdns,i2c-r1p14"; > reg = <0x0 0x04010000 0x0 0x10000>; > + #address-cells = <1>; > + #size-cells = <0>; How is this a fix? Really. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-11-07 10:53 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20261104051055.3020004-1-gary.yang@cixtech.com>
2026-11-04 5:10 ` [PATCH 3/4] arm64: dts: cix: fix I2C bus address and size cells on Sky1 Gary Yang
2026-11-07 1:10 [PATCH 0/4] usb: typec: add CIX Type-C PD controller driver Gary Yang
2026-11-07 1:10 ` [PATCH 3/4] arm64: dts: cix: fix I2C bus address and size cells on Sky1 Gary Yang
2026-11-07 1:58 ` sashiko-bot
2026-11-07 10:53 ` Krzysztof Kozlowski
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.