USB OTG Interface Configuration for Jetson Orin Nano Custom Carrier Board

Issue Overview

Users developing a custom carrier board for the Jetson Orin Nano are seeking information on how to interface with a USB micro B connector, specifically focusing on the "ID" pin of the USB OTG (On-The-Go) connector. This issue arises during the hardware design phase of a custom board implementation, where developers need to understand how to properly configure and utilize the USB OTG functionality with the Orin Nano module.

The main challenges include:

  • Configuring the "ID" pin on the USB OTG connector
  • Ensuring compatibility with the Jetson Orin Nano, which doesn’t have a direct provision for the ID pin
  • Adapting existing documentation, which primarily focuses on Type-C connectors, to work with Type-B connectors

Possible Causes

  1. Limited Documentation: The primary documentation and reference designs for Jetson Orin platforms are focused on USB Type-C connectors, making it challenging to implement Type-B connectors.

  2. Hardware Differences: The Jetson Orin Nano may have different USB controller configurations compared to other Jetson modules, leading to uncertainty in the implementation.

  3. Software Configuration: Improper device tree configuration in the Jetpack software could prevent proper recognition and functionality of the USB OTG port.

  4. Pin Compatibility: The absence of a direct provision for the ID pin on the Orin Nano module may require additional circuitry or configuration to enable OTG functionality.

Troubleshooting Steps, Solutions & Fixes

  1. Refer to AGX Documentation:

    • Use the Jetson AGX Orin documentation for USB configuration, as confirmed by NVIDIA that the method is the same for Orin NX/Nano.
    • Access the documentation at: https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/HR/JetsonModuleAdaptationAndBringUp/JetsonAgxOrinSeries.html?highlight=universal#porting-the-universal-serial-bus
  2. Device Tree Configuration:

    • Modify the device tree to enable the USB OTG port.
    • Example configuration (adjust as needed):
      usb@3610000 {
          compatible = "nvidia,tegra234-xusb";
          reg = <0x0 0x3610000 0x0 0x40000>;
          interrupts = <0 167 0x4>;
          iommus = <&smmu TEGRA_SID_XUSB_HOST>;
          status = "okay";
      };
      
  3. Hardware Design Considerations:

    • Although there’s no specific schematic provided for Type-B connectors, design your custom board based on the Type-C diagrams in the design guide document.
    • Implement the necessary circuitry to handle the ID pin functionality, possibly using a resistor network or a USB OTG controller IC.
  4. Software Compatibility:

    • Ensure you are using Jetpack 6, as mentioned in the discussion.
    • Check for any USB-related updates or patches in the latest Jetpack release notes.
  5. Testing and Verification:

    • After implementing the hardware and software configurations, test the USB OTG functionality using various USB devices.
    • Use the following command to verify USB device recognition:
      lsusb
      
  6. Community Support:

    • If issues persist, consider reaching out to the NVIDIA Developer forums or the Jetson community for specific implementation advice.
  7. Alternative Connector Consideration:

    • While Type-B is still supported, consider using Type-C connectors as they are the primary focus for all Orin platforms moving forward.
    • This may simplify future updates and ensure better long-term support.
  8. Documentation Gap:

    • Be aware that there might be a lack of specific documentation for Type-B connectors on Orin Nano.
    • Document your implementation process and consider sharing it with the community to help others facing similar challenges.

Similar Posts

Leave a Reply

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