Hello,
I'm using the Freescale Linux 3.0.35_4.0.0 BSP on our customized board.
Our i.MX6 solo/dual board will auto reset while running the memtester (the memory test tool).
I use a multimeter to measure the temperature of i.MX6x processor, and I find out whenever it resets the temperature reaches over 72 Celsius degree (CPU surface temperature).
Afterwards start Linux again in U-Boot, Linux will autoreset after "calling init_per_zone_wmark_min+0x0/0x90" (full booting log is in attachment).
I've done another experiment by cooling the board with fan. the CPU surface temperature remains about 40 Celsius degree, and Linux boot success and memtester without problem.
Also, by accident I find out, if the PCIe is disabled completely the Linux will run without problem too.
I'm not sure if the reset is caused by some high-temperature protection feature in the BSP, or caused by memory unstable when temperature goes high.
Does anyone has a similar problem? Thanks in advance.
Original Attachment has been moved to: i.MX6_boot_fail.zip
Weiping
This discussion is closed since no activity. If you still need help, please feel free to reply with an update to this discussion, or create another discussion.
Thanks,
Yixing
Weiping
Had your issue got resolved? If yes, we are going to close the discussion in 3 days. If you still need help, please feel
free to reply with an update to this discussion.
Thanks,
Yixing
Hi,
Our default reset temperature is 100 C, so I don't think it is caused by thermal driver, if the reset is caused by thermal driver, there will be log message output as below, and the reset reason will be WDOG which you can see from uboot log.
Chip is too hot, reboot!!!
From your log, there are somethings wrong, first, the CPU freq should be 996MHz, not 1008M, there is bug in uboot of setting cpu freq, please see attached patch to fix it.
I saw the temp is over 100C under your uboot. Our uboot has temp protection, if temp > 80C, uboot will not boot up kernel. So you are using your own uboot right? Not our linux 4.0.0 release's uboot.
Hi,
Yes, Linux has temp protection. You can manually change the temp at which the CPU resets by writing to the following files:
/sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp
/sys/devices/virtual/thermal/thermal_zone0/trip_point_1_temp
/sys/devices/virtual/thermal/thermal_zone0/trip_point_2_temp
I believe one of them is at 80°C, so, if you are measuring 72°C outside the processor, it is possible that the die is actually around 80.
Now, if you have a temp issue in your board, it could be due to the PCB design. How many ground planes do you have in your board? Are all the ground pins of the i.MX6 strongly connected to these planes? Are your ground and power planes big enough to handle the current needed? Do you want me to take a look at the design?
Best regards.
Jorge.
Hi,
How to change the trip_point_1_temp beyond 85C. The file can be modified upto 85C. I'm interested in temperature measurements beyond 85C.
Thanks,
Satish
I believe JorgeRama_rezRivero can provide a better input but on Android, the reset is caused by the Kernel. It is a protection to avoid overheating.
Leo