* [PATCH v4 0/2] phy: spacemit: Add USB2 PHY support for K3 SoC
@ 2026-03-05 1:00 Yixun Lan
2026-03-05 1:00 ` [PATCH v4 1/2] dt-bindings: phy: spacemit: k3: add USB2 PHY support Yixun Lan
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Yixun Lan @ 2026-03-05 1:00 UTC (permalink / raw)
To: Vinod Koul, Neil Armstrong, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Ze Huang
Cc: Junzhong Pan, linux-phy, devicetree, linux-riscv, spacemit,
linux-kernel, Yixun Lan, Krzysztof Kozlowski, Yao Zi
The series trys to add USB2 PHY support for SpacemiT K3 SoC, while
patch [1/2] implement a disconnect function which is needed during
next connection.
No DTS part has been inclueded in this series, instead I plan to
submit them later while adding USB host support.
I've collected all patches and pushed a complete review branch here[1],
for people who interested to test easily, which include DTS and necessary
changes, other patches may still need to improve, but sufficient for
verifying the functionality.
Link: https://github.com/spacemit-com/linux/tree/WIP/k3/usb2 [1]
To: Vinod Koul <vkoul@kernel.org>
To: Neil Armstrong <neil.armstrong@linaro.org>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Ze Huang <huang.ze@linux.dev>
Cc: Junzhong Pan <panjunzhong@linux.spacemit.com>
Cc: linux-phy@lists.infradead.org
Cc: devicetree@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Cc: spacemit@lists.linux.dev
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Yixun Lan <dlan@kernel.org>
Changes in v4:
- rebase to v7.0-rc1
- fix preceding open parenthesis
- drop patch 1 which already merged
- publish a test branch
- Link to v3: https://lore.kernel.org/r/20260216152653.25244-1-dlan@kernel.org
Change in v3:
- split from v2 as bug fix
- fix alignment to open parenthesis
- http://lore.kernel.org/r/20260216090112.n5jjpui3luqsybb5@skbuf
- Link to v2: https://lore.kernel.org/r/20260214-11-k3-usb2-phy-v2-0-6ed31e031ab4@kernel.org
Changes in v2:
- collect ACK
- add Fixes tag
- implement separate phy_ops
- Link to v1: https://lore.kernel.org/r/20260212-11-k3-usb2-phy-v1-0-43578592405d@kernel.org
---
Yixun Lan (2):
dt-bindings: phy: spacemit: k3: add USB2 PHY support
phy: k1-usb: k3: add USB2 PHY support
.../devicetree/bindings/phy/spacemit,usb2-phy.yaml | 6 ++--
drivers/phy/spacemit/phy-k1-usb2.c | 34 ++++++++++++++++++----
2 files changed, 33 insertions(+), 7 deletions(-)
---
base-commit: d2625d793eefe7dff154361ec66fed7886781d73
change-id: 20260124-11-k3-usb2-phy-c4630b990b1f
Best regards,
--
Yixun Lan <dlan@kernel.org>
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH v4 1/2] dt-bindings: phy: spacemit: k3: add USB2 PHY support 2026-03-05 1:00 [PATCH v4 0/2] phy: spacemit: Add USB2 PHY support for K3 SoC Yixun Lan @ 2026-03-05 1:00 ` Yixun Lan 2026-03-05 1:00 ` [PATCH v4 2/2] phy: k1-usb: " Yixun Lan 2026-03-26 0:14 ` [PATCH v4 0/2] phy: spacemit: Add USB2 PHY support for K3 SoC Yixun Lan 2 siblings, 0 replies; 6+ messages in thread From: Yixun Lan @ 2026-03-05 1:00 UTC (permalink / raw) To: Vinod Koul, Neil Armstrong, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Ze Huang Cc: Junzhong Pan, linux-phy, devicetree, linux-riscv, spacemit, linux-kernel, Yixun Lan, Krzysztof Kozlowski Introduce a compatible string for the USB2 PHY in SpacemiT K3 SoC. The IP of USB2 PHY mostly shares the same functionalities with K1 SoC, while has some register layout changes. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Yixun Lan <dlan@kernel.org> --- Documentation/devicetree/bindings/phy/spacemit,usb2-phy.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/phy/spacemit,usb2-phy.yaml b/Documentation/devicetree/bindings/phy/spacemit,usb2-phy.yaml index 43eaca90d88c..18025e5f60d6 100644 --- a/Documentation/devicetree/bindings/phy/spacemit,usb2-phy.yaml +++ b/Documentation/devicetree/bindings/phy/spacemit,usb2-phy.yaml @@ -4,14 +4,16 @@ $id: http://devicetree.org/schemas/phy/spacemit,usb2-phy.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: SpacemiT K1 SoC USB 2.0 PHY +title: SpacemiT K1/K3 SoC USB 2.0 PHY maintainers: - Ze Huang <huang.ze@linux.dev> properties: compatible: - const: spacemit,k1-usb2-phy + enum: + - spacemit,k1-usb2-phy + - spacemit,k3-usb2-phy reg: maxItems: 1 -- 2.53.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v4 2/2] phy: k1-usb: k3: add USB2 PHY support 2026-03-05 1:00 [PATCH v4 0/2] phy: spacemit: Add USB2 PHY support for K3 SoC Yixun Lan 2026-03-05 1:00 ` [PATCH v4 1/2] dt-bindings: phy: spacemit: k3: add USB2 PHY support Yixun Lan @ 2026-03-05 1:00 ` Yixun Lan 2026-03-26 0:14 ` [PATCH v4 0/2] phy: spacemit: Add USB2 PHY support for K3 SoC Yixun Lan 2 siblings, 0 replies; 6+ messages in thread From: Yixun Lan @ 2026-03-05 1:00 UTC (permalink / raw) To: Vinod Koul, Neil Armstrong, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Ze Huang Cc: Junzhong Pan, linux-phy, devicetree, linux-riscv, spacemit, linux-kernel, Yixun Lan, Yao Zi Add USB2 PHY support for SpacemiT K3 SoC. Register layout of handling USB disconnect operation has been changed, So introducing a platform data to distinguish the different SoCs. Reviewed-by: Yao Zi <me@ziyao.cc> Signed-off-by: Yixun Lan <dlan@kernel.org> --- drivers/phy/spacemit/phy-k1-usb2.c | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/drivers/phy/spacemit/phy-k1-usb2.c b/drivers/phy/spacemit/phy-k1-usb2.c index 9215d0b223b2..87b943d9111f 100644 --- a/drivers/phy/spacemit/phy-k1-usb2.c +++ b/drivers/phy/spacemit/phy-k1-usb2.c @@ -51,6 +51,9 @@ #define PHY_K1_HS_HOST_DISC 0x40 #define PHY_K1_HS_HOST_DISC_CLR BIT(0) +#define PHY_K3_HS_HOST_DISC 0x20 +#define PHY_K3_HS_HOST_DISC_CLR BIT(8) + #define PHY_PLL_DIV_CFG 0x98 #define PHY_FDIV_FRACT_8_15 GENMASK(7, 0) #define PHY_FDIV_FRACT_16_19 GENMASK(11, 8) @@ -145,7 +148,7 @@ static int spacemit_usb2phy_exit(struct phy *phy) return 0; } -static int spacemit_usb2phy_disconnect(struct phy *phy, int port) +static int spacemit_k1_usb2phy_disconnect(struct phy *phy, int port) { struct spacemit_usb2phy *sphy = phy_get_drvdata(phy); @@ -155,10 +158,27 @@ static int spacemit_usb2phy_disconnect(struct phy *phy, int port) return 0; } -static const struct phy_ops spacemit_usb2phy_ops = { +static int spacemit_k3_usb2phy_disconnect(struct phy *phy, int port) +{ + struct spacemit_usb2phy *sphy = phy_get_drvdata(phy); + + regmap_update_bits(sphy->regmap_base, PHY_K3_HS_HOST_DISC, + PHY_K3_HS_HOST_DISC_CLR, PHY_K3_HS_HOST_DISC_CLR); + + return 0; +} + +static const struct phy_ops spacemit_k1_usb2phy_ops = { .init = spacemit_usb2phy_init, .exit = spacemit_usb2phy_exit, - .disconnect = spacemit_usb2phy_disconnect, + .disconnect = spacemit_k1_usb2phy_disconnect, + .owner = THIS_MODULE, +}; + +static const struct phy_ops spacemit_k3_usb2phy_ops = { + .init = spacemit_usb2phy_init, + .exit = spacemit_usb2phy_exit, + .disconnect = spacemit_k3_usb2phy_disconnect, .owner = THIS_MODULE, }; @@ -167,12 +187,15 @@ static int spacemit_usb2phy_probe(struct platform_device *pdev) struct phy_provider *phy_provider; struct device *dev = &pdev->dev; struct spacemit_usb2phy *sphy; + const struct phy_ops *ops; void __iomem *base; sphy = devm_kzalloc(dev, sizeof(*sphy), GFP_KERNEL); if (!sphy) return -ENOMEM; + ops = device_get_match_data(dev); + sphy->clk = devm_clk_get_prepared(&pdev->dev, NULL); if (IS_ERR(sphy->clk)) return dev_err_probe(dev, PTR_ERR(sphy->clk), "Failed to get clock\n"); @@ -185,7 +208,7 @@ static int spacemit_usb2phy_probe(struct platform_device *pdev) if (IS_ERR(sphy->regmap_base)) return dev_err_probe(dev, PTR_ERR(sphy->regmap_base), "Failed to init regmap\n"); - sphy->phy = devm_phy_create(dev, NULL, &spacemit_usb2phy_ops); + sphy->phy = devm_phy_create(dev, NULL, ops); if (IS_ERR(sphy->phy)) return dev_err_probe(dev, PTR_ERR(sphy->phy), "Failed to create phy\n"); @@ -196,7 +219,8 @@ static int spacemit_usb2phy_probe(struct platform_device *pdev) } static const struct of_device_id spacemit_usb2phy_dt_match[] = { - { .compatible = "spacemit,k1-usb2-phy", }, + { .compatible = "spacemit,k1-usb2-phy", .data = &spacemit_k1_usb2phy_ops }, + { .compatible = "spacemit,k3-usb2-phy", .data = &spacemit_k3_usb2phy_ops }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, spacemit_usb2phy_dt_match); -- 2.53.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v4 0/2] phy: spacemit: Add USB2 PHY support for K3 SoC 2026-03-05 1:00 [PATCH v4 0/2] phy: spacemit: Add USB2 PHY support for K3 SoC Yixun Lan 2026-03-05 1:00 ` [PATCH v4 1/2] dt-bindings: phy: spacemit: k3: add USB2 PHY support Yixun Lan 2026-03-05 1:00 ` [PATCH v4 2/2] phy: k1-usb: " Yixun Lan @ 2026-03-26 0:14 ` Yixun Lan 2026-04-01 13:07 ` Yixun Lan 2 siblings, 1 reply; 6+ messages in thread From: Yixun Lan @ 2026-03-26 0:14 UTC (permalink / raw) To: Vinod Koul, Neil Armstrong, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Ze Huang Cc: Junzhong Pan, linux-phy, devicetree, linux-riscv, spacemit, linux-kernel, Krzysztof Kozlowski, Yao Zi Hi Vinod Koul, On 01:00 Thu 05 Mar , Yixun Lan wrote: > The series trys to add USB2 PHY support for SpacemiT K3 SoC, while > patch [1/2] implement a disconnect function which is needed during > next connection. > > No DTS part has been inclueded in this series, instead I plan to > submit them later while adding USB host support. > > I've collected all patches and pushed a complete review branch here[1], > for people who interested to test easily, which include DTS and necessary > changes, other patches may still need to improve, but sufficient for > verifying the functionality. > > Link: https://github.com/spacemit-com/linux/tree/WIP/k3/usb2 [1] > Just want to ping this, Can you queue it for v7.1? Thanks -- Yixun Lan (dlan) ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 0/2] phy: spacemit: Add USB2 PHY support for K3 SoC 2026-03-26 0:14 ` [PATCH v4 0/2] phy: spacemit: Add USB2 PHY support for K3 SoC Yixun Lan @ 2026-04-01 13:07 ` Yixun Lan 2026-04-30 2:04 ` Yixun Lan 0 siblings, 1 reply; 6+ messages in thread From: Yixun Lan @ 2026-04-01 13:07 UTC (permalink / raw) To: Vinod Koul, Neil Armstrong, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Ze Huang Cc: Junzhong Pan, linux-phy, devicetree, linux-riscv, spacemit, linux-kernel, Krzysztof Kozlowski, Yao Zi Hi Vinod Koul, On 08:14 Thu 26 Mar , Yixun Lan wrote: > Hi Vinod Koul, > > On 01:00 Thu 05 Mar , Yixun Lan wrote: > > The series trys to add USB2 PHY support for SpacemiT K3 SoC, while > > patch [1/2] implement a disconnect function which is needed during > > next connection. > > > > No DTS part has been inclueded in this series, instead I plan to > > submit them later while adding USB host support. > > > > I've collected all patches and pushed a complete review branch here[1], > > for people who interested to test easily, which include DTS and necessary > > changes, other patches may still need to improve, but sufficient for > > verifying the functionality. > > > > Link: https://github.com/spacemit-com/linux/tree/WIP/k3/usb2 [1] > > > > Just want to ping this, Can you queue it for v7.1? Thanks > Ping again, I'd like to see USB2.0 support in v7.1 for SpacemiT K3 SoC.. and I think this phy patch is the only dependency that waiting for, the USB DWC[1], and hub[2] patch already merged Link: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/commit/?h=usb-next&id=c05cf9d274daf72dc7e433480cf2e0e888f6bd89 [1] Link: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/commit/?h=usb-next&id=00b4fe5be06aecd6426930de86b7cffc2330f4b8 [2] -- Yixun Lan (dlan) ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 0/2] phy: spacemit: Add USB2 PHY support for K3 SoC 2026-04-01 13:07 ` Yixun Lan @ 2026-04-30 2:04 ` Yixun Lan 0 siblings, 0 replies; 6+ messages in thread From: Yixun Lan @ 2026-04-30 2:04 UTC (permalink / raw) To: Vinod Koul, Neil Armstrong, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Ze Huang Cc: Junzhong Pan, linux-phy, devicetree, linux-riscv, spacemit, linux-kernel, Krzysztof Kozlowski, Yao Zi Hi Vinod Koul, On 21:07 Wed 01 Apr , Yixun Lan wrote: > Hi Vinod Koul, > > On 08:14 Thu 26 Mar , Yixun Lan wrote: > > Hi Vinod Koul, > > > > On 01:00 Thu 05 Mar , Yixun Lan wrote: > > > The series trys to add USB2 PHY support for SpacemiT K3 SoC, while > > > patch [1/2] implement a disconnect function which is needed during > > > next connection. > > > > > > No DTS part has been inclueded in this series, instead I plan to > > > submit them later while adding USB host support. > > > > > > I've collected all patches and pushed a complete review branch here[1], > > > for people who interested to test easily, which include DTS and necessary > > > changes, other patches may still need to improve, but sufficient for > > > verifying the functionality. > > > > > > Link: https://github.com/spacemit-com/linux/tree/WIP/k3/usb2 [1] > > > > > > > Just want to ping this, Can you queue it for v7.1? Thanks > > > Ping again, I'd like to see USB2.0 support in v7.1 for SpacemiT K3 > SoC.. and I think this phy patch is the only dependency that waiting > for, the USB DWC[1], and hub[2] patch already merged > > Link: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/commit/?h=usb-next&id=c05cf9d274daf72dc7e433480cf2e0e888f6bd89 [1] > Link: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/commit/?h=usb-next&id=00b4fe5be06aecd6426930de86b7cffc2330f4b8 [2] > I'd like to ping inclusion for v7.2 cycle, checked locally, it's still able to apply to v7.1-rc1 cleanly, so I see no need to send new version. Many thanks -- Yixun Lan (dlan) ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-04-30 2:04 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-03-05 1:00 [PATCH v4 0/2] phy: spacemit: Add USB2 PHY support for K3 SoC Yixun Lan 2026-03-05 1:00 ` [PATCH v4 1/2] dt-bindings: phy: spacemit: k3: add USB2 PHY support Yixun Lan 2026-03-05 1:00 ` [PATCH v4 2/2] phy: k1-usb: " Yixun Lan 2026-03-26 0:14 ` [PATCH v4 0/2] phy: spacemit: Add USB2 PHY support for K3 SoC Yixun Lan 2026-04-01 13:07 ` Yixun Lan 2026-04-30 2:04 ` Yixun Lan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox