Dear all,
We test AndroidKK4.4.3 in MX6Q_SABRE-SDB
When CPU load increases, case temperature repeats 92 degrees Celsius and 82 degrees Celsius.
I understand that AndroidKK4.4.3 has Thermal driver.
I referred to the following. Each parameter was as follows.
(I used a cat command.)
root@sabresd_6dq:/sys/class/thermal/thermal_zone0
temp ===> 34918
trip_point_0_temp ===> 85000
trip_point_0_type ===> passive
trip_point_1_temp ===> 100000
trip_point_1_type ===> critical
I understand that frequency of CPU and GPU are decreased when the temperature of the CPU reached 85 degrees Celsius.
I was able to change a value of trip_point_0_temp by using echo command.
echo 90000 > /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp
However, I do not understand the change method of the frequency value of CPU and GPU.
Would you tell me the method to set the decreased the frequency of CPU and GPU?
Best Regards,
Yuuki
Solved! Go to Solution.
Hi Yuuki
for frequency changing procedure one can look at driver sources, described
in attached Linux Manual Chapter 26 Thermal Driver. Usually it is changing
CCM dividers, like arm_podf in CACRR[ARM_PODF].
Also Linux Power Management Features described at p.48
Application Note AN4579 (Rev. 0, 11/2012)
"i.MX 6 Series Thermal Management Guidelines"
http://www.freescale.com/files/32bit/doc/app_note/AN4579.pdf
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Yuuki
for frequency changing procedure one can look at driver sources, described
in attached Linux Manual Chapter 26 Thermal Driver. Usually it is changing
CCM dividers, like arm_podf in CACRR[ARM_PODF].
Also Linux Power Management Features described at p.48
Application Note AN4579 (Rev. 0, 11/2012)
"i.MX 6 Series Thermal Management Guidelines"
http://www.freescale.com/files/32bit/doc/app_note/AN4579.pdf
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Dear Igor-san,
Thank you for your support.
I referred to the AN4579.pdf document.
I compare it with imx_thermal.c.
For Thermal Monitor & Protection(P.63),
<Question1>
I understood it as follows.
Is my understanding right?
===============================================
- "Critical" means "IMX_TEMP_CRITICAL" in "imx_thermal.c".
- "Hot" means "IMX_TEM_PASSIVE".
- "Active" means "IMX_TEM_PASSIVE_COOL_DELTA"
===============================================
<Question2>
There are the following descriptions in "Critical".
"The thermal driver checks the temperature, and only permits the system to boot up if the temperature is below 80 ˚ C."
Does "80 ˚ C" mean temperature set in "Active"(IMX_TEM_PASSIVE_COOL_DELTA)?
<Question3>
Can I know it when a system reboots because die temperature reaches the Critical threshold?
(Is there the means that I know it?)
Best Regards,
Yuuki
Hi Yuuki
1.2. I think you are right.
3. it is not possible to know that system reboots because die temperature.
Sources of reset are saved in SRC_SRSR, in general customer can add own
flag (indicating thermal reboot, modifying thermal driver) saved in some register,
like SRC_GPR10.
Best regards
igor