Jetson Orin Nano USB0_VBUS_EN Carrier Board Usage and Configuration

Issue Overview

Users working on custom carrier boards for the Nvidia Jetson Orin Nano have encountered questions and confusion regarding the usage and configuration of the GPIO00 USB0_VBUS_EN pin and its interaction with the FUSB301TMX USB Controller. The main concerns revolve around determining the connection state of devices or hosts to the USB Type-C port and properly configuring the OTG port based on the connected peripheral.

Users have observed that the USB0_VBUS_EN pin is tied to the FUSB301TMX USB Controller on the Nvidia Carrier Board, which interfaces with the CC pins on the USB Type-C connector. However, there is uncertainty about how the Orin determines the connection state and how the OTG port is configured accordingly.

The issue impacts users’ ability to properly design and configure custom carrier boards to match the desired USB port functionality. Clarification is needed on the role of the FUSB301TMX controller, the polarity of the USB_VBUS_EN pin, and how it relates to configuring USB0 as a device or host.

Possible Causes

  1. Lack of clear documentation: The provided developer guide for the P3737-A04 may contain inaccurate or incomplete information regarding the interaction between the Jetson Orin Nano and the FUSB301TMX controller, leading to confusion among users.

  2. Misunderstanding of the FUSB301TMX controller’s role: Users may be unclear about the specific capabilities and responsibilities of the FUSB301TMX controller in determining the connected peripheral type and signaling it to the Jetson Orin Nano.

  3. Insufficient knowledge of I2C communication: Users may lack a clear understanding of how the I2C communication between the Jetson Orin Nano and the FUSB301TMX controller occurs and how it affects the OTG port configuration.

  4. Incorrect assumptions about the USB_VBUS_EN pin: Users may have mistaken assumptions about the purpose and functionality of the USB_VBUS_EN pin (GPIO00), leading to confusion about its usage as an interrupt rather than directly controlling the port direction.

Troubleshooting Steps, Solutions & Fixes

  1. Review the FUSB301TMX datasheet: To gain a better understanding of how the FUSB301TMX controller reports the connected peripheral situation, users should refer to the chip vendor’s datasheet. The datasheet may provide detailed information on the controller’s functionality, register configuration, and I2C communication protocol.

  2. Verify the device tree configuration: Ensure that the device tree is properly configured to match the specific carrier board design. If the design differs from the Nvidia Carrier Board, modifications to the device tree may be necessary. Consult the provided developer guide for instructions on configuring the device tree for the Jetson Orin Nano.

  3. Investigate the I2C interaction: To clarify how the Jetson Orin Nano interacts with the FUSB301TMX controller over I2C, users can:

    • Analyze the kernel driver code responsible for communicating with the FUSB301TMX controller.
    • Use I2C debugging tools or commands to monitor the communication between the Jetson Orin Nano and the controller.
    • Consult the chip vendor’s support resources or reach out to their technical support team for specific guidance on the I2C interaction.
  4. Confirm the USB_VBUS_EN pin functionality: Verify that the USB_VBUS_EN pin (GPIO00) is indeed used as an interrupt rather than directly controlling the port direction. This can be done by:

    • Reviewing the schematic and board design files to understand the pin’s connection and purpose.
    • Monitoring the pin’s behavior using oscilloscope or logic analyzer to observe its state changes in response to device or host connections.
    • Consulting the Nvidia Jetson Orin Nano documentation or reaching out to Nvidia’s technical support for clarification on the pin’s intended usage.
  5. Test with known-good configurations: To isolate the issue and confirm the expected behavior, users can:

    • Test the custom carrier board with a known-good device tree configuration that has been validated on the Nvidia Carrier Board.
    • Compare the behavior of the custom carrier board with the Nvidia Carrier Board to identify any discrepancies or anomalies.
    • Verify that the USB0 port functions correctly as a host or device when properly configured in the device tree.

By following these troubleshooting steps and seeking clarification from the chip vendor and Nvidia’s technical resources, users can gain a better understanding of the USB0_VBUS_EN pin usage, the FUSB301TMX controller’s role, and how to properly configure the OTG port on their custom carrier boards for the Jetson Orin Nano.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *