Orin Nano Legacy SDMMC Pins as GPIOs
Issue Overview
Users are experiencing confusion and difficulty regarding the use of specific pins (219, 221, 223, 225) on the Nvidia Jetson Orin Nano Dev board, which are currently designated for PCIe2/3 signals. The main symptoms include:
- Inability to use specific pins as GPIOs: Users want to repurpose these pins for General Purpose Input/Output (GPIO) functionality but are unsure if this is feasible given their current configuration.
- Voltage concerns: There are questions about whether these pins operate at 1.8V or 3.3V, as some users have noted that certain pins appear to be pulled up to 3.3V.
- Configuration issues: Users are seeking guidance on how to disable the pull-up resistors that keep these pins at 3.3V.
The issue occurs primarily during the setup phase of custom board development using the Orin Nano. Users have reported that they are using Jetpack version 35.3.1 and are attempting to modify pin configurations through the pinmux spreadsheet.
The impact of this problem on user experience is significant, as it limits the flexibility of board design and functionality for custom applications.
Possible Causes
-
Hardware limitations: The pins in question may be hardwired to function as PCIe signals, preventing their use as GPIOs.
-
Software configuration errors: Users may not have correctly configured the pinmux settings or applied the necessary Device Tree Source Interface (dtsi) configurations.
-
Voltage pull-up settings: Certain pins being pulled up to 3.3V could be a design choice that cannot be altered, leading to confusion about their usability.
-
Lack of documentation: Insufficient clarity in documentation regarding pin usage and voltage levels may contribute to misunderstandings among users.
Troubleshooting Steps, Solutions & Fixes
-
Identify the Development Setup:
- Confirm whether you are using the Nvidia Jetson Orin Nano Devkit or a custom board.
- Check your Jetpack version to ensure compatibility with your configurations.
-
Pin Configuration Check:
- Refer to the pinmux spreadsheet provided by Nvidia to confirm which pins can be configured as GPIO.
- Locate the specific pins (PAG.00, PAG.01, PAG.04, PAG.05) in the spreadsheet and ensure they are set correctly for GPIO use.
-
Applying Device Tree Changes:
- Generate a new dtsi file based on your pinmux configuration.
- Apply this file to your Board Support Package (BSP) to enable the desired GPIO functionality.
-
Testing Voltage Levels:
- Use a multimeter to measure the voltage on the specified pins during operation.
- If they are pulled up to 3.3V and cannot be disabled, consider alternative GPIO options or redesigning your board layout.
-
Consult Documentation and Community Resources:
- Review Nvidia’s official documentation regarding pin usage and voltage specifications for further insights.
- Engage with community forums for additional troubleshooting tips or shared experiences from other users who faced similar issues.
-
Best Practices for Future Projects:
- Always verify pin functionalities before starting custom board designs.
- Keep your Jetpack and related software updated to benefit from any bug fixes or enhancements related to GPIO configurations.
-
Unresolved Aspects:
- There remains uncertainty about whether any future firmware updates might allow changes to pin configurations or disable pull-ups.
- Further investigation may be needed regarding potential hardware revisions that could provide more flexibility in pin usage.
By following these steps, users can better diagnose and potentially resolve issues related to using legacy SDMMC pins as GPIOs on the Nvidia Jetson Orin Nano Dev board.