We made a custom board based on the Jetson Board with some modifications. The only issue that we are having is that we added a 2nd USB3.0 port. It is connected to PEX_USB3_TX1N, PEX_USB3_TX1N, PEX_USB3_RX1N, PEX_USB3_RX1N and USB1_DN, USB1_DP. It works but in USB2.0 mode.
We tried editing ss_portmap property in the DTS and set it to 0x12 and also tried to 0x2 but still shows up as USB2.0. The standard USB3.0 port that is also on the Jetson Board does show up as USB3.0 but the new one which we added shows up as USB2.0.
I don’t think that the issue has to do with hardware since the USB port functions appropriately, the issue has to do with software configuration (getting the port to run as USB3.0).
The custom board is running smoothly on Ubuntu 14.04 with Linux for Tegra 21.4 Kernel 3.10. We haven’t modified the kernel, just the DTV.
file kernel/arch/arm/boot/dts/tegra124-jetson_tk1-pm375-000-c00-00.dts, in ‘xusb@7009000’, nvidia,ss_portmap = <0x12>; (NOTE: if you have changed the DTS part for your own board, please change the corresponding code.)
file kernel/arch/arm/mach-tegra/board-ardbeg.c in function ardbeg_xusb_init, the following part code:
} else if (board_info.board_id == BOARD_PM375) {
if (!(usb_port_owner_info & UTMI1_PORT_OWNER_XUSB))
xusb_pdata.portmap &= ~(TEGRA_XUSB_USB2_P0);
if (!(usb_port_owner_info & UTMI2_PORT_OWNER_XUSB))
xusb_pdata.portmap &= ~(TEGRA_XUSB_USB2_P2 |
TEGRA_XUSB_USB2_P1 | TEGRA_XUSB_SS_P0);
//xusb_pdata.portmap &= ~(TEGRA_XUSB_SS_P1);
} else {
/* Ardbeg */
if (board_info.board_id == BOARD_E1781) {
pr_info(“Shield ERS-S. 0x%x\n”, board_info.board_id);
This code ‘xusb_pdata.portmap &= ~(TEGRA_XUSB_SS_P1);’ must be commented out. (NOTE: same as before, if your board changed the board ID, please check the corresponding code.)
We have USB3 port 1 working (USB_VBUS_EN2 is asserted high and etc), however the USB port 0 doesn’t work at all, neither the USB2.0 portion on that port 0.
here is our device tree file for USB, any idea about enabling the extra USB host port (either USB3 or USB2)?
Hello,
Please follow the steps pasted by ‘edli1983’ @ #2. That covers the 2 USB SS ports changes in Jetson. With those changes, if SS ports still fail to work, please provide the following information.
USB part schematic. (we need know USB HS/SS port map.)
Kernel log when a USB SS device attached to both USB SS port in Jetson. (Also, lsusb result is welcomed.)