View Issue Details

IDProjectCategoryView StatusLast Update
0004582fsimx_LinuxGeneralpublic2023-07-19 08:02
Reportergerbach Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Versionfsimx8mm-B2020.08 
Target Versionfsimx8mx-Y2020.11-preFixed in Versionfsimx8mm-B2021.06 
Summary0004582: i.MX8MM Industrial CPUs with a critical temperature of 105C shut down at 95C
Descriptioni.MX8MM CPUs with an Industrial temperature grade (-40C to 105C) shut down at a temperature of 95C in linux at the temerature test. Uboot seems to recognize the temerature grade correctly:

CPU: Industrial temperature grade (-40C to 105C)

But Linux uses the wrong values:

thermal thermal_zone0: critical temperature reached (95 C), shutting down
Forum Link

Activities

gerbach

2021-01-07 09:21

developer   ~0003338

The i.MX8MM processors seem to use a diffrent linux-driver than the other CPUS:
drivers/thermal/imx8mm_thermal.c

This driver does not get the temperature grade dynamicly, but reads it from the imx8mm.dtsi where it is hard coded:

    thermal-zones {
        cpu-thermal {
            polling-delay-passive = <250>;
            polling-delay = <2000>;
            thermal-sensors = <&tmu>;
            trips {
                cpu_alert0: trip0 {
                    temperature = <85000>;
                    hysteresis = <2000>;
                    type = "passive";
                };

                cpu_crit0: trip1 {
                    temperature = <95000>;
                    hysteresis = <2000>;
                    type = "critical";
                };
            };

One solution would be to adapt the devicetree from Uboot dynamicly with the right temerature grade.

&cpu_alert0{
    temperature = <95000>;
    hysteresis = <2000>;
    type = "passive";
};

&cpu_crit0{
    temperature = <105000>;
    hysteresis = <2000>;
    type = "critical";
};

gerbach

2023-07-19 08:02

developer   ~0004496

Uboot git commit: b0e420a Add dynamic setting of cpu temp ranges for fsimx8mm