| From: |
| Ze Huang <huang.ze-AT-linux.dev> |
| To: |
| Vinod Koul <vkoul-AT-kernel.org>, Kishon Vijay Abraham I <kishon-AT-kernel.org>, Rob Herring <robh-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Conor Dooley <conor+dt-AT-kernel.org>, Yixun Lan <dlan-AT-gentoo.org>, Ze Huang <huang.ze-AT-linux.dev> |
| Subject: |
| [PATCH v6 0/2] Add USB2.0 PHY support for SpacemiT K1 |
| Date: |
| Fri, 17 Oct 2025 22:49:51 +0800 |
| Message-ID: |
| <20251017-k1-usb2phy-v6-0-7cf9ea2477a1@linux.dev> |
| Cc: |
| linux-phy-AT-lists.infradead.org, devicetree-AT-vger.kernel.org, linux-riscv-AT-lists.infradead.org, spacemit-AT-lists.linux.dev, linux-kernel-AT-vger.kernel.org, Ze Huang <huangze-AT-whut.edu.cn> |
| Archive-link: |
| Article |
This patch series introduces support for the USB2.0 PHY on the SpacemiT
K1 SoC. The implementation has been tested on the Milk-V Jupiter and
BananaPi-f3.
K1 includes three USB ports as follows[1]:
- A USB2.0 OTG Port
- A USB2.0 Host Only Port
- A USB3.0 Port with a USB2.0 DRD interface
Each of these ports is connected to a USB2.0 PHY responsible for USB2
transmission.
This series is based on 6.18-rc1.
Link: https://developer.spacemit.com/documentation?token=AjHDwr... [1]
Signed-off-by: Ze Huang <huangze@whut.edu.cn>
---
Changes in v6:
- phy: spacemit: k1-usb2-phy:
- Fix clock API usage and ensure proper clock disabling in error paths.
- Refactor Register Definitions: Replace address/number-based macros with
feature-based names
- Link to v5: https://lore.kernel.org/all/20250527-b4-k1-usb3-phy-v2-v5...
Changes in v5:
- phy driver for usb2:
- convert readl/writel to regmap
- fix typo: sentinal -> sentinel
- Link to v4: https://lore.kernel.org/r/20250526-b4-k1-usb3-phy-v2-v4-0...
Changes in v4:
- combphy driver:
- add in-code comments to indicate that PCIe mode is not yet supported.
- replace custom spacemit_reg_update() with standard regmap API.
- drop spacemit_combphy_wait_ready helper function as only used once.
- Fix PHY init timeout handling: ensure proper error reporting when PLL
lock fails during USB3 PHY initialization
- Link to v3: https://lore.kernel.org/r/20250517-b4-k1-usb3-phy-v2-v3-0...
Changes in v3:
- improve commit message, provide more info about phy hardware
- drop superfluous local variable in `spacemit_combphy_wait_ready`
- replace devm_reset_control_get with devm_reset_control_get_exclusive
- Link to v2: https://lore.kernel.org/r/20250418-b4-k1-usb3-phy-v2-v2-0...
Changes in v2:
- combphy dt-bindings:
- fix reg-names
- describe reg
- describe #phy-cells argument
- drop stale ".owner" in driver struct
- add support for usb lfps_thres in combphy
- fix Kconfig depends on
- Link to v1: https://lore.kernel.org/all/20250407-b4-k1-usb3-v3-2-v1-0...
Signed-off-by: Ze Huang <huang.ze@linux.dev>
---
Ze Huang (2):
dt-bindings: phy: spacemit: add K1 USB2 PHY
phy: spacemit: support K1 USB2.0 PHY controller
.../devicetree/bindings/phy/spacemit,usb2-phy.yaml | 40 +++++
drivers/phy/Kconfig | 1 +
drivers/phy/Makefile | 1 +
drivers/phy/spacemit/Kconfig | 13 ++
drivers/phy/spacemit/Makefile | 2 +
drivers/phy/spacemit/phy-k1-usb2.c | 200 +++++++++++++++++++++
6 files changed, 257 insertions(+)
---
base-commit: cb6649f6217c0331b885cf787f1d175963e2a1d2
change-id: 20251017-k1-usb2phy-a53ed4ea51b0
Best regards,
--
Ze Huang <huang.ze@linux.dev>