Changes

Jump to: navigation, search

Thermal management (Axel)

1,566 bytes added, 14:44, 15 April 2016
XELK 3.x.y series
==Software thermal protection==
===Axel Embedded Linux Kit(XELK)===Two In [[Axel_Embedded_Linux_Kit_(XELK)|XELK]], two software thermal protection mechanisms are implemented. Both are based on the processor's temperature sensor. Being the product based on industrial version of iMX6, its It is worth remembering that maximum junction temperature (also denoted as Tj in the rest of the document) is :*95°C for commercial parts*105°Cfor extended commercial and industrial parts*125°C for automotive parts.
====U-Boot====At U-Boot level, automatic boot procedure is halted until Tj is smaller than (following temperatures might seem excessively low but they take into account the intrinsic poor precision of the temperature sensor to provide a reasonable safe margin).:*80°C for commercial parts*90°C 90 for extended commercial and industrial grade processorsparts*?°C 110°C for grade processorsautomotive parts.
====Linux kernel====
At Linux level, a more sophisticated protection mechanism is implemented. Please refer to the following sections for more details.
At Linux level, a more sophisticated protection mechanism - that can be accessed via <code>sysfs</code> - is implemented. For more details about this functionality, please refer to <code>Documentation/thermal/sysfs-api=====XELK 2.txt</code> in the kernel sourcesx.y series=====Practically speaking, for [[Axel_Embedded_Linux_Kit_(XELK)#XELK_software_components|XELK 2.x.y series]] this mechanism makes use of two different thresholds, denoted as <code>trip_point0</code> (also known as ''passive threshold'') and <code>trip_point1</code>(also known as ''critical threshold''. When Tj reaches <code>trip_point0</code>, Linux kernel scales down processor frequency:
<pre>
System is too hot. GPU3D will work at 1/64 clock.
</pre>
By default, temperature thresholds are set up as follows:*<code>trip_point0</code>: 85°C*<code>trip_point1</code>: 100°C. Trip point thresholds can be accessed via <code>sysfs</code> interface from user space. The following example shows how to read the values of the trip points:
<pre>
root@imx6qsabresdaxel-lite:~# cat /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp
85000
root@imx6qsabresdaxel-lite:~# cat /sys/devices/virtual/thermal/thermal_zone0/trip_point_1_temp
100000
</pre>
 
This example shows how to set trip points 0 and 1 to 95°C and 100°C respectively:
<pre>
echo 100000 > /sys/class/thermal/thermal_zone0/trip_point_1_temp
</pre>
{{ImportantMessage|text=Please note that
*it is possible to set up trip points greater than the maximum junction temperature indicated by manufacturer datasheet
*exceeding maximum junction temperature indicated by manufacturer datasheet may cause permanent damage
}}
To read current processor temperature please issue this command (reported temperature is 36.676°Cin the example):
<pre>
36676
</pre>
 
For more details about this functionality, please refer to <code>Documentation/thermal/sysfs-api.txt</code> in the kernel sources.
 
=====XELK 3.x.y series=====
XELK 3.x.y kernels implement the same mechanism of XELK 2.x.y series. However a notable difference exists, that is default temperature thresholds depend on the silicon grade, as follows:
*for commercial parts
** passive threshold: 85°C
** critical threshold: 90°C
*for extended commercial and industrial parts
** passive threshold: 95°C
** critical threshold: 100°C
*for automotive parts
** passive threshold: 115°C
** critical threshold: 120°C.
 
==Related links==
*[[Power_consumption_(AxelLite)|Power consumption of AxelLite SOM]]
*[[FAQs_(Axel)|SoC frequency management]]
*[[Power_management_(Axel)|Power management of Axel product family]].
4,650
edits

Navigation menu