public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] riscv: dts: spacemit: Add USB 3.0 support for K1
@ 2026-01-11  6:41 Ze Huang
  2026-01-11  6:41 ` [PATCH v3 1/3] riscv: dts: spacemit: Add USB2 PHY node " Ze Huang
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Ze Huang @ 2026-01-11  6:41 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan
  Cc: devicetree, linux-riscv, spacemit, linux-kernel, Ze Huang,
	Aurelien Jarno

This patch series enables the DWC3 USB 3.0 host controller on the
Spacemit K1 SoC and enables it for the Banana Pi F3 board.

For testing, the following kernel configurations should be enabled:

CONFIG_PHY_SPACEMIT_K1_USB2=y
CONFIG_PHY_SPACEMIT_K1_PCIE=y
CONFIG_USB_DWC3=y
CONFIG_USB_ONBOARD_DEV=y

This series is based on the spacemit k1/for-next branch.

Link: https://github.com/spacemit-com/linux

Signed-off-by: Ze Huang <huang.ze@linux.dev>
---
Changes in v3:
- rename vbus and hub regulator to match schematics
- reorder node reference to keep alphabet order
- drop regulator-always-on in usb hub regulator node
- drop unmanaged vbus-supply in usb host node
- Link to v2: https://lore.kernel.org/r/20260107-k1-usb3dts-v2-v2-0-e659b0f8fe1a@linux.dev

Changes in v2:
- rebased on spacemit k1/for-next
- Link to v1: https://lore.kernel.org/all/20251101-k1-usb3dts-v1-0-dd2660e5740b@linux.dev/

---
Ze Huang (3):
      riscv: dts: spacemit: Add USB2 PHY node for K1
      riscv: dts: spacemit: Add DWC3 USB 3.0 controller node for K1
      riscv: dts: spacemit: Enable USB3.0 on BananaPi-F3

 arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts | 46 +++++++++++++++++++++++++
 arch/riscv/boot/dts/spacemit/k1.dtsi            | 32 +++++++++++++++++
 2 files changed, 78 insertions(+)
---
base-commit: 4f67c877a9069c60dfb1767038fba5180bc12d68
change-id: 20260107-k1-usb3dts-v2-220c0fa7702a

Best regards,
-- 
Ze Huang <huang.ze@linux.dev>


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

* [PATCH v3 1/3] riscv: dts: spacemit: Add USB2 PHY node for K1
  2026-01-11  6:41 [PATCH v3 0/3] riscv: dts: spacemit: Add USB 3.0 support for K1 Ze Huang
@ 2026-01-11  6:41 ` Ze Huang
  2026-01-11  6:41 ` [PATCH v3 2/3] riscv: dts: spacemit: Add DWC3 USB 3.0 controller " Ze Huang
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ze Huang @ 2026-01-11  6:41 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan
  Cc: devicetree, linux-riscv, spacemit, linux-kernel, Ze Huang,
	Aurelien Jarno

K1's DWC3 USB 3.0 controller requires two separate PHYs to function:
the USB 3.0 combophy (for SuperSpeed) and a USB 2.0 PHY (for High-Speed,
Full-Speed, etc.).

Add node for this second USB 2.0 PHY (usbphy2).

Tested-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ze Huang <huang.ze@linux.dev>
---
 arch/riscv/boot/dts/spacemit/k1.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/riscv/boot/dts/spacemit/k1.dtsi b/arch/riscv/boot/dts/spacemit/k1.dtsi
index 86d1db14e2ee..b44149f4f076 100644
--- a/arch/riscv/boot/dts/spacemit/k1.dtsi
+++ b/arch/riscv/boot/dts/spacemit/k1.dtsi
@@ -424,6 +424,14 @@ i2c5: i2c@d4013800 {
 			status = "disabled";
 		};
 
+		usbphy2: phy@c0a30000 {
+			compatible = "spacemit,k1-usb2-phy";
+			reg = <0x0 0xc0a30000 0x0 0x200>;
+			clocks = <&syscon_apmu CLK_USB30>;
+			#phy-cells = <0>;
+			status = "disabled";
+		};
+
 		combo_phy: phy@c0b10000 {
 			compatible = "spacemit,k1-combo-phy";
 			reg = <0x0 0xc0b10000 0x0 0x1000>;

-- 
2.52.0


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

* [PATCH v3 2/3] riscv: dts: spacemit: Add DWC3 USB 3.0 controller node for K1
  2026-01-11  6:41 [PATCH v3 0/3] riscv: dts: spacemit: Add USB 3.0 support for K1 Ze Huang
  2026-01-11  6:41 ` [PATCH v3 1/3] riscv: dts: spacemit: Add USB2 PHY node " Ze Huang
@ 2026-01-11  6:41 ` Ze Huang
  2026-01-11  6:41 ` [PATCH v3 3/3] riscv: dts: spacemit: Enable USB3.0 on BananaPi-F3 Ze Huang
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ze Huang @ 2026-01-11  6:41 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan
  Cc: devicetree, linux-riscv, spacemit, linux-kernel, Ze Huang,
	Aurelien Jarno

Add node for the Synopsys DWC3 USB 3.0 host controller on the K1 SoC.
The controller resides on the 'storage-bus' and uses its DMA
translations.

Tested-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ze Huang <huang.ze@linux.dev>
---
 arch/riscv/boot/dts/spacemit/k1.dtsi | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/arch/riscv/boot/dts/spacemit/k1.dtsi b/arch/riscv/boot/dts/spacemit/k1.dtsi
index b44149f4f076..f40c2ce6d0b8 100644
--- a/arch/riscv/boot/dts/spacemit/k1.dtsi
+++ b/arch/riscv/boot/dts/spacemit/k1.dtsi
@@ -1162,6 +1162,30 @@ storage-bus {
 			#size-cells = <2>;
 			dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>;
 
+			usb_dwc3: usb@c0a00000 {
+				compatible = "spacemit,k1-dwc3";
+				reg = <0x0 0xc0a00000 0x0 0x10000>;
+				clocks = <&syscon_apmu CLK_USB30>;
+				clock-names = "usbdrd30";
+				interrupts = <125>;
+				phys = <&usbphy2>, <&combo_phy PHY_TYPE_USB3>;
+				phy-names = "usb2-phy", "usb3-phy";
+				phy_type = "utmi";
+				resets = <&syscon_apmu RESET_USB30_AHB>,
+					 <&syscon_apmu RESET_USB30_VCC>,
+					 <&syscon_apmu RESET_USB30_PHY>;
+				reset-names = "ahb", "vcc", "phy";
+				reset-delay = <2>;
+				snps,hsphy_interface = "utmi";
+				snps,dis_enblslpm_quirk;
+				snps,dis-u2-freeclk-exists-quirk;
+				snps,dis-del-phy-power-chg-quirk;
+				snps,dis_u2_susphy_quirk;
+				snps,dis_u3_susphy_quirk;
+				snps,dis_rxdet_inp3_quirk;
+				status = "disabled";
+			};
+
 			emmc: mmc@d4281000 {
 				compatible = "spacemit,k1-sdhci";
 				reg = <0x0 0xd4281000 0x0 0x200>;

-- 
2.52.0


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

* [PATCH v3 3/3] riscv: dts: spacemit: Enable USB3.0 on BananaPi-F3
  2026-01-11  6:41 [PATCH v3 0/3] riscv: dts: spacemit: Add USB 3.0 support for K1 Ze Huang
  2026-01-11  6:41 ` [PATCH v3 1/3] riscv: dts: spacemit: Add USB2 PHY node " Ze Huang
  2026-01-11  6:41 ` [PATCH v3 2/3] riscv: dts: spacemit: Add DWC3 USB 3.0 controller " Ze Huang
@ 2026-01-11  6:41 ` Ze Huang
  2026-01-11 22:11 ` [PATCH v3 0/3] riscv: dts: spacemit: Add USB 3.0 support for K1 Aurelien Jarno
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ze Huang @ 2026-01-11  6:41 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan
  Cc: devicetree, linux-riscv, spacemit, linux-kernel, Ze Huang,
	Aurelien Jarno

Enable the DWC3 USB 3.0 controller and its associated usbphy2 on the
Banana Pi F3 board.

The board utilizes a VLI VL817 hub, which requires two separate power
supplies: one VBUS and one for hub itself. Add two GPIO-controlled
fixed-regulators to manage this.

Tested-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ze Huang <huang.ze@linux.dev>
---
 arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts | 46 +++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
index 3f10efd925dc..5971605754b3 100644
--- a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
@@ -59,6 +59,25 @@ reg_vcc_4v: vcc-4v {
 		regulator-always-on;
 		vin-supply = <&reg_dc_in>;
 	};
+
+	usb3-vbus-5v {
+		compatible = "regulator-fixed";
+		regulator-name = "USB30_VBUS";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		regulator-always-on;
+		gpio = <&gpio K1_GPIO(97) GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+	};
+
+	usb3_hub_5v: usb3-hub-5v {
+		compatible = "regulator-fixed";
+		regulator-name = "USB30_HUB";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		gpio = <&gpio K1_GPIO(123) GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+	};
 };
 
 &combo_phy {
@@ -313,3 +332,30 @@ &uart0 {
 	pinctrl-0 = <&uart0_2_cfg>;
 	status = "okay";
 };
+
+&usbphy2 {
+	status = "okay";
+};
+
+&usb_dwc3 {
+	dr_mode = "host";
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
+
+	hub_2_0: hub@1 {
+		compatible = "usb2109,2817";
+		reg = <0x1>;
+		vdd-supply = <&usb3_hub_5v>;
+		peer-hub = <&hub_3_0>;
+		reset-gpios = <&gpio K1_GPIO(124) GPIO_ACTIVE_LOW>;
+	};
+
+	hub_3_0: hub@2 {
+		compatible = "usb2109,817";
+		reg = <0x2>;
+		vdd-supply = <&usb3_hub_5v>;
+		peer-hub = <&hub_2_0>;
+		reset-gpios = <&gpio K1_GPIO(124) GPIO_ACTIVE_LOW>;
+	};
+};

-- 
2.52.0


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

* Re: [PATCH v3 0/3] riscv: dts: spacemit: Add USB 3.0 support for K1
  2026-01-11  6:41 [PATCH v3 0/3] riscv: dts: spacemit: Add USB 3.0 support for K1 Ze Huang
                   ` (2 preceding siblings ...)
  2026-01-11  6:41 ` [PATCH v3 3/3] riscv: dts: spacemit: Enable USB3.0 on BananaPi-F3 Ze Huang
@ 2026-01-11 22:11 ` Aurelien Jarno
  2026-01-12  2:03 ` Yixun Lan
  2026-01-14  0:47 ` Yixun Lan
  5 siblings, 0 replies; 7+ messages in thread
From: Aurelien Jarno @ 2026-01-11 22:11 UTC (permalink / raw)
  To: Ze Huang
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Yixun Lan, devicetree,
	linux-riscv, spacemit, linux-kernel

On 2026-01-11 14:41, Ze Huang wrote:
> This patch series enables the DWC3 USB 3.0 host controller on the
> Spacemit K1 SoC and enables it for the Banana Pi F3 board.
> 
> For testing, the following kernel configurations should be enabled:
> 
> CONFIG_PHY_SPACEMIT_K1_USB2=y
> CONFIG_PHY_SPACEMIT_K1_PCIE=y
> CONFIG_USB_DWC3=y
> CONFIG_USB_ONBOARD_DEV=y
> 
> This series is based on the spacemit k1/for-next branch.
> 
> Link: https://github.com/spacemit-com/linux
> 
> Signed-off-by: Ze Huang <huang.ze@linux.dev>
> ---
> Changes in v3:
> - rename vbus and hub regulator to match schematics
> - reorder node reference to keep alphabet order
> - drop regulator-always-on in usb hub regulator node
> - drop unmanaged vbus-supply in usb host node
> - Link to v2: https://lore.kernel.org/r/20260107-k1-usb3dts-v2-v2-0-e659b0f8fe1a@linux.dev
> 
> Changes in v2:
> - rebased on spacemit k1/for-next
> - Link to v1: https://lore.kernel.org/all/20251101-k1-usb3dts-v1-0-dd2660e5740b@linux.dev/
> 
> ---
> Ze Huang (3):
>       riscv: dts: spacemit: Add USB2 PHY node for K1
>       riscv: dts: spacemit: Add DWC3 USB 3.0 controller node for K1
>       riscv: dts: spacemit: Enable USB3.0 on BananaPi-F3
> 
>  arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts | 46 +++++++++++++++++++++++++
>  arch/riscv/boot/dts/spacemit/k1.dtsi            | 32 +++++++++++++++++
>  2 files changed, 78 insertions(+)

Thanks for this new version. The whole series is:

Tested-by: Aurelien Jarno <aurelien@aurel32.net>

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                     http://aurel32.net

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

* Re: [PATCH v3 0/3] riscv: dts: spacemit: Add USB 3.0 support for K1
  2026-01-11  6:41 [PATCH v3 0/3] riscv: dts: spacemit: Add USB 3.0 support for K1 Ze Huang
                   ` (3 preceding siblings ...)
  2026-01-11 22:11 ` [PATCH v3 0/3] riscv: dts: spacemit: Add USB 3.0 support for K1 Aurelien Jarno
@ 2026-01-12  2:03 ` Yixun Lan
  2026-01-14  0:47 ` Yixun Lan
  5 siblings, 0 replies; 7+ messages in thread
From: Yixun Lan @ 2026-01-12  2:03 UTC (permalink / raw)
  To: Ze Huang
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, devicetree,
	linux-riscv, spacemit, linux-kernel, Aurelien Jarno

Hi Ze,

On 14:41 Sun 11 Jan     , Ze Huang wrote:
> This patch series enables the DWC3 USB 3.0 host controller on the
> Spacemit K1 SoC and enables it for the Banana Pi F3 board.
> 
> For testing, the following kernel configurations should be enabled:
> 
> CONFIG_PHY_SPACEMIT_K1_USB2=y
> CONFIG_PHY_SPACEMIT_K1_PCIE=y
> CONFIG_USB_DWC3=y
> CONFIG_USB_ONBOARD_DEV=y
> 
> This series is based on the spacemit k1/for-next branch.
> 
> Link: https://github.com/spacemit-com/linux
> 
> Signed-off-by: Ze Huang <huang.ze@linux.dev>
looks good to me

Reviewed-by: Yixun Lan <dlan@gentoo.org>

-- 
Yixun Lan (dlan)

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

* Re: [PATCH v3 0/3] riscv: dts: spacemit: Add USB 3.0 support for K1
  2026-01-11  6:41 [PATCH v3 0/3] riscv: dts: spacemit: Add USB 3.0 support for K1 Ze Huang
                   ` (4 preceding siblings ...)
  2026-01-12  2:03 ` Yixun Lan
@ 2026-01-14  0:47 ` Yixun Lan
  5 siblings, 0 replies; 7+ messages in thread
From: Yixun Lan @ 2026-01-14  0:47 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Ze Huang
  Cc: Yixun Lan, devicetree, linux-riscv, spacemit, linux-kernel,
	Aurelien Jarno


On Sun, 11 Jan 2026 14:41:01 +0800, Ze Huang wrote:
> This patch series enables the DWC3 USB 3.0 host controller on the
> Spacemit K1 SoC and enables it for the Banana Pi F3 board.
> 
> For testing, the following kernel configurations should be enabled:
> 
> CONFIG_PHY_SPACEMIT_K1_USB2=y
> CONFIG_PHY_SPACEMIT_K1_PCIE=y
> CONFIG_USB_DWC3=y
> CONFIG_USB_ONBOARD_DEV=y
> 
> [...]

Applied, thanks!

[1/3] riscv: dts: spacemit: Add USB2 PHY node for K1
      https://github.com/spacemit-com/linux/commit/0346e7284c2a1a39befc8711e5bc7f0306df7bdc
[2/3] riscv: dts: spacemit: Add DWC3 USB 3.0 controller node for K1
      https://github.com/spacemit-com/linux/commit/4b8fd1c95f0dd0398da1ea373ab67dd3559afb31
[3/3] riscv: dts: spacemit: Enable USB3.0 on BananaPi-F3
      https://github.com/spacemit-com/linux/commit/2c1c8ee2c30f90b2dc2d6629e364aaed622c98b6

Best regards,
-- 
Yixun Lan <dlan@gentoo.org>

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

end of thread, other threads:[~2026-01-14  0:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-11  6:41 [PATCH v3 0/3] riscv: dts: spacemit: Add USB 3.0 support for K1 Ze Huang
2026-01-11  6:41 ` [PATCH v3 1/3] riscv: dts: spacemit: Add USB2 PHY node " Ze Huang
2026-01-11  6:41 ` [PATCH v3 2/3] riscv: dts: spacemit: Add DWC3 USB 3.0 controller " Ze Huang
2026-01-11  6:41 ` [PATCH v3 3/3] riscv: dts: spacemit: Enable USB3.0 on BananaPi-F3 Ze Huang
2026-01-11 22:11 ` [PATCH v3 0/3] riscv: dts: spacemit: Add USB 3.0 support for K1 Aurelien Jarno
2026-01-12  2:03 ` Yixun Lan
2026-01-14  0:47 ` Yixun Lan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox