[PATCH v4 0/3] Add CIX Sky1 USB3 PHY support
From: Hongliang Yang <hidden>
Date: 2026-09-06 03:25:01
Also in:
linux-devicetree, linux-phy, lkml
This series adds support for the multi-port USB3 PHY found on the CIX Sky1 SoC: the devicetree binding, the PHY driver, and the device tree node covering the PHY block that serves the USB4 and USB5 controllers. This is the first of two series; the USBSSP controller (Cadence DRD glue) series that consumes this PHY follows separately and depends on this one. Changes in v4: - Split the combined USB series into two: this PHY series and a separate USBSSP controller series that depends on it. USB3 PHY driver: - Assert the hardware resets before registering the PHY provider, so a consumer cannot race with the probe-time assertion. - Disable the clocks in LIFO order (ref before apb) in phy_exit(). - Reorder the error unroll path of phy_init() to assert the resets before disabling the clocks, matching the teardown sequence, and fix the goto targets so clocks that were never enabled are not disabled. - Check fwnode_get_name() for NULL and only match "usb-port@" child nodes exactly, instead of any name with a "usb-port" or "USB" prefix. Hongliang Yang (3): dt-bindings: phy: Add CIX Sky1 USB3 PHY phy: cix: Add CIX Sky1 USB3 PHY driver arm64: dts: cix: Add USB3 PHY node for Sky1 .../bindings/phy/cix,sky1-usb3-phy.yaml | 107 +++++ arch/arm64/boot/dts/cix/sky1-orion-o6.dts | 12 + arch/arm64/boot/dts/cix/sky1.dtsi | 31 ++ drivers/phy/Kconfig | 1 + drivers/phy/Makefile | 1 + drivers/phy/cix/Kconfig | 20 + drivers/phy/cix/Makefile | 6 + drivers/phy/cix/phy-cix-usb3.c | 413 ++++++++++++++++++ drivers/phy/cix/phy-cix-usbdp.h | 289 ++++++++++++ 9 files changed, 880 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/cix,sky1-usb3-phy.yaml create mode 100644 drivers/phy/cix/Kconfig create mode 100644 drivers/phy/cix/Makefile create mode 100644 drivers/phy/cix/phy-cix-usb3.c create mode 100644 drivers/phy/cix/phy-cix-usbdp.h -- 2.54.0