Thermal Management

Hi, as a working student I have to understand the thermal management with the Jetson AGX Xavier and try to change the HW/SW throttling at a specific temperature. After some days of research (mostly here) I still don’t really understand how this all works and especially how to change this. (For Example MAXN-Mode with Throttling at 50°C)

Needlessly to say I’m pretty new to this stuff and I hope someone could help me.

hello Bujakaa,

there’re hardware/software throttling,
it’s start with SW throttling to reduce the clock rate in order to slowdown the target; HW throttling trigger device shutdown if the thermal still increasing,
you should also check Thermal Specifications for details. it’s device tree properties to define the trip points.

Hello JerryChang,

I don’t really get what the “device tree properties” are and how I can see them the way they are explained on this site.

I’ve found the thermal_zones which I modified in some ways. I am using the MAXN-Mode and modified the trip_point_6_temp.txt (passive) from 90000 to 45000. It sometimes works and the temp. is ±1°C from 45°C. But after another try it went straight to 50°C without throttling down anything. (I turned off the fan for this purpose)
Is there a way to make a “soft” SW throttling?

Is there a way I can create a new power mode (a MAXN-Mode copy), where I can change the SW throttling permanently?

hello Bujakaa,

it means each variable in the device tree,
for example, temperature, type, and hysteresis, they’re device tree properties of the trip_critical{} field.

    trips {
        trip_critical {
            temperature = <93500>;
            type = "critical";
            hysteresis = <0>;

I would like to double confirm your steps to update the device tree settings.
for example, had you running manually and calling -k kernel-dtb to update device tree blob? i.e. $ sudo ./ -r -k kernel-dtb jetson-xavier mmcblk0p1
or, there’s another approach by using cboot functionality, you may add FDT entry in the /boot/extlinux/extlinux.conf, to assign the device tree binary.