[PATCH 2/4] riscv: dts: spacemit: k3-com260-ifx: Add USB nodes
Jennifer Berringer
jberring at redhat.com
Mon Sep 28 16:18:05 PDT 2026
K3 CoM260 IFX uses usb3b for a VL817 hub providing 4x USB 3.0 ports and
usb2_host for Bluetooth through the M.2 E-Key slot.
Signed-off-by: Jennifer Berringer <jberring at redhat.com>
---
.../riscv/boot/dts/spacemit/k3-com260-ifx.dts | 63 +++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/arch/riscv/boot/dts/spacemit/k3-com260-ifx.dts b/arch/riscv/boot/dts/spacemit/k3-com260-ifx.dts
index a5c08a7a781a9..a4dfa25c837fe 100644
--- a/arch/riscv/boot/dts/spacemit/k3-com260-ifx.dts
+++ b/arch/riscv/boot/dts/spacemit/k3-com260-ifx.dts
@@ -3,6 +3,7 @@
* Copyright (c) 2026 SpacemiT (Hangzhou) Technology Co. Ltd
* Copyright (c) 2026 Yixun Lan <dlan at kernel.org>
*/
+#include <dt-bindings/phy/phy.h>
#include "k3-com260.dtsi"
@@ -18,6 +19,31 @@ aliases {
chosen {
stdout-path = "serial0:115200n8";
};
+
+ reg_hub_5v: regulator-usb3-hub-5v {
+ compatible = "regulator-fixed";
+ regulator-name = "USB30_HUB";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-boot-on;
+ regulator-always-on;
+ vin-supply = <®_5v_sys>;
+ };
+
+ reg_vbus_5v: regulator-usb3-vbus-5v {
+ compatible = "regulator-fixed";
+ regulator-name = "USB30_VBUS";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <®_5v_sys>;
+ gpio = <&gpio K3_GPIO(67) GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&combophy {
+ spacemit,apmu = <&syscon_apmu 0x14>;
+ status = "okay";
};
&i2c1 {
@@ -35,6 +61,43 @@ eeprom at 50 {
};
};
+&usb2_host {
+ status = "okay";
+};
+
+&usb2_phy {
+ status = "okay";
+};
+
+&usb3b {
+ phys = <&usb3b_u2phy>, <&combophy 2 PHY_TYPE_USB3>;
+ phy-names = "usb2-phy", "usb3-phy";
+ status = "okay";
+ vbus-supply = <®_vbus_5v>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ hub_2_0: hub at 1 {
+ compatible = "usb2109,2817";
+ reg = <1>;
+ vdd-supply = <®_hub_5v>;
+ peer-hub = <&hub_3_0>;
+ reset-gpios = <&gpio K3_GPIO(53) GPIO_ACTIVE_LOW>;
+ };
+
+ hub_3_0: hub at 2 {
+ compatible = "usb2109,817";
+ reg = <2>;
+ vdd-supply = <®_hub_5v>;
+ peer-hub = <&hub_2_0>;
+ reset-gpios = <&gpio K3_GPIO(53) GPIO_ACTIVE_LOW>;
+ };
+};
+
+&usb3b_u2phy {
+ status = "okay";
+};
+
&sdhci0 {
pinctrl-names = "default","uhs";
pinctrl-0 = <&mmc1_cfg>;
--
2.55.0
More information about the linux-riscv
mailing list