Change value of cooldown_temp_threshold

Hi, KevinFFF

I have found that bootrom is startup more early than MB1.
and there is some i2c configuration for max20024 which control automatic power cycling.

Can i change the value of the register to disable automatic power cycling
and startup the system imediately?

Automatic power cycling: Set MAX20024

Register ONOFFCNFG2, bit SFT_RST_WK = 1 (default is “0” after cold boot),

Register ONOFFCNFG1, bit SFT_RST = 1

bootrom.aoblock[0].command-retries-count = 1;
bootrom.aoblock[0].delay-between-commands-us = 1;
bootrom.aoblock[0].wait-before-start-bus-clear-us = 1;
bootrom.aoblock[0].block-count = 1;

bootrom.aoblock[0].block[0].type = 0; # I2C Type
bootrom.aoblock[0].block[0].slave-add = 0x3c; # 7BIt:0x3c
bootrom.aoblock[0].block[0].reg-data-size = 8;
bootrom.aoblock[0].block[0].reg-add-size = 8;
bootrom.aoblock[0].block[0].count = 2;
bootrom.aoblock[0].block[0].commands[0].0x42 = 0xda;
bootrom.aoblock[0].block[0].commands[1].0x41 = 0xf8;

Forexample change 0xda to 0x5a and 0xf8 to 0x78

Is it be ok?

Hi, There is no temperature limit in Jetson nano.

Actually, we need it can startup at 95C and 95C is below 101C which is shutdown temperature.

Hi, KevinFFF

From above boot flow, jetson nano boot flow does not have mb1 stage.
So is it the cause?

Hi, KevinFFF

Is there any suggestions?

Thanks!

It seems bootROM is not public for customer to modify.

We would not allow the user to configure higher threshold to prevent the damage to the module.

Our internal developer is still finding if there’s any configuration for 86000.

Hi, KevinFFF

We have two custom board in a project, one is based on jetson nano, the other is based on jetson tx2.

They are always starting up and running simultaneously, so in some environment that they don’t start up together catches attention easily.

Our customers also directly raise the same question, so i am assigned to solve the tricky problem…

The protected temperature is indeed important and difficult to change,just wish it could be a little higher.

Thanks anyway

Does your use case always run at high temperature environment?

Have you tried to configure them to a lower threshold for cooldown_temp_threshold (e.g. 80C degree)?

Hi, KevinFFF

I just mention previous posts, below

When we set the value of cooldown_temp_threshold to 50000 below 86000, it takes effect;

When we set the value of cooldown_tmep_threshold to 99000 exceed 86000, it seems not take effect;

After we start up the system we can see below msg with tegrastates, so we have the conclusion;

RAM 2630/3835MB (lfb 140x4MB) SWAP 0/1917MB (cached 0MB) CPU [74%@960,off,off,79%@961,68%@961,66%@960] EMC_FREQ 29%@1331 GR3D_FREQ 11%@624 NVENC 115 APE 150 PLL@87.5C MCPU@87.5C PMIC@100C Tboard@86C GPU@86.5C BCPU@87.5C thermal@86.9C Tdiode@86.75C VDD_SYS_GPU 711/735 VDD_SYS_SOC 2088/2087 VDD_IN 6947/6959 VDD_SYS_CPU 616/616 VDD_SYS_DDR 1689/1693
RAM 2631/3835MB (lfb 140x4MB) SWAP 0/1917MB (cached 0MB) CPU [78%@959,off,off,77%@959,58%@960,63%@959] EMC_FREQ 29%@1331 GR3D_FREQ 38%@624 NVENC 115 APE 150 PLL@87.5C MCPU@87.5C PMIC@100C Tboard@86C GPU@86.5C BCPU@87.5C thermal@87.1C Tdiode@86.75C VDD_SYS_GPU 711/730 VDD_SYS_SOC 2040/2078 VDD_IN 6923/6951 VDD_SYS_CPU 616/616 VDD_SYS_DDR 1670/1689
RAM 2630/3835MB (lfb 140x4MB) SWAP 0/1917MB (cached 0MB) CPU [76%@961,off,off,75%@960,64%@960,68%@960] EMC_FREQ 29%@1331 GR3D_FREQ 12%@624 NVENC 115 APE 150 PLL@87.5C MCPU@87.5C PMIC@100C Tboard@86C GPU@86.5C BCPU@87.5C thermal@87.1C Tdiode@86.5C VDD_SYS_GPU 711/727 VDD_SYS_SOC 2088/2079 VDD_IN 6947/6951 VDD_SYS_CPU 616/616 VDD_SYS_DDR 1708/1692
RAM 2631/3835MB (lfb 139x4MB) SWAP 0/1917MB (cached 0MB) CPU [73%@960,off,off,79%@961,65%@961,60%@961] EMC_FREQ 28%@1331 GR3D_FREQ 98%@624 NVENC 115 APE 150 PLL@87.5C MCPU@87.5C PMIC@100C Tboard@86C GPU@86.5C BCPU@87.5C thermal@87.1C Tdiode@86.75C VDD_SYS_GPU 711/724 VDD_SYS_SOC 2040/2074 VDD_IN 6852/6936 VDD_SYS_CPU 616/616 VDD_SYS_DDR 1632/1683

If the cpu temperature higher than 86C, for example 96C , we need wait about 5 minutes when system boot resum.

if the cpu temperature 90C, cold boot the module, we wait about 2-3minutes when system boot resume.

In all, when system start up, we run tegrastates, the bcpu temperature is always around 86C;

It seems the value is up limit to 86000 in somewhere ?

Hi, KevinFFF

We just not always run at high temperature environment.

The lower threshold for cooldown_tmep_threshold can be set successfully.

The default threshold 91C at least should take effect ◠◡◠.

It seems cooldown_tmep_threshold could be configured and work if its value lower than 86000.

If you don’t run at high temperature environment.
What’s the purpose for you to set if higher than 860000?

Hi, KevinFFF

Thanks for you answer.

Most of the time, the board don’t run at high temperature.

But it should be able to start up at a certain temperature which is at least default cooldown temperature threshold value. It is one of our customer’s test case actually.

The defalut value of cooldown_temp_threshold is 91C in l4t release, so at least it can be achieved, right?

Thanks.

Do you mean that it is still recovered at 86C even if the default value is 91C?

Could you help to provide the full flash log for further check?

Yes, it is

Below is flash log.

flash_log (326.2 KB)

Could you help to replace Linux_for_Tegra/bootloader/mb1_prod.bin with the following debug binary and reflash the board?
mb1_prod.bin (112.8 KB)

After you update it successfully, please share the full serial console log for further check.

Hi, KevinFFF

I just replace Linux_for_Tegra/bootloader/mb1_prod.bin with this one for jetpack 32.2.1, and then flash entire tx2 4G module.

But the module can not start up, and there is no any print in serial console.

After i change mb1_prod.bin back, flash the mdule; then the module can start up normally.

Is there anything I have missed?

R32.2.1 is quite an old release.
Could you verify with latest R32.7.3?

Hi, KevinFFF

We use Jetson_Linux_R32.7.3_aarch64.tbz2 to flash tx2 4G module.
When we use the default mb1_prod.bin, there is print in serial console.
When use this one mb1_prod.bin, there is no any print in serial console.

Could your board boot up with both binary?
Please share the full serial console log when you use both binaries.

Hi, KevinFFF

Our board can only boot with the default mb1_prod.bin in jetson_Linux_R32.7.3_aarch64.tbz2.

r32.7.3_serial_console_log (51.2 KB)

Could you help to check if this issue still exists with the latest R32.7.4?