Thor 低温无法启动

将 Thor 放置在低温 -20°C 一段时间后,上电无法开机,DEBUG 日志只有一段,Prod init 后截止了…

问题复现概率 100%

[0000.096] I> MB1 (version: 0.25.1.1-t264-75019003-d9a316ff)
[0000.096] C> Boot-mode : Coldboot
[0000.097] C> MB1 last_boot_error: 0x0
[0000.097] I> Entry timestamp: 0x00013daa
[0000.099] C> rst_source: 0x0, rst_level: 0x0
[0000.103] I> BR-BCT: preprod_dev_sign: 0
[0000.107] I> Socket mask: 0x1
[0000.110] I> Socket id: 0
[0000.112] I> Chip supports UFS HS mode
[0000.116] I> BR last_boot_error0: 0x0
[0000.119] I> BR last_boot_error1: 0x0
[0000.123] I> BR last_boot_error2: 0x0
[0000.126] I> NVBCT is initialized
[0000.129] I> Task: PSC Mailbox init
[0000.133] I> Task: Bootchain select WAR set
[0000.137] I> Task: Bootchain update marker
[0000.140] I> Task: Send error information to MCU
[0000.145] I> Task: CRC Integrity check
[0000.148] I> Task: Bootrom patch record validation and params check
[0000.155] I> Task: CRC Integrity check
[0000.158] I> Task: SMN Transfer check
[0000.162] I> Task: Initialize UTMI PLL
[0000.165] I> Task: Initialize REF_UFS PLL
[0000.170] I> Task: Crypto init
[0000.172] I> Task: Boost clocks
[0000.175] I> tegrabl_clk_print_clock_freq not supported
[0000.180] I> mb1_clocks_soc_boost_clocks: Switch BPMP_CPU_NIC to NAFLL
[0000.187] I> mb1_clocks_soc_boost_clocks: CLK_SOURCE_AXI_CBB 0x0, bct.axi_cbb_clk_divisor 0
[0000.195] I> Task: Perform MB1 KAT tests
[0000.199] I> Task: NVRNG health check
[0000.202] I> NVRNG: Health check success
[0000.206] I> Task: Secure debug controls
[0000.210] I> Task: Program NV master stream id
[0000.214] I> Task: Enabling and initialization of MSS Bandwidth limiter
[0000.220] I> No request to configure MBWT settings for any PC!
[0000.226] I> Task: Verify boot mode
[0000.229] I> Task: Alias fuses
[0000.232] I> FUSE_ALIAS: Fuse alias on production fused part is not supported.
[0000.239] I> Task: Print SKU type
[0000.242] I> SKU: Floorswept F1
[0000.245] I> Task: Recalibrate SOC vmon
[0000.249] I> vmon adc_cal_revision 4,  min_adc_fuse_rev 1
[0000.254] I> SOC VMON: min_reset 0, max_reset 0
[0000.258] I> SOC VMON ADC_SETUP: 0x00000000 to 0xc0000000
[0000.264] I> SOC VMON: Vmon re-calibration and fine tuning done
[0000.270] I> SOC VMON: min_reset 0, max_reset 0
[0000.274] I> Task: Select UFS ref clk
[0000.277] I> UFS device reference clock programmed to 26 MHz
[0000.283] I> Task: PMC AUX Clamp
[0000.286] I> Task: UPHY lane resets
[0000.289] I> Task: UPHY init
[0000.292] I> Configuring uphy in rate B
[0000.297] I> tegrabl_clk_print_clock_freq not supported
[0000.302] I> tegrabl_clk_print_clock_freq not supported
[0000.306] I> mphy_nv_calib_rev : 0, mphy_nv_calib_aux_val : 0
[0000.312] I> Skipping uphy_instance 1. Not supported yet
[0000.316] I> Skipping uphy_instance 2. Not supported yet
[0000.322] I> Task: Boot device init
[0000.325] I> Boot_device: QSPI_FLASH instance: 0
[0000.329] I> Using QSPI flash params from bct!!
[0000.334] I> PLLC is already locked
[0000.337] I> Qspi clock source : pllc_out0
[0000.341] I> QSPI Flash: Macronix 64MB at index: 5
[0000.347] I> QSPI-0l initialized successfully
[0000.350] I> Task: TSC init
[0000.353] I> Task: Load membct
[0000.355] C> RAM_CODE 0xc
[0000.358] I> Loading MEMBCT
[0000.360] I> Slot: 0
[0000.363] I> Binary[6] block-3840 (partition size: 0x60000)
[0000.368] I> Binary name: MEM-BCT-6
[0000.371] I> Size of crypto header is 8192
[0000.375] I> Size of crypto header is 8192
[0000.379] I> BCH of MEM-BCT-6 read from storage
[0000.384] I> MEM-BCT-6 header integrity check is success
[0000.389] I> Binary magic in BCH component 6 is MEM6
[0000.393] I> component binary type is 6
[0000.398] I> MEM-BCT-6 binary is read from storage
[0000.402] I> MEM-BCT-6 binary integrity check is success
[0000.407] C> RAM_CODE 0xc
[0000.412] C> RAM_CODE 0xc
[0000.413] I> Task: Load Page retirement list
[0000.416] I> DRAM ECC PRL is disabled
[0000.419] I> Task: SDRAM params override
[0000.423] I> Before update: MssEncryptGenKeys: 0x20000000, MssEncryptDistKeys: 0x00000000, McaultEncr: 0x00000000
[0000.433] I> Post update: MssEncryptGenKeys: 0x2000000f, MssEncryptDistKeys: 0x000f000f, McDeltEncr: 0x80000100
[0000.444] I> Task: Save mem-bct info
[0000.447] I> Task: Carveout allocate
[0000.451] I> GR carveout will not be allocated
[0000.455] I> RCM blob carveout will not be allocated
[0000.474] I> Task: Enable WDT 5th expiry
[0000.474] I> Re-Enabling WDT
[0000.474] I> Task: I2C register
[0000.474] I> Task: Fuse Dump
[0000.474] I> opt_ucf_cluster_disable = 0x0
[0000.476] I> opt_c2c_disable = 0x0
[0000.479] I> opt_gpc_disable = 0x0
[0000.483] I> opt_tpc_disable = 0x8
[0000.486] I> opt_fbp_disable = 0x0
[0000.489] I> opt_nvdec_disable = 0x0
[0000.493] I> opt_nvenc_disable = 0x0
[0000.496] I> opt_isp_disable = 0x0
[0000.499] I> opt_mgbe_disable = 0x0
[0000.502] I> opt_fsi_disable = 0x0
[0000.506] I> fsi_ram_repair_enable = 0x1
[0000.509] I> opt_mss_disable = 0x0
[0000.513] I> OPT_IGPU_RESERVED = 0x165
[0000.516] C> BOOT_NV_INFO = 0x30f788
[0000.520] I> BOOTROM_PATCH_VERSION = 0x3
[0000.523] I> PSCROM_PATCH_VERSION = 0x7
[0000.527] I> OPT_ADC_CAL_FUSE_REV = 0x4
[0000.531] I> OPT_SW_L1MAINRST_ENABLE = 0x1
[0000.535] I> OPT_EMPD_CALIB_REV = 0x2
[0000.538] I> OPT_EMPD_CALIB = 0x784
[0000.542] I> OPT_CSDC_ENABLE = 0x0
[0000.545] I> OPT_PV_DAC_CTRL_REV = 0x3
[0000.548] I> OPT_PV_BG_CTRL_DAC_OFFSETS_REV = 0x3
[0000.553] I> opt_ECC_en = 0x1
[0000.556] I> SKU_INFO = 0xa0 (PROD)
[0000.559] C> OPT_SAMPLE_TYPE = 0x3
[0000.562] C> opt_subrevision = 0x2
[0000.565] I> opt_lot_code_0 = 0x107c8185 (rdl)
[0000.570] I> opt_ft_rev = 0x60
[0000.573] I> opt_fuse_file_version = v55
[0000.577] I> slt_info = 0x3
[0000.579] I> cpu_speedo_calib = 0x87f
[0000.582] I> cpu_ht_iddq_calib = 0x70
[0000.586] I> soc_speedo_calib = 0x882
[0000.589] I> soc_ht_iddq_calib = 0x72
[0000.593] I> gpu_speedo_calib = 0x880
[0000.596] I> gpu_ht_iddq_calib = 0x187
[0000.600] I> mss_speedo_calib = 0x871
[0000.603] I> mss_ht_iddq_calib = 0x1973
[0000.607] I> Task: POD config init
[0000.610] I> Task: Reset FSI
[0000.613] I> Task: Update FSI scratch with fuse data
[0000.618] I> Task: Load and update platform data
[0000.622] I> Multi sku not enabled. Using platform data in MB1 BCT
[0000.629] I> Task: Release membct carveout
[0000.632] I> Task: Pinmux init
[0000.636] I> Task: Prod config init
[0000.639] W> PROD_CONFIG: controller prod table is empty in MB1 BCT.
[0000.645] I> Task: Pad voltage init
[0000.648] I> Task: Prod init
[0000.▒▒▒▒▒▒▒
  1. How many Thor devices on your side have this issue?

  2. Is this test based on NV devkit or custom board?

只在我们自己的的定制载板上有问题,请问这个是卡在哪一个阶段?该如何排查?

請問是NV devkit有測試過確定不會發生 還是說你們沒有devkit所以你沒測?

這一段是開機非常前面的mb1階段. 你基本上是沒有太多的方法可以排查 所以才需要跟NV devkit比對

NV devkit 板测试无问题

What RAM_CODE is printed in the debug log when booting on the Dev Kit?

Does your custom board user any of the RAM_CODE pins below as GPIOs? If your carrier does use any of them and the RAM_CODE on the Dev Kit is not 0xc like the log you provided, the carrier’s circuits on these pins may be interfering with the RAM_CODE detected by the module at boot. Since your RAM_CODE is 0xc, the first thing to check would be circuitry on GPIO42 and GPIO17. If you use those pins, try disconnecting them from the module to see if that affects the issue.

A Jetson AGX Orin user in the thread below had problems booting at -20°C on a custom carrier but the same module worked on the NVIDIA Dev Kit carrier also at -20°C. AGX Orin 32G cannot be booted into the system at -20 degrees Celsius