Hello,
We are currently using a custom design based on the IMX6ULL processor for one of our products and are encountering a random issue where the debug console goes blank/CPU Hang.
This issue occurs unpredictably, and we are unable to determine the exact cause due to the lack of debug information. We are using UART1 for debugging, and the COM port is detected on our system.
Additionally, once the hang occurs, we are unable to access the Ethernet port.
Given this, I would like to ask for your insights on the following:
Currently, we are not using the LCD lines, and all lines are left floating, except for the following boot pins:
Could you please advise on the appropriate status we should assign to these pins if the LCD lines are not in use?
Your guidance on this matter would be greatly appreciated.
Hi @arsadhusain
DIGITAL INPUT RECOMMENDATIONS
For unused inputs that are muxed with GPIO :
- Configure pins to be GPIO.
- Configure pins to be inputs.
- Make sure the internal pull up resistors are enabled.
For unused inputs that are not mux-ed with GPIO pins :
- Connect each pin with a 10K Ohm resistor to ground. Here the default status of LCD pins after reset are input gpio.
Best Regards
Zhiming
Dear Zhiming Liu,
Thank you for your prompt response. I appreciate your clarification on the GPIO recommendation.
To ensure understanding, I'd like confirmation on the following:
1. Is the hang issue caused by floating LCD pins?
2. As per the Mux table, LCD pins are multiplexed with GPIO. Should we internally pull up these pins?
3. Are there other pins besides LCD pins requiring attention?
5. If this issue occurs, will watchdog functionality does not work to recover this hang issue?
Looking forward to your detailed response.
Hi
Q1
-->Generally speaking this kind of strange behavior is very likely to be caused by the hardware, you need to check one by one, from the phenomenon you described, the CPU appeared to work abnormally, you should firstly check the working status of the peripheral circuits of the soc hang. Troubleshoot possible wiring problems, such as the unused pin design here.
Q2 &Q3
-->Not sure if you have deleted the default pinctrl config in dts or uboot, you need pull up the input signals internally on software and leave it floating. The input signals could affect it.
For more hardware design note, please refer datasheet and hardware design guide from here:
5. If this issue occurs, will watchdog functionality does not work to recover this hang issue?
-->The Linux kernel has watchdog framework to detect kernel hang issue, but for hardware issue here, there is no such watchdog driver or watchdog setting to handle/reset it.
Best Regards
Zhiming
Hello,
Thanks for your support.
we will check this all LCD pin in firmware side.
But if the kernel was hanged then any watch dog GPIO will give output (low/High pin)? like intimate me through watch dog GPIO. we have external Watchdog reset section in our design which is resetting our system after hang. below is image for reference.
Hi @arsadhusain
But if the kernel was hanged then any watch dog GPIO will give output (low/High pin)?
-->All of this presupposes that the kernel-based watchdog driver can be triggered properly, and from what you've described, it seems that there's something wrong on the hardware side that's preventing the kernel from running properly and thus triggering the watchdog driver.
Best Regards
Zhiming