Linux auto reboot when temperature is high

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Linux auto reboot when temperature is high

6,404 Views
weiqing
Contributor II

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

Labels (4)
0 Kudos
Reply
6 Replies

2,791 Views
YixingKong
Senior Contributor IV

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

0 Kudos
Reply

2,791 Views
YixingKong
Senior Contributor IV

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

0 Kudos
Reply

2,791 Views
AnsonHuang
NXP Employee
NXP Employee

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.

0 Kudos
Reply

2,791 Views
JorgeRama_rezRi
NXP Employee
NXP Employee

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.

0 Kudos
Reply

2,791 Views
satishpanpaliya
Contributor I

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

0 Kudos
Reply

2,791 Views
LeonardoSandova
Specialist I

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

0 Kudos
Reply