Modifying CAM_I2C_SDA and SCL to Work at 1.8V Instead of 3.3V on the Nvidia Jetson Orin Nano Dev Board
Issue Overview
Users are experiencing difficulties when attempting to modify the CAM_I2C_SDA and SCL pins on the Nvidia Jetson Orin Nano Dev board to operate at 1.8V instead of the default 3.3V. The main symptoms include:
-
Error Messages: Users report receiving errors when running the
jetson-io
tool, specifically stating that it cannot configure pin 3. -
Context of the Problem: The issue arises during attempts to create an overlay for updating the pinmux settings using generated Device Tree Source Interface (DTSI) files.
-
Hardware Specifications: The discussion references the use of JP6 installed on an Orin Nano (version 36.2) and mentions the removal of 2.2k pull-up resistors in an attempt to lower the voltage.
-
Frequency of Occurrence: The issue appears to be consistent among users trying similar modifications.
-
Impact on User Experience: This problem significantly hinders users’ ability to configure their development boards for specific applications that require I2C communication at a lower voltage.
-
Relevant Context: Users have expressed confusion about whether removing pull-up resistors would effectively change the voltage levels, indicating a need for clarity on hardware design requirements.
Possible Causes
The potential causes for this issue include:
-
Hardware Incompatibility: The inability to change voltage levels through pinmux settings suggests that hardware-level adjustments are necessary, such as adding a level shifter.
-
Software Bugs or Conflicts: Issues with the
jetson-io
tool’s ability to parse headers in the overlay files may contribute to configuration errors. -
Configuration Errors: Incorrectly formatted DTSI files or improper setup of pinmux settings may lead to failure in configuring the pins.
-
Driver Issues: If drivers do not support the intended changes, this could also result in errors during configuration attempts.
-
User Misconfiguration: Users may misunderstand how voltage levels can be adjusted, leading them to believe that removing pull-ups would suffice.
Troubleshooting Steps, Solutions & Fixes
To address this issue, users can follow these comprehensive troubleshooting steps and solutions:
-
Verify Hardware Requirements:
- Ensure that a hardware-level shifter is incorporated into your design for converting 3.3V signals to 1.8V.
- Review schematics and confirm that all necessary components are correctly implemented.
-
Check DTSI File Formatting:
- Inspect your DTSI overlay file for proper syntax and formatting. Ensure that all includes and paths are correct.
- Example snippet for checking syntax:
/ { overlay-name = "I2C Level Shift pinmux"; compatible = "nvidia,p3768-0000+p3767-0005"; };
-
Run Diagnostic Commands:
- Use terminal commands to gather information about current pin configurations:
sudo jetson-io query
- This command will help identify if any pins are currently configured incorrectly.
- Use terminal commands to gather information about current pin configurations:
-
Test with Different Configurations:
- Experiment by reintroducing pull-up resistors and observe if error messages persist.
- Try using different versions of the
jetson-io
tool or updating it if necessary.
-
Seek Documentation and Updates:
- Refer to Nvidia’s official documentation for any updates regarding pinmux configurations and supported hardware setups.
- Look for driver updates or firmware upgrades that might resolve compatibility issues.
-
Best Practices for Future Modifications:
- Always consult hardware design guidelines before making changes to voltage levels.
- Document any modifications made during development for future reference and troubleshooting.
-
Community Support:
- Engage with community forums or Nvidia support channels if issues remain unresolved after following these steps.
By following these steps, users should be able to diagnose and potentially resolve issues related to modifying CAM_I2C_SDA and SCL pins on the Nvidia Jetson Orin Nano Dev board effectively.