[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