]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
riscv: dts: spacemit: Add DWC3 USB 3.0 controller node for K1
authorZe Huang <huang.ze@linux.dev>
Sun, 11 Jan 2026 06:41:03 +0000 (14:41 +0800)
committerYixun Lan <dlan@kernel.org>
Tue, 20 Jan 2026 14:41:08 +0000 (22:41 +0800)
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>
Reviewed-by: Yixun Lan <dlan@gentoo.org>
Link: https://lore.kernel.org/r/20260111-k1-usb3dts-v2-v3-2-f5ebd546e904@linux.dev
Signed-off-by: Yixun Lan <dlan@gentoo.org>
arch/riscv/boot/dts/spacemit/k1.dtsi

index fdf7ebac05907b2f3b5c9ad573c011dc6970e98b..75877434f9f7e46948d793c67072eee614f5215d 100644 (file)
                        #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>;