This series adds USB host support for the SpacemiT K1: a driver for
the K1's USB 2.0 (UTMI) PHY, and a flat-node entry for the SoC's DWC3
controller in dwc3-generic, which already handles clocks, resets, PHYs
and the host child for other flat-node SoCs. No K1-specific glue is
needed. USB 3 additionally needs the posted combo PHY series [1].

The patches apply to next at bd2f5794 and to current next (ed869863).
dwc3-generic.c is not touched by the pending DWC3 resync [2], so they
apply there too; the test builds below carried that resync (v9).

Tested on the OrangePi R2S and RV2 on October 5 with next bd2f5794, the
posted K1 clock, MMC, PHY, PCIe and SPL fixes, the DWC3 resync v9 and
these two patches (plus local hub-scan logging and an xHCI stop-path
change that are under separate review and do not change enumeration):

- R2S: a USB 3.0 stick on the root port enumerates at 5 Gb/s. Each
  check is two 64 MiB raw reads into differently prefilled buffers,
  byte compare and SHA-256 against a FAT copy of the same data; the
  initial three pairs, then one pair after each of three 'usb reset'
  and after 'usb stop' / 'usb start', all passed at 5 Gb/s with no
  host-halt warning.
- RV2: the same stick behind a Genesys USB 3 hub; same checks, same
  results. In an earlier run the stick once failed to re-enumerate
  after the second and third 'usb reset'; that did not reproduce with
  hub scan logging enabled and is being looked at in the generic hub
  scan separately. It is not specific to these two patches.
- On both boards the FreeBSD EFI loader read from the stick selects its
  own partition unaided and boots the kernel on the stick with the
  board's native root (eMMC on R2S, NVMe on RV2).

Sandbox builds and the existing DWC3 flat-node users are unaffected.

[1] https://lists.u-boot-project.org/pipermail/u-boot/2026-October/633775.html
[2] https://lists.u-boot-project.org/pipermail/u-boot/2026-October/633722.html

Dave Klotz (2):
  phy: spacemit: add K1 USB 2.0 PHY driver
  usb: dwc3: generic: add SpacemiT K1 support

 MAINTAINERS                        |   1 +
 drivers/phy/spacemit/Kconfig       |   9 ++
 drivers/phy/spacemit/Makefile      |   1 +
 drivers/phy/spacemit/phy-k1-usb2.c | 173 +++++++++++++++++++++++++++++
 drivers/usb/dwc3/dwc3-generic.c    |  13 +--
 5 files changed, 191 insertions(+), 6 deletions(-)

Reply via email to