Hello, I am working on jetson orin nano with custom carrier board.
On our board we have two independent USB3 ports:
The first one is Jetson port USB1 together with SuperSpeed signals from USBSS1.
The second one is Jetson port USB2 together with SuperSpeed signals from USBSS2.
I have some changes in device tree.
Jetson Orin Nano Baseb bard which has USB 3.2 Gen 2:
Theoretical Speed: 10 Gbps (1250 MB/s)
Test Results:
Write Speed: ~765 MB/s
Read Speed: ~1660 MB/s
The write speed is within the 1250 MB/s range, while the read speed again exceeds the 1250 MB/s rangece. Here the test subject (USB stick) is connected over two USB 3.0 adapters and the USB-stick its self USB 3.0.
Without changing the device-tree:
Write Speed: ~20 MB/s
Read Speed: ~23 MB/s
Should not it I get more speed ?
Below is the device changes I have done:
xhci@3760000 {
compatible = "nvidia,tegra234-xhci-vf4";
reg = <0x00 0x3760000 0x00 0x40000>;
interrupts = <0x00 0x18 0x04>;
nvidia,xusb-padctl = <0x2b5>;
interconnects = <0x03 0x4a 0x03 0x4b>;
interconnect-names = "dma-mem\0dma-mem";
iommus = <0x51 0x1d>;
dma-coherent;
status = "disabled";
phandle = <0x46b>;
};
xusb_padctl@3520000 {
compatible = "nvidia,tegra234-xusb-padctl";
reg = <0x00 0x3520000 0x00 0x20000 0x00 0x3540000 0x00 0x10000>;
reg-names = "padctl\0ao";
interrupts = <0x00 0xa7 0x04>;
resets = <0x02 0x72>;
reset-names = "padctl";
status = "okay";
vclamp-usb-supply = <0x4c>;
avdd-usb-supply = <0x2b2>;
phandle = <0x2b5>;
pads {
usb2 {
clocks = <0x02 0xa5>;
clock-names = "trk";
lanes {
usb2-0 {
status = "okay";
#phy-cells = <0x00>;
nvidia,function = "xusb";
phandle = <0x2b6>;
};
usb2-1 {
status = "okay";
#phy-cells = <0x00>;
nvidia,function = "xusb";
phandle = <0x2b8>;
};
usb2-2 {
status = "okay";
#phy-cells = <0x00>;
nvidia,function = "xusb";
phandle = <0x2b9>;
};
usb2-3 {
status = "disabled";
#phy-cells = <0x00>;
};
};
};
usb3 {
lanes {
usb3-0 {
status = "okay";
#phy-cells = <0x00>;
nvidia,function = "xusb";
phandle = <0x2ba>;
};
usb3-1 {
status = "okay";
#phy-cells = <0x00>;
nvidia,function = "xusb";
};
usb3-2 {
status = "okay";
#phy-cells = <0x00>;
nvidia,function = "xusb";
};
usb3-3 {
status = "okay";
#phy-cells = <0x00>;
nvidia,function = "xusb";
};
};
};
};
ports {
usb2-0 {
status = "okay";
mode = "host";
vbus-supply = <0x2b3>;
usb-role-switch;
connector {
compatible = "usb-b-connector\0gpio-usb-b-connector";
label = "micro-USB";
type = "micro";
vbus-gpio = <0x06 0x99 0x01>;
};
};
usb2-1 {
status = "okay";
mode = "host";
vbus-supply = <0x2b4>;
};
usb2-2 {
status = "okay";
mode = "host";
vbus-supply = <0x2b3>;
};
usb2-3 {
status = "disabled";
};
usb3-0 {
status = "okay";
nvidia,usb2-companion = <0x01>;
};
usb3-1 {
status = "okay";
nvidia,usb2-companion = <0x01>;
};
usb3-2 {
status = "okay";
nvidia,usb2-companion = <0x01>;
};
usb3-3 {
status = "okay";
nvidia,usb2-companion = <0x01>;
};
};
prod-settings {
#prod-cells = <0x04>;
prod {
prod = <0x00 0x284 0x38 0x38 0x00 0x288 0x3fff000 0x51e000>;
};
};
};