Jetson Orin Nano IRQ Issue with Custom Baseboard
Issue Overview
Users with custom baseboards for the Nvidia Jetson Orin Nano are experiencing an issue where GPIO pins configured as interrupt request (IRQ) lines for I/O expanders keep reporting IRQs even when there is no voltage change. This behavior differs from the Xavier NX, which uses a similar design. Specifically:
- GPIO03 and GPIO05 are set as IRQ pins for I/O expanders
- These pins continuously report IRQs without any actual voltage changes
- The system logs show "too many ignored irq" messages shortly after driver probe
- The issue impacts the functionality of connected I/O expander devices
Possible Causes
- Hardware incompatibility between the custom baseboard and Orin Nano module
- Firmware or software bug in the Jetson Linux (L4T) release
- Incorrect pin configuration or device tree setup
- Driver issues with the I/O expander or GPIO subsystem
- Electrical noise or signal integrity problems on the custom board
Troubleshooting Steps, Solutions & Fixes
-
Verify hardware connections:
- Double-check the physical connections between the Orin Nano module and the custom baseboard
- Ensure proper power supply and ground connections
-
Update Jetson Linux:
- Upgrade to the latest L4T release (currently using 35.3.1)
- Check NVIDIA’s release notes for any known issues or fixes related to GPIO or I/O expander functionality
-
Review and modify device tree:
- Examine the provided device tree snippet for the I/O expanders
- Verify that the interrupt parent, interrupt line, and GPIO configurations are correct
- Try changing the interrupt type from
IRQ_TYPE_LEVEL_LOW
to edge-triggered (IRQ_TYPE_EDGE_FALLING
orIRQ_TYPE_EDGE_RISING
)
-
Adjust driver probing order:
- Modify the device tree to ensure proper initialization order of drivers
- Consider adding dependencies or delaying the probe of the I/O expander driver
-
Investigate signal integrity:
- Use an oscilloscope to monitor the GPIO lines for noise or unexpected behavior
- Add pull-up or pull-down resistors to the IRQ lines if not already present
-
Disable interrupts temporarily:
- Modify the driver to mask or disable interrupts after a certain number of spurious IRQs
- Implement a software debounce mechanism in the driver
-
Kernel parameter adjustment:
- Try booting with the
irqpoll
kernel parameter as suggested in the error message - Add
irqpoll
to the kernel command line in the bootloader configuration
- Try booting with the
-
Analyze kernel logs:
- Capture a complete kernel log (dmesg) during boot and operation
- Look for additional error messages or warnings related to GPIO, interrupts, or I/O expanders
-
Test with minimal configuration:
- Disable other peripherals and drivers to isolate the issue
- Create a minimal device tree overlay with only the essential components
-
Compare with reference design:
- Review NVIDIA’s reference design for the Orin Nano carrier board
- Identify any differences in circuit design or component selection that may contribute to the issue
-
Consult NVIDIA Developer Forums:
- Post detailed information about the custom baseboard and the issue on the NVIDIA Developer Forums
- Include relevant code snippets, logs, and hardware descriptions
If these steps do not resolve the issue, consider reaching out to NVIDIA support for further assistance, as this may be a platform-specific bug requiring a fix in the Jetson Linux distribution.