Linux-PHY Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Hongliang Yang <hongliang.yang@cixtech.com>
To: peter.chen@kernel.org, pawell@cadence.com, vkoul@kernel.org,
	robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org
Cc: gregkh@linuxfoundation.org, rogerq@kernel.org,
	neil.armstrong@linaro.org, p.zabel@pengutronix.de,
	fugang.duan@cixtech.com, cix-kernel-upstream@cixtech.com,
	linux-usb@vger.kernel.org, linux-phy@lists.infradead.org,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Hongliang Yang <hongliang.yang@cixtech.com>
Subject: [PATCH v2 0/5] Add CIX Sky1 USB3/USBSSP support
Date: Wed,  2 Sep 2026 11:21:29 +0800	[thread overview]
Message-ID: <20260902032134.1182634-1-hongliang.yang@cixtech.com> (raw)
In-Reply-To: <20260831082309.3854507-1-hongliang.yang@cixtech.com>

Add USB3 PHY binding and driver, Cadence USBSSP glue binding and
driver, and USB4/USB5 device tree nodes for the CIX Sky1 SoC.

This series adds support for the USB4 and USB5 controllers (based on
Cadence USBSSP DRD) found on the CIX Sky1 SoC, along with their
associated multi-port USB3 PHY.

Changes in v2:
- Split the dt-bindings patch into separate PHY and USBSSP binding
  patches with proper subsystem subject prefixes.
- Follow the DTS coding style in the bindings and DTS (property
  ordering, no redundant unit-address suffixes in examples); examples
  pass dt-check-style in strict mode.
- Drop the redundant "_clk" suffix and "reset"/"usb" prefixes from
  clock-names and reset-names ("apb_clk" -> "apb", "ref_clk" ->
  "ref", "reset"/"preset" -> "core"/"apb", "usb_preset"/"usb_reset"
  -> "apb"/"core", "sof_clk"/"usb_aclk"/"lpm_clk"/"usb_pclk" ->
  "sof"/"axi"/"lpm"/"apb").
- Rename reg-names "axi_property"/"controller_status" to
  "axi"/"controller".
- Rename the Cadence core child nodes from usb-controller@ to the
  conventional usb@ node name.
- Drop the cix,axi-bmax-value, sof_clk_freq and lpm_clk_freq
  properties. These are fixed per SoC and are now hardcoded in the
  glue driver.
- Rename cix,usb_syscon -> cix,usb-syscon to follow devicetree
  property naming conventions.
- Use additionalProperties: false instead of
  unevaluatedProperties: false in the PHY binding (no other schema
  is referenced).
- Fix unit addresses in the binding example and DTS nodes to match
  the first reg address (usb@91c0314, usb@91c0324).
- Enable the usb4/usb5 wrapper nodes, usb3_phy4 PHY and its ports in
  the Orion O6 board file so the controllers can probe.
- Add reg properties to the usb-port@0/usb-port@1 child nodes.
- Fix the reg-names order of the cdns,usb3 child nodes to
  "otg", "xhci", "dev" as required by the binding schema.
- Use devm_reset_control_get_exclusive() instead of the deprecated
  devm_reset_control_get() in the USB3 PHY and glue drivers.
- Propagate error codes from the PHY driver probe paths instead of
  returning 0 unconditionally.
- Use device_for_each_child_node_scoped() to drop the manual
  of_node_put() and fix the double-put/uninitialized access on the
  probe error path.
- Remove the phy_create_lookup() entries which leaked on unbind and
  were unused (consumers reference the PHY via the DT "phys"
  phandle).
- Assert (not deassert) the hardware resets on the sky1_u3phy_init()
  error path.
- Add MODULE_DEVICE_TABLE(of, ...) for automatic module loading.

Hongliang Yang (5):
  dt-bindings: phy: Add CIX Sky1 USB3 PHY
  dt-bindings: usb: Add CIX Sky1 USBSSP controller
  phy: cix: Add CIX Sky1 USB3 PHY driver
  usb: cdns3: Add CIX Sky1 glue driver
  arm64: dts: cix: Add USB4/USB5 nodes for Sky1

 .../bindings/phy/cix,sky1-usb3-phy.yaml       | 107 +++
 .../bindings/usb/cix,sky1-usbssp.yaml         | 137 ++++
 MAINTAINERS                                   |   3 +
 arch/arm64/boot/dts/cix/sky1-orion-o6.dts     |  50 ++
 arch/arm64/boot/dts/cix/sky1.dtsi             | 125 ++++
 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                | 407 +++++++++++
 drivers/phy/cix/phy-cix-usbdp.h               | 310 ++++++++
 drivers/usb/cdns3/Kconfig                     |  13 +
 drivers/usb/cdns3/Makefile                    |   1 +
 drivers/usb/cdns3/cdnsp-sky1.c                | 673 ++++++++++++++++++
 drivers/usb/cdns3/cdnsp-sky1.h                | 127 ++++
 15 files changed, 1981 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/cix,sky1-usb3-phy.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/cix,sky1-usbssp.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
 create mode 100644 drivers/usb/cdns3/cdnsp-sky1.c
 create mode 100644 drivers/usb/cdns3/cdnsp-sky1.h

-- 
2.54.0


-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

  parent reply	other threads:[~2026-09-02  3:22 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-31  8:23 [PATCH v1 0/4] Add CIX Sky1 USB3/USBSSP support Hongliang Yang
2026-08-31  8:23 ` [PATCH v1 1/4] dt-bindings: Add CIX Sky1 USB bindings Hongliang Yang
2026-08-31  8:32   ` sashiko-bot
2026-08-31 16:07   ` Conor Dooley
2026-09-01  5:47   ` Krzysztof Kozlowski
2026-09-02  3:23     ` Hongliang Yang
2026-09-03  6:28       ` Krzysztof Kozlowski
2026-09-03  2:35     ` [PATCH v3 0/5] Add CIX Sky1 USB3/USBSSP support Hongliang Yang
2026-09-03  2:35       ` [PATCH v3 1/5] dt-bindings: phy: Add CIX Sky1 USB3 PHY Hongliang Yang
2026-09-03  2:35       ` [PATCH v3 2/5] dt-bindings: usb: Add CIX Sky1 USBSSP controller Hongliang Yang
2026-09-03  6:30         ` Krzysztof Kozlowski
2026-09-03  2:35       ` [PATCH v3 3/5] phy: cix: Add CIX Sky1 USB3 PHY driver Hongliang Yang
2026-09-03  2:48         ` sashiko-bot
2026-09-03  2:35       ` [PATCH v3 4/5] usb: cdns3: Add CIX Sky1 glue driver Hongliang Yang
2026-09-03  2:45         ` sashiko-bot
2026-09-03  2:35       ` [PATCH v3 5/5] arm64: dts: cix: Add USB4/USB5 nodes for Sky1 Hongliang Yang
2026-09-03  6:29       ` [PATCH v3 0/5] Add CIX Sky1 USB3/USBSSP support Krzysztof Kozlowski
2026-08-31  8:23 ` [PATCH v1 2/4] phy: cix: Add CIX Sky1 USB3 PHY driver Hongliang Yang
2026-08-31  8:33   ` sashiko-bot
2026-08-31  8:23 ` [PATCH v1 3/4] usb: cdns3: Add CIX Sky1 glue driver Hongliang Yang
2026-08-31  8:41   ` sashiko-bot
2026-08-31  8:57   ` Philipp Zabel
2026-08-31  8:23 ` [PATCH v1 4/4] arm64: dts: cix: Add USB4/USB5 nodes for Sky1 Hongliang Yang
2026-08-31  8:33   ` sashiko-bot
2026-09-02  3:21 ` Hongliang Yang [this message]
2026-09-02  3:21 ` [PATCH v2 1/5] dt-bindings: phy: Add CIX Sky1 USB3 PHY Hongliang Yang
2026-09-02  3:21 ` [PATCH v2 2/5] dt-bindings: usb: Add CIX Sky1 USBSSP controller Hongliang Yang
2026-09-02  3:21 ` [PATCH v2 3/5] phy: cix: Add CIX Sky1 USB3 PHY driver Hongliang Yang
2026-09-02  3:32   ` sashiko-bot
2026-09-02  3:21 ` [PATCH v2 4/5] usb: cdns3: Add CIX Sky1 glue driver Hongliang Yang
2026-09-02  3:32   ` sashiko-bot
2026-09-02  3:21 ` [PATCH v2 5/5] arm64: dts: cix: Add USB4/USB5 nodes for Sky1 Hongliang Yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260902032134.1182634-1-hongliang.yang@cixtech.com \
    --to=hongliang.yang@cixtech.com \
    --cc=cix-kernel-upstream@cixtech.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=fugang.duan@cixtech.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=p.zabel@pengutronix.de \
    --cc=pawell@cadence.com \
    --cc=peter.chen@kernel.org \
    --cc=robh@kernel.org \
    --cc=rogerq@kernel.org \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox