USB 2.0 operation on TX2

We have recently designed a TX2 carrier board based on the Nvidia TX2 carrier board design.

We have just got our first boards in and we are currently testing. I am using a TX2 module that shipped with a carrier board for test.

When the TX2 is powered up on the Nvidia carrier board it runs a script (can be seen on the HDMI display) and then starts Ubuntu.

The good news is that on our new board the TX2 boots and runs the same script that ran on the carrier board (again seen on the HDMI display port on the new board).

On the Nvidia carrier board the USB2.0 enumerates a mouse that was plugged into the port as the operating system starts up. The mouse operates normally and can be used on the Ubuntu user screen on the HDMI display.

However on our new board the mouse is not functioning on the USB 2.0 port. I have double checked the USB2.0 pinout and connections (we maintained these as per the Nvidia carrier board) and these are all OK. Doing a little further investigation I can see that the USB_VBUS_EN0 line is not being activated on the new board as the operating system starts.
I can control this line independently when the TX2 is not plugged in so I know that the power chip can be enabled and can supply USB power.

Is there some reason that why the TX2 would not start the enumeration on the USB2.0 port?

Our new carrier board does not have every connection that was used on the Nvidia carrier board so I’m thinking that there is something telling the TX2 on the Nvidia carrier board to start up the USB2.0 on that board that we don’t have on our new board?

Any help would be greatly appreciated.

Thanks in advance.

A different carrier board probably needs a modification of device tree…unless your board is an exact layout match of the one the dev board has. Is your wiring for USB an exact match? E.g., is there some GPIO difference or a controller routed through different pins?

Please refer to the adaptation guide first.

Hello all,
I was working on other elements of this board but now I’m back to the USB2 issue that I described above. Thanks for all your comments so far.

To answer points already raised:

  1. The wiring for the USB 2.0 is exact natch to the Nvidia carrier board.
  2. I looked at the adaption guide but this is primarily for SW developers. However I did see a note that said:
    “Before replacing the P2597 base board, verify the software programming of the Kernel device tables, MB1 configuration, ODM data, and flashing to de-configure the P2597 board with the custom configurations of your custom board. EEPROM ID for your custom board is not required”

I have just used a pre-configured TX2 module that came with the development kit so the TX2 image has not been modified at all. Could it have something to do with this?

Any help or suggestions would be greatly appreciated.

Any differences in layout of the carrier would imply you likely need to modify the device tree. It would be unusual for a module on one carrier to completely work after transferring it to another carrier board…until device tree is updated.

Is your board an exact clone of the dev board?

Thanks very much for your comments.
Our board is definitely not an exact clone. I will update the pinmux spreadsheet as you suggest and see how we get on after that.

Thanks again for your help.