Imx6ul CPU Temp Sense: Difference between revisions

From embeddedTS Manuals
(Lowered heading number for these sections. Removed generic header, going to rename this page.)
(Removed references to ADC)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
==== ADC ====
The i.MX6UL CPU has an internal TEMPMON peripheral that is supported by [https://www.kernel.org/doc/html/latest/driver-api/thermal/sysfs-api.html Linux's Thermal Zone management]. This on-die sensor is meant to measure of the thermal state of the CPU for throttling control. This can be read via the Linux kernel's [https://en.wikipedia.org/wiki/Sysfs sysfs] (/sys) interface. The following command returns the temperature in millicelsius:
 
The i.MX6UL Low Resolution ADC (LRADC) has an internal temperature sensing channel for monitoring die temperatures. This temperature sensor is likely implemented internally as a diode based sensor. The status of the temperature sensor can be read through the [https://www.kernel.org/doc/html/v4.14/driver-api/iio/index.html Linux Industrial I/O Subsystem] (IIO), which provides the simplest API via [https://en.wikipedia.org/wiki/Sysfs sysfs] (/sys) The following command returns temperature in millicelsius:
<source lang=bash>
cat /sys/bus/iio/devices/iio:device0/in_temp_input
</source>
 
==== Thermal Zone ====
 
The i.MX6UL CPU has an internal TEMPMON peripheral that is supported by [https://www.kernel.org/doc/html/latest/driver-api/thermal/sysfs-api.html Linux's Thermal Zone management]. This sensor is embedded more toward the center of the die and therefore reads hotter than its ADC counterpart as it is meant to be reflective of the thermal state of the CPU for throttling control. This can be read similarly to the ADC counterpart above using [https://en.wikipedia.org/wiki/Sysfs sysfs] (/sys). The following command returns the temperature in millicelsius:
<source lang=bash>
<source lang=bash>
cat /sys/class/thermal/thermal_zone0/temp
cat /sys/class/thermal/thermal_zone0/temp
</source>
</source>

Latest revision as of 15:20, 30 December 2020

The i.MX6UL CPU has an internal TEMPMON peripheral that is supported by Linux's Thermal Zone management. This on-die sensor is meant to measure of the thermal state of the CPU for throttling control. This can be read via the Linux kernel's sysfs (/sys) interface. The following command returns the temperature in millicelsius:

cat /sys/class/thermal/thermal_zone0/temp