UART1 (ttyTHS0) Not Functioning on Nvidia Jetson Orin Nano

Issue Overview

Users are experiencing issues with UART1 (/dev/ttyTHS0) functionality on the Nvidia Jetson Orin Nano development board and custom boards using the Orin Nano module. The primary symptoms include:

  • No log output from UART1 after flashing the OS
  • Inability to use UART1 for communication with external devices
  • The issue persists on both the Jetson Orin Nano development kit and custom boards
  • The same configuration works correctly with Xavier NX modules

This problem is observed with the R35.3.1 code base and affects the ability to use UART1 for tasks such as connecting to external devices or outputting debug messages.

Possible Causes

  1. Incorrect pinmux configuration: Although the pinmux settings appear to be correct, there might be subtle differences between Orin Nano and Xavier NX.

  2. Device tree misconfiguration: The device tree may not be properly set up for UART1 on the Orin Nano.

  3. Driver issues: There could be compatibility issues with the UART driver for the Orin Nano.

  4. Hardware differences: The Orin Nano may have different hardware characteristics compared to the Xavier NX, affecting UART functionality.

  5. Kernel command line parameters: Incorrect or missing parameters in the kernel command line could affect UART initialization.

  6. Software bugs: There might be bugs in the R35.3.1 code base specific to UART handling on the Orin Nano.

  7. Power management issues: Improper power management settings could affect UART functionality.

Troubleshooting Steps, Solutions & Fixes

  1. Verify pinmux configuration:
    Check the pinmux settings for UART1 using the following commands:

    sudo busybox devmem 0x024300a8 // UART1_TX
    sudo busybox devmem 0x024300a0 // UART1_RX
    sudo busybox devmem 0x02430098 // UART1_RTS
    sudo busybox devmem 0x02430090 // UART1_CTS
    

    Ensure the values match the expected configuration for UART1.

  2. Set RTS/CTS pinmux:
    Try setting the pinmux for UART1_RTS and UART1_CTS explicitly:

    sudo busybox devmem 0x02430098 w 0x400 // UART1_RTS
    sudo busybox devmem 0x02430090 w 0x458 // UART1_CTS
    
  3. Check kernel command line:
    Review the kernel command line and try adding or removing "console=ttyTHS0,115200" to see if it affects UART1 functionality.

  4. Investigate alternative UART ports:
    Check if /dev/ttyAMA0 or /dev/ttyTCU0 are functional and can be used as alternatives for your use case.

  5. Disable uarti pinmux:
    As a test, try disabling the pinmux for uarti and changing "/dev/ttyAMA0" to "/dev/ttyTHS0" in the kernel command line. This may allow UART1 to output logs during boot, although it may become unusable once the system is fully booted.

  6. Compare device trees:
    Analyze the device tree configurations between Orin Nano and Xavier NX, focusing on UART-related entries. Look for discrepancies that might explain the different behaviors.

  7. Check for software updates:
    Ensure you are using the latest version of the R35.3.1 code base and check for any available patches or updates that might address UART issues.

  8. Consult Nvidia documentation:
    Review the official Nvidia documentation for Orin Nano, paying special attention to any known issues or limitations regarding UART functionality.

  9. Test with minimal configuration:
    Try creating a minimal test setup that only initializes and uses UART1, eliminating potential conflicts with other system components.

  10. Capture detailed logs:
    Generate comprehensive system logs, including boot logs and kernel messages, to identify any error messages or warnings related to UART initialization or usage.

  11. Consider hardware inspection:
    If possible, use an oscilloscope or logic analyzer to verify the signal integrity on the UART1 pins during operation.

  12. Engage Nvidia support:
    If the issue persists after trying these steps, consider opening a support ticket with Nvidia, providing all relevant information, logs, and steps taken to troubleshoot the problem.

Similar Posts

Leave a Reply

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