10 Troubleshooting Common Hardware and Software Issues
This section outlines the troubleshooting procedures for resolving common issues when integrating the Raspberry Pi Touch Display 2 with the SAMA7D65-Curiosity board using MPLAB Harmony v3. The procedures address DSI pin mismatches, I2C communication failures and touch alignment errors, with considerations for timing requirements and hardware compatibility limitations.
- DSI Pin Mismatches and I2C Communication Failures
- Issues
- The display shows no output, flickering or distorted colors.
- The display backlight is on, but no image is rendered.
- Touch input is unresponsive.
- Troubleshooting
- Verify the pin mapping: check the adapter board schematic to ensure the 15-pin FPC connector (display) is correctly mapped to the 34-pin MIPI DSI connector (J13).
- Check the XLCDC configuration parameters.
- Using a multimeter, check the continuity between the SAMA7D65 I2C pins and the display’s FPC connector.
- Use an I2C scanner to detect the device.
- Issues
- Touch Alignment Errors
- Issues
- Touch coordinates are offset (for example, touching the top left corner registers as touching the bottom right).
- Touch input is inconsistent or jittery.
- Legato graphics library reports incorrect touch events.
- Causes
- Incorrect touch coordinate scaling or transformation in the driver.
- Misconfigured touch controller registers (resolution or orientation, for example).
- Troubleshooting
- Check the touch coordinate scaling: the touch controller reports coordinates in its native resolution. The driver must scale these to the display’s resolution if different. Test by printing raw and scaled coordinates to the UART console.
- Handle orientation: if the touch coordinates are flipped, adjust the transformation in the driver. Alternatively, rotate the display output in the LCDC configuration to match the touch orientation.
- Issues
- General Debugging Tips
- UART logging: add detailed logging to the driver
to trace initialization, I2C transactions and touch events. Use
printfto output to the UART console (J35).
- UART logging: add detailed logging to the driver
to trace initialization, I2C transactions and touch events. Use
