Hello,
Our hardware team asked that I reduce the trip points for the thermal monitoring on our imx8mq board based on the EVK design. I've updated the trip points with the following in an attempt to set the requested temperatures:
&cpu_thermal {
trips {
cpu_alert: cpu-alert {
temperature = <75000>;
hysteresis = <2000>;
type = "passive";
};
cpu-crit {
temperature = <85000>;
hysteresis = <2000>;
type = "critical";
};
};
However, the board still shows 9500 for alert, and 105000 for critical in /sys/class/thermal/thermal_zone0/trip_point_*.
What's odd is that the devicetree node under /sys/firmware (or /proc/device-tree) also has 95000/105000. (Seen in /sys/firmware/devicetree/base/thermal-zones/cpu-thermal/trips/cpu-*/temperature)
# xxd /sys/firmware/devicetree/base/thermal-zones/cpu-thermal/trips/cpu-alert/temperature
00000000: 0001 7318
But when I decompile the devicetree, it has the values I set in the devicetree source.
dtc -I dtb -O dts imx8mq-custom.dtb -o test.dts
cpu-alert {
temperature = <0xfde8>;
hysteresis = <0x7d0>;
type = "passive";
phandle = <0x0a>;
};
cpu-crit {
temperature = <0x14c08>;
For some reason, the kernel is ignoring my devicetree. This is further evident by the fact that it doesn't even report the values from imx8mq.dtsi - 80000/90000.
I've tried adding logging to qoriq_thermal.c and thermal_of.c to try to figure out where this is coming from, but all logs report 95000/105000.
I'm using the 6.6 kernel from the scarthgap BSP. I also changed the u-boot device tree and verified that u-boot does see those changes.
What is the correct process for modifying the thermal trip points?
This is similar to the issue below, but there wasn't a solution to draw from:
https://community.nxp.com/t5/i-MX-Processors/imx8mp-reading-temperature-in-devicetree-trips-heat-han...