USB

接口说明

小技巧

  • 采用我司刷写的镜像无需修改设备树即可支持前面板的USB接口支持3.0速率;

  • 采用英伟达SDKM刷写官方镜像的,可以通过手工修改设备树源码的方式支持;

  • 3xUSB3.0&2.0(Type-A)

  • 1xUSB2.0(Type-A)

USB

电气特性

  • USB接口最大电流2A限流

位号

信号线

接口

orin nano/nx

我司设备树

nvidia官方设备树默认

左上

USB 3.0 & 2.0

TYPE-A

P2

Y

N

左下

USB 3.0 & 2.0

TYPE-A

P1

Y

N

右上

USB 3.0 & 2.0

TYPE-A

P0

Y

Y

右下

USB 2.0

TYPE-A

N/A

N/A

N/A

支持列表

  • 符合USB TYPE-A标准均可使用

前面板USB3.0

使用nvidia的SDKM刷写官方镜像适配orin nano/nx系列模组,默认情况下仅右上USB接口支持USB3.0速率。 如下配置案例以orin nano 8gb为例(其他同系列模组操作方式相同)开启左下和左上两个接口的USB3.0速率支持。

  1. 进入系统的dtb目录

sudo su
cd /boot/dtb/
dtc -I dtb -O dts kernel_tegra234-p3768-0000+p3767-0003-nv.dtb > kernel_tegra234-p3768-0000+p3767-0003-nv.dts
cp kernel_tegra234-p3768-0000+p3767-0003-nv.dts c1201.dts
vi c1201.dts

采用vi,gedit等任何你熟悉的方式修改设备树

  1. 修改设备树

小技巧

  • -表示删除该行

  • +表示添加该行

root@ubuntu:/boot/dtb# diff -U 10 kernel_tegra234-p3768-0000+p3767-0003-nv.dts c1201.dts
--- kernel_tegra234-p3768-0000+p3767-0003-nv.dts        2026-07-11 17:20:14.131908059 +0800
+++ c1201.dts   2026-07-11 17:26:09.286524105 +0800
@@ -3912,48 +3912,42 @@

                                                usb3-1 {
                                                        nvidia,function = "xusb";
                                                        status = "okay";
                                                        #phy-cells = <0x00>;
                                                        phandle = <0xfc>;
                                                };

                                                usb3-2 {
                                                        nvidia,function = "xusb";
-                                                       status = "disabled";
+                                                       status = "okay";
                                                        #phy-cells = <0x00>;
+                                                        phandle = <0x5ff>;
                                                };

                                                usb3-3 {
                                                        nvidia,function = "xusb";
                                                        status = "disabled";
                                                        #phy-cells = <0x00>;
                                                };
                                        };
                                };
                        };

                        ports {

                                usb2-0 {
                                        status = "okay";
                                        mode = "otg";
                                        vbus-supply = <0xf7>;
                                        usb-role-switch;

                                usb2-1 {
                                        status = "okay";
                                        mode = "host";
                                        vbus-supply = <0xf9>;
                                };

                                usb2-2 {
                                        status = "okay";
@@ -3965,25 +3959,26 @@
                                        status = "disabled";
                                };

                                usb3-0 {
                                        status = "okay";
                                        nvidia,usb2-companion = <0x01>;
                                };

                                usb3-1 {
                                        status = "okay";
-                                       nvidia,usb2-companion = <0x00>;
+                                       nvidia,usb2-companion = <0x01>;
                                };

                                usb3-2 {
-                                       status = "disabled";
+                                       status = "okay";
+                                        nvidia,usb2-companion = <0x01>;
                                };

                                usb3-3 {
                                        status = "disabled";
                                };
                        };
                };

                usb@3550000 {
                        compatible = "nvidia,tegra234-xudc";
@@ -3993,40 +3988,40 @@
                        clocks = <0x03 0x109 0x03 0x10c 0x03 0x113 0x03 0x110>;
                        clock-names = "dev\0ss\0ss_src\0fs_src";
                        interconnects = <0x57 0x4c 0x58 0x57 0x4d 0x58>;
                        interconnect-names = "dma-mem\0write";
                        iommus = <0xf0 0x0f>;
                        power-domains = <0x03 0x0b 0x03 0x0a>;
                        power-domain-names = "dev\0ss";
                        nvidia,xusb-padctl = <0xfa>;
                        dma-coherent;
                        status = "okay";
-                       phys = <0xfb 0xfc>;
-                       phy-names = "usb2-0\0usb3-0";
+                       phys = <0xfb>;
+                       phy-names = "usb2-0";
                };

                usb@3610000 {
                        compatible = "nvidia,tegra234-xusb";
                        reg = <0x00 0x3610000 0x00 0x40000 0x00 0x3600000 0x00 0x10000 0x00 0x3650000 0x00 0x10000>;
                        reg-names = "hcd\0fpci\0bar2";
                        clocks = <0x03 0x10b 0x03 0x10d 0x03 0x10c 0x03 0x113 0x03 0x0e 0x03 0x110 0x03 0x67 0x03 0x0e 0x03 0x64>;
                        clock-names = "xusb_host\0xusb_falcon_src\0xusb_ss\0xusb_ss_src\0xusb_hs_src\0xusb_fs_src\0pll_u_480m\0clk_m\0pll_e";
                        interconnects = <0x57 0x4a 0x58 0x57 0x4b 0x58>;
                        interconnect-names = "dma-mem\0write";
                        iommus = <0xf0 0x0e>;
                        power-domains = <0x03 0x0c 0x03 0x0a>;
                        power-domain-names = "xusb_host\0xusb_ss";
                        nvidia,xusb-padctl = <0xfa>;
                        dma-coherent;
                        status = "okay";
-                       phys = <0xfb 0xfd 0xfe 0xff 0xfc>;
-                       phy-names = "usb2-0\0usb2-1\0usb2-2\0usb3-0\0usb3-1";
+                       phys = <0xfb 0xfd 0xfe 0xff 0xfc 0x5ff>;
+                       phy-names = "usb2-0\0usb2-1\0usb2-2\0usb3-0\0usb3-1\0usb3-2";
                        interrupts-extended = <0x01 0x00 0xa3 0x04 0x01 0x00 0xa4 0x04 0x100 0x4c 0x04 0x100 0x4d 0x04 0x100 0x4e 0x04 0x100 0x4f 0x04 0x100 0x50 0x04 0x100 0x51 0x04 0x100 0x52 0x04>;
                        interrupt-names = "xhci\0mbox\0wake0\0wake1\0wake2\0wake3\0wake4\0wake5\0wake6";
                };

                fuse@3810000 {
                        compatible = "nvidia,tegra234-efuse";
                        reg = <0x00 0x3810000 0x00 0x10000>;
                        clocks = <0x03 0x28>;
                        clock-names = "fuse";
                };

修改完设备树的dts源码后,再转为dtb文件

dtc -I dts -O dtb c1201.dts > c1201.dtb
  1. 设备树生效

注意

必须在启动配置中显式添加FDT字段强制使用指定的设备树进行内核启动的配置读取。 否则系统将仍然使用内部保存的设备树配置文件(烧写时)的作为启动配置。

vi /boot/extlinux/extlinux.conf

在其中添加FDT指定设备树

root@ubuntu:/boot/dtb# cat /boot/extlinux/extlinux.conf
TIMEOUT 30
DEFAULT primary

MENU TITLE L4T boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      FDT /boot/dtb/c1201.dtb
      APPEND ${cbootargs} root=PARTUUID=6aedec5e-dea4-433a-817a-bf041d51989d rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 firmware_class.path=/etc/firmware fbcon=map:0 video=efifb:off console=tty0 efi=runtime pci=pcie_bus_perf nvme.use_threaded_interrupts=1 nv-auto-config

reboot系统后,前面板的USB接口的:左下,左上即支持USB3.0速率。

常见说明