Disabling General UART (uarta:serial@3100000) in Jetson Orin Nano 8GB Device Tree

Issue Overview

Users are seeking to modify the device tree of the Jetson Orin Nano 8GB Developer Kit for a custom board running Jetpack 6.0. The primary goal is to disable the General UART (uarta:serial@3100000) while maintaining functionality for other UART connections. The user has identified three enabled UART ports in the converted device tree (.dts) file:

  1. uarta:serial@3100000 (General UART)
  2. uarte:serial@3140000 (M.2 Key)
  3. uarti:serial@31d0000 (Debug)

There is confusion about the correct mapping of these UART ports and whether additional modifications are needed for the M.2 and Debug UARTs.

Possible Causes

  1. Custom board requirements: The custom board based on the Jetson Orin Nano Dev Kit may have different UART configurations or requirements compared to the standard dev kit.

  2. Misunderstanding of UART mappings: Confusion about which UART corresponds to which physical interface on the board can lead to incorrect modifications.

  3. Incomplete device tree conversion: The converted .dts file may not show all available UART nodes, leading to uncertainty about the presence of certain UARTs (e.g., uartc@c280000).

  4. JetPack 6.0 specific changes: There might be differences in UART configurations or mappings specific to JetPack 6.0 that are not well-documented.

Troubleshooting Steps, Solutions & Fixes

  1. Confirm UART mappings:

    • uarta:serial@3100000: General UART (40-pin expansion header)
    • uarte:serial@3140000: M.2 Key
    • uarti:serial@31d0000: Debug UART
    • uartb@3110000: M.2 Key E (disabled by default)
    • uartc@c280000: Alternative Debug UART (used when Tegra Combined UART is not in use)
  2. Disable General UART:
    To disable the General UART (uarta:serial@3100000), modify its status in the device tree:

    uarta:serial@3100000 {
        status = "disabled";
    }
    
  3. Configure M.2 Key E UART:
    If you need to use the M.2 Key E UART for the camera connector, enable uartb@3110000:

    uartb@3110000 {
        status = "okay";
    }
    
  4. Verify Debug UART:
    The Tegra Combined UART (/dev/ttyTCU0) should be enabled by default. No additional configuration is needed for the debug UART in most cases.

  5. Review entire device tree:
    Carefully review the entire device tree to ensure all necessary UART configurations are present and correctly set. Pay attention to any overlays or includes that might affect UART settings.

  6. Test UART functionality:
    After making changes to the device tree, thoroughly test all UART connections to ensure they function as expected on your custom board.

  7. Compile and flash updated device tree:
    After making modifications, compile the updated device tree and flash it to your Jetson Orin Nano:

    dtc -I dts -O dtb -o tegra234-p3768-0000+p3767-0005-nv.dtb tegra234-p3768-0000+p3767-0005-nv.dts
    sudo ./flash.sh jetson-orin-nano-devkit mmcblk0p1
    
  8. Consult official documentation:
    Refer to the official Jetson documentation and the L4T (Linux for Tegra) BSP documentation for the most up-to-date information on UART configurations and device tree modifications.

  9. Seek support for custom board:
    If you encounter persistent issues with your custom board, consider reaching out to NVIDIA developer support or consulting with the manufacturer of your custom carrier board for specific guidance on UART configurations.

Remember to back up your original device tree files before making any modifications, and document all changes for future reference and troubleshooting.

Similar Posts

Leave a Reply

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