Hello community,
I use a custom hardware design with i.MX8M Mini and 4GB RAM.
We have updated from Android11 2.0.0 to Android11 2.6.0 version and discovered sporadic GPU crashes with the 2.6.0 version. 2.0.0 runs stable.
Further investigation showed, that with 2.6.0 the temperature measured with the CPU thermal zone (TMU) gets much higher as with the 2.0.0 version when running a stress test on the CPU. CPU scales up to 1.8GHz.
2.0.0 stays around 60 degrees, 2.6.0 goes up and above 85 degrees. GPU gets throttled by the driver and seldomly crashes.
Temperature is read out through the "/sys/class/thermal/thermal_zone0/temp" file.
As wanted to check the temperature in bootloader I discovered, that the 2.6.0 version does not activate the IMX_TMU driver in u-boot for the i.MX8MM. The 2.0.0 did this.
After activating the option in bootloader of the 2.6.0 version, the temperature on the board stays around 60 degress when running a stress test under Android. Even when the CPU scales up to 1.8GHz.
I have observed no GPU crashes up to now, but this is still under testing.
So my questions:
- Why is the TMU driver for the u-boot disabled in 2.6.0?
- Does anybody have an explanation why the TMU driver in bootloader seems to solve temperature issues when running Android? Is the sensor simply measuring wrong values because of a missing calibration? But GPU crashes indicate, that the 85 degrees are really reached.
BTW:
I have tried the 2.6.0 prebuild demo images on a EVK i.MX8M Mini board with mipi display and discovered that no CPU frequency governor gets installed and CPU stays at 1.2GHz even when running a stress test.
With this low frequency the CPU does not get so hot as on our custom board.
Is this intended behaviour on the EVK?