[PATCH 5/5] riscv: dts: canaan: Add syscon and USB nodes for K230

Jiayu Du jiayu.riscv at isrc.iscas.ac.cn
Mon Dec 29 18:37:24 PST 2025


Add top syscon and USB PHY subdevice nodes, USB0/USB1 dwc2 controller
to K230 DTSI, and enable UART0 and USB0/USB1 in DshanPI DT.

Signed-off-by: Jiayu Du <jiayu.riscv at isrc.iscas.ac.cn>
---
 .../boot/dts/canaan/k230-canmv-dshanpi.dts    | 21 ++++++++
 arch/riscv/boot/dts/canaan/k230.dtsi          | 51 +++++++++++++++++++
 2 files changed, 72 insertions(+)

diff --git a/arch/riscv/boot/dts/canaan/k230-canmv-dshanpi.dts b/arch/riscv/boot/dts/canaan/k230-canmv-dshanpi.dts
index 4f95b534ee87..622d273d723a 100644
--- a/arch/riscv/boot/dts/canaan/k230-canmv-dshanpi.dts
+++ b/arch/riscv/boot/dts/canaan/k230-canmv-dshanpi.dts
@@ -80,3 +80,24 @@ &uart0 {
 	pinctrl-0 = <&uart0_pins>;
 	status = "okay";
 };
+
+&usb0 {
+	vusb_d-supply = <&vdd_3v3>;
+	vusb_a-supply = <&vdd_1v8>;
+	status = "okay";
+};
+
+&usb1 {
+	dr_mode = "host";
+	vusb_d-supply = <&vdd_3v3>;
+	vusb_a-supply = <&vdd_1v8>;
+	status = "okay";
+};
+
+&usbphy0 {
+	status = "okay";
+};
+
+&usbphy1 {
+	status = "okay";
+};
diff --git a/arch/riscv/boot/dts/canaan/k230.dtsi b/arch/riscv/boot/dts/canaan/k230.dtsi
index b815a65e02b9..825728727425 100644
--- a/arch/riscv/boot/dts/canaan/k230.dtsi
+++ b/arch/riscv/boot/dts/canaan/k230.dtsi
@@ -148,5 +148,56 @@ uart4: serial at 91404000 {
 			reg-shift = <2>;
 			status = "disabled";
 		};
+
+		usb0: usb at 91500000 {
+			compatible = "canaan,k230-usb", "snps,dwc2";
+			reg = <0x0 0x91500000 0x0 0x40000>;
+			interrupts = <173 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&sysclk K230_USB_480M_RATE>;
+			clock-names = "otg";
+			g-rx-fifo-size = <512>;
+			g-np-tx-fifo-size = <64>;
+			g-tx-fifo-size = <512 1024 64 64 64 64>;
+			phys = <&usbphy0>;
+			phy-names = "usb2-phy";
+			status = "disabled";
+		};
+
+		usb1: usb at 91540000 {
+			compatible = "canaan,k230-usb", "snps,dwc2";
+			reg = <0x0 0x91540000 0x0 0x40000>;
+			interrupts = <174 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&sysclk K230_USB_480M_RATE>;
+			clock-names = "otg";
+			g-rx-fifo-size = <512>;
+			g-np-tx-fifo-size = <64>;
+			g-tx-fifo-size = <512 1024 64 64 64 64>;
+			phys = <&usbphy1>;
+			phy-names = "usb2-phy";
+			status = "disabled";
+		};
+
+		hi_sys_config: syscon at 91585000 {
+			compatible = "canaan,k230-hisys-cfg", "syscon", "simple-mfd";
+			reg = <0x0 0x91585000 0x0 0x400>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			usbphy0: usb-phy at 70 {
+				compatible = "canaan,k230-usb-phy";
+				reg = <0x70 0x1C>, <0xb0 0x8>;
+				clocks = <&sysclk K230_HS_USB0_AHB_GATE>;
+				#phy-cells = <0>;
+				status = "disabled";
+			};
+
+			usbphy1: usb-phy at 90 {
+				compatible = "canaan,k230-usb-phy";
+				reg = <0x90 0x1C>, <0xb8 0x8>;
+				clocks = <&sysclk K230_HS_USB1_AHB_GATE>;
+				#phy-cells = <0>;
+				status = "disabled";
+			};
+		};
 	};
 };
-- 
2.52.0




More information about the linux-riscv mailing list