Hi all,
I can observe a 10°C dispersion on temperature measured from the chip sensor on different iMX boards.
(on imx8mm yocto image, using cat /sys/class/thermal/thermal_zone0/temp)
Here, under same conditions on 2 different chips (chipmin and chipmax):
Tchipmin=58°
Tchipmax=69°
I can also read my chips' TE1 and TE2 temperature values stored in fuses (from the 25°C and 85°C NXP measurement during manufacturing process) :
TE1chipmin=50° TE2chipmin=112°
TE1chipmax=61° TE2chipmax=120°
They follow the same trend : some chips are cooler, some are hotter.
This feels to me like a sensor offset issue which (I hope) can be corrected by calibration.
I tried to follow the software calibration as explained in the RM 5.4.5 Temperature Sensor Error Correction Method. But I'm really lost and confused because of poor explanation and a lack of context :
- what are the conditions of TE1 (room temp) and TE2 (hot temp) measures ? What is CPU load, or power consumption, what is the kernel doing, which image is running ? and are the 2 measurements consistent (under same conditions) ?
- Can we simply apply a slope compensation on the sensor value in a different operating condition, as suggested ?
According to me the temperature error / difference between 2 chips is mainly due to 2 factors : different power consumption / heating (intrinsic, because the chip is physically different) and temp sensor precision. How can we isolate them ? Is it safe to consider it is only due to sensor calibration ?
- Let's try on my 2 chips, chipmin and chipmax samples :
TCALIBchipmin=(58-50)×(85-25)/(112-50)+25=32° ?
TCALIBchipmax=(69-61)×(85-25)/(120-61)+25=33° ?
What is TCALIB meaning ? OK now the values are closer but It's definitely not the chip temp !
- And by the way, what is this reference curve they are talking about ?

We need more context