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?
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