imx6q CPU thermal sensor wrong?

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

imx6q CPU thermal sensor wrong?

3,253 Views
chuanyanyin
Contributor III

When I run ott with android 4.0.4, the kernel always report  "Chip is too hot ...." , And I got wrong cpu temperature "Invalid temperature, force it to 25C"

Thermal calibration data is 0x4e67d, cpu info is

cpuinfo

Processor       : ARMv7 Processor rev 10 (v7l)

processor       : 0

BogoMIPS        : 1988.29

processor       : 1

BogoMIPS        : 1988.29

processor       : 2

BogoMIPS        : 1988.29

processor       : 3

BogoMIPS        : 1988.29

Features        : swp half thumb fastmult vfp edsp neon vfpv3

CPU implementer : 0x41

CPU architecture: 7

CPU variant     : 0x2

CPU part        : 0xc09

CPU revision    : 10

Hardware        : Freescale i.MX 6Quad/DualLite OTT TV BOX Board

Revision        : 63011

Serial          : a265d1d4d72d7819

Is the mx6 burn with wrong Thermal calibration data?

Labels (3)
0 Kudos
Reply
1 Reply

759 Views
Chris1z
Contributor III

4.0.4 is pretty old.  You will want to go look in the 4.3.1-1.1.0-ga branch or something newer.  There are changes to the kernel and u-boot to use a global thermal equation (instead of the inaccurate calibration values stored in the fuses).   Look in these files:

kernel:

drivers/mxc/thermal/thermal.c

u-boot:

cpu/arm_cortexa8/mx6/generic.c

With that said, you still may see these thermal warning with these patches if your design is not well ventilated or has a heat sink.  Once you have those patches, you can also monitor the iMX6 thermal sensor by using these sysfs:

# turn on thermal log (print to console every two seconds)

echo 2 > /sys/module/thermal/parameters/debug_mask

# turn off thermal log

echo 0 > /sys/module/thermal/parameters/debug_mask

# print out current temp once

cat /sys/class/thermal/thermal_zone0/temp

0 Kudos
Reply