All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/4] Add SpacemiT K1 USB3.0 host controller support
@ 2025-05-26 14:40 ` Ze Huang
  0 siblings, 0 replies; 40+ messages in thread
From: Ze Huang @ 2025-05-26 14:40 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Yixun Lan, Thinh Nguyen, Philipp Zabel,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti
  Cc: linux-usb, devicetree, linux-riscv, spacemit, linux-kernel,
	Ze Huang

The USB 3.0 controller found in the SpacemiT K1 SoC[1] supports both USB3.0
Host and USB2.0 Dual-Role Device (DRD). The PHY interfaces required for the
K1 USB subsystem — PIPE3 (for USB 3.0) and UTMI+ (for USB 2.0) — have
already been supported in a separate patchset [2].

This controller is compatible with DesignWare Core USB 3 (DWC3) driver.
However, constraints in the snps,dwc3 binding limit the ability to extend
properties to describe hardware variations. The existing generic DWC3 driver,
dwc3-of-simple, still functions as a glue layer.

To address this and promote trasition to flattened dwc node, this patch
introduces dwc3-common, building upon prior work that exposed the DWC3 core
driver [3].

This patchset is based on usb-next (6.15-rc6) and has been tested on BananaPi and Jupiter development boards.

Link: https://developer.spacemit.com/documentation?token=AjHDwrW78igAAEkiHracBI9HnTb [1]
Link: https://lore.kernel.org/linux-riscv/20250418-b4-k1-usb3-phy-v2-v2-0-b69e02da84eb@whut.edu.cn [2]
Link: https://lore.kernel.org/all/20250414-dwc3-refactor-v7-3-f015b358722d@oss.qualcomm.com [3]

Signed-off-by: Ze Huang <huangze@whut.edu.cn>
---
Changes in v4:
- dt-bindings spacemit,k1-dwc:
  - reorder properties
  - add properties of phys & phy-names
  - add usb hub nodes in example dt
- add support for spacemit,k1-mbus
- dwc3 generic plat driver:
  - rename dwc3-common.c to dwc3-generic-plat.c
  - use SYSTEM_SLEEP_PM_OPS macros and drop PM guards
- dts:
  - reorder dts properties of usb dwc3 node
  - move "dr_mode" of dwc3 from dtsi to dts
- Link to v3: https://lore.kernel.org/r/20250518-b4-k1-dwc3-v3-v3-0-7609c8baa2a6@whut.edu.cn

Changes in v3:
- introduce dwc3-common for generic dwc3 hardware
- fix warnings in usb host dt-bindings
- fix errors in dts
- Link to v2: https://lore.kernel.org/r/20250428-b4-k1-dwc3-v2-v1-0-7cb061abd619@whut.edu.cn

Changes in v2:
- dt-bindings:
  - add missing 'maxItems'
  - remove 'status' property in exmaple
  - fold dwc3 node into parent
- drop dwc3 glue driver and use snps,dwc3 driver directly
- rename dts nodes and reorder properties to fit coding style
- Link to v1: https://lore.kernel.org/all/20250407-b4-k1-usb3-v3-2-v1-0-bf0bcc41c9ba@whut.edu.cn

---
Ze Huang (4):
      dt-bindings: usb: dwc3: add support for SpacemiT K1
      dt-bindings: soc: spacemit: Add K1 MBUS controller
      usb: dwc3: add generic driver to support flattened DT
      riscv: dts: spacemit: add usb3.0 support for K1

 .../bindings/soc/spacemit/spacemit,k1-mbus.yaml    |  55 ++++++
 .../devicetree/bindings/usb/spacemit,k1-dwc3.yaml  | 116 +++++++++++++
 arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts    |  51 ++++++
 arch/riscv/boot/dts/spacemit/k1.dtsi               |  67 ++++++++
 drivers/usb/dwc3/Kconfig                           |   9 +
 drivers/usb/dwc3/Makefile                          |   1 +
 drivers/usb/dwc3/dwc3-generic-plat.c               | 189 +++++++++++++++++++++
 7 files changed, 488 insertions(+)
---
base-commit: ab6dc9a6c721c2eed867c157447764ae68ff9b7e
change-id: 20250517-b4-k1-dwc3-v3-5208a002728a

Best regards,
-- 
Ze Huang <huangze@whut.edu.cn>


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

end of thread, other threads:[~2025-07-04  3:16 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-26 14:40 [PATCH v4 0/4] Add SpacemiT K1 USB3.0 host controller support Ze Huang
2025-05-26 14:40 ` Ze Huang
2025-05-26 14:40 ` [PATCH v4 1/4] dt-bindings: usb: dwc3: add support for SpacemiT K1 Ze Huang
2025-05-26 14:40   ` Ze Huang
2025-05-27  6:47   ` Krzysztof Kozlowski
2025-05-27  6:47     ` Krzysztof Kozlowski
2025-05-27  6:53   ` Krzysztof Kozlowski
2025-05-27  6:53     ` Krzysztof Kozlowski
2025-05-26 14:40 ` [PATCH v4 2/4] dt-bindings: soc: spacemit: Add K1 MBUS controller Ze Huang
2025-05-26 14:40   ` Ze Huang
2025-05-27  6:51   ` Krzysztof Kozlowski
2025-05-27  6:51     ` Krzysztof Kozlowski
2025-05-27 11:13     ` Ze Huang
2025-05-27 11:13       ` Ze Huang
2025-05-27 16:25       ` Rob Herring
2025-05-27 16:25         ` Rob Herring
2025-05-27 16:41         ` Ze Huang
2025-05-27 16:41           ` Ze Huang
2025-05-27 17:12           ` Rob Herring
2025-05-27 17:12             ` Rob Herring
2025-05-27  6:54   ` Krzysztof Kozlowski
2025-05-27  6:54     ` Krzysztof Kozlowski
2025-05-27 11:15     ` Ze Huang
2025-05-27 11:15       ` Ze Huang
2025-05-26 14:40 ` [PATCH v4 3/4] usb: dwc3: add generic driver to support flattened DT Ze Huang
2025-05-26 14:40   ` Ze Huang
2025-06-03  1:20   ` Thinh Nguyen
2025-06-03  1:20     ` Thinh Nguyen
2025-06-03  2:51     ` Ze Huang
2025-06-03  2:51       ` Ze Huang
2025-07-04  2:10       ` Frank Li
2025-07-04  2:10         ` Frank Li
2025-07-04  2:41         ` Ze Huang
2025-07-04  2:41           ` Ze Huang
2025-06-05 13:34   ` Yixun Lan
2025-06-05 13:34     ` Yixun Lan
     [not found]   ` <20250605213443.17a7aa26b@smtp.qiye.163.com>
2025-06-06 11:43     ` Ze Huang
2025-06-06 11:43       ` Ze Huang
2025-05-26 14:40 ` [PATCH v4 4/4] riscv: dts: spacemit: add usb3.0 support for K1 Ze Huang
2025-05-26 14:40   ` Ze Huang

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.