Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/3] Add CIX Sky1 USB3 PHY support
@ 2026-09-06  3:24 Hongliang Yang
  2026-09-06  3:24 ` [PATCH v4 1/3] dt-bindings: phy: Add CIX Sky1 USB3 PHY Hongliang Yang
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Hongliang Yang @ 2026-09-06  3:24 UTC (permalink / raw)
  To: peter.chen, vkoul, neil.armstrong, robh, krzk+dt, conor+dt,
	linux-arm-kernel, linux-phy, devicetree, linux-kernel
  Cc: p.zabel, gregkh, krzk

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



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-09-07 17:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-06  3:24 [PATCH v4 0/3] Add CIX Sky1 USB3 PHY support Hongliang Yang
2026-09-06  3:24 ` [PATCH v4 1/3] dt-bindings: phy: Add CIX Sky1 USB3 PHY Hongliang Yang
2026-09-07 17:31   ` Conor Dooley
2026-09-06  3:24 ` [PATCH v4 2/3] phy: cix: Add CIX Sky1 USB3 PHY driver Hongliang Yang
2026-09-06  3:24 ` [PATCH v4 3/3] arm64: dts: cix: Add USB3 PHY node for Sky1 Hongliang Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox