[i.MX93][thermal] i.MX93 cpu tthermal trip is wrong

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[i.MX93][thermal] i.MX93 cpu tthermal trip is wrong

Jump to solution
79 Views
yoooh8668
Contributor III

Hi,

i.MX93 thermal trip is wrong in imx93.dtsi

        thermal-zones {
                cpu-thermal {
                        polling-delay-passive = <250>;
                        polling-delay = <2000>;

                        thermal-sensors = <&tmu 0>;

                        trips {
                                cpu_alert: cpu-alert {
                                        temperature = <80000>;
                                        hysteresis = <2000>;
                                        type = "passive";
                                };

                                cpu_crit: cpu-crit {
                                        temperature = <90000>;
                                        hysteresis = <2000>;
                                        type = "critical";
                                };
                };

                        cooling-maps {
                                map0 {
                                        trip = <&cpu_alert>;
                                        cooling-device =
                                                <&A55_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
                                                <&A55_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
                                };
                        };
                };
        };

 

It's 80 degree on alert, 90 degree on crit.

It's different from u-boot log

u32 get_cpu_temp_grade(int *minc, int *maxc)
{
        int ret;
        u32 val;
        ret = fuse_read(2, 3, &val);
        if (ret)
                val = 0; /* If read fuse failed, return as blank fuse */

        val >>= 4;
        val &= 0x3;

        if (minc && maxc) {
                if (val == TEMP_AUTOMOTIVE) {
                        *minc = -40;
                        *maxc = 125;
                } else if (val == TEMP_INDUSTRIAL) {
                        *minc = -40;
                        *maxc = 105;
                } else if (val == TEMP_EXTCOMMERCIAL) {
                        if (is_imx93()){
                                /* imx93 only has extended industrial*/
                                *minc = -40;
                                *maxc = 125;
                        } else {
                                *minc = -20;
                                *maxc = 105;
                        }
                } else {
                        *minc = 0;
                        *maxc = 95;
                }
        }
        return val;
}

Which i.MX8M PLUS remains the same as commercial grade.

-------

This leads to kernel reboot when it reach to 90 degree.

And branch 'lf-6.6.y' is not change yet.

Does this setting has some consideration?

Or I can just modify by my self?

 

Tags (2)
0 Kudos
1 Solution
53 Views
Chavira
NXP TechSupport
NXP TechSupport

Hi, @yoooh8668!
Thank you for contacting NXP Support!

For alert and critical temperatures you have to adjust the temperatures on iMX93.dtsi or iMX8MP.dtsi.

By default, we configure the device at a temperature that we consider safe to use the processor but you can modify the Thermal zones in the device tree.

Best Regards!
Chavira

View solution in original post

0 Kudos
1 Reply
54 Views
Chavira
NXP TechSupport
NXP TechSupport

Hi, @yoooh8668!
Thank you for contacting NXP Support!

For alert and critical temperatures you have to adjust the temperatures on iMX93.dtsi or iMX8MP.dtsi.

By default, we configure the device at a temperature that we consider safe to use the processor but you can modify the Thermal zones in the device tree.

Best Regards!
Chavira

0 Kudos