We are using custom carrier board for the Jetson Agx Xavier. Custom carrier board has some differences from the development kit’s board based on our project’s needs (those are mostly related to USB connections, PCIe interfaces, etc.). Using the board we are always able to successfully flash Jetson with Jetson Linux version up to 32.7.3. Flashing process fails if we try Jetson Linux version 34.1.0 or newer. The same Jetson module using the same flashing procedure can be flashed if it’s attached to a carrier board which came with the development kit; however Jetson will then not boot when after flashing it is attached back to our custom carrier board. What could be the reason for this failure? Can we tell something from the “BIT boot status dump” in the serial output? What exact type of boot device is it referring to here: “Unsupported boot-device: 0x00000003”?
The following is the output (a few last lines of it before it fails) of the call to flash.sh:
Thank you for the reply, WayneWWW. The reason I have tried 34.1.0 was I went back version by version to pinpoint exactly at which point Jetson started failing to be updated - this was the version. I have just tried with 35.3.1 again. Here are the results.
[0017.200] W> RATCHET: MB1 binary ratchet value 4 is larger than ratchet level 2 from HW fuses.
[0017.208] I> MB1 (prd-version: 18.104.22.168-t194-41334769-cab45716)
[0017.213] I> Boot-mode: Platform RCM
[0017.217] I> Platform: Silicon
[0017.219] I> Chip revision : A02P
[0017.222] I> Bootrom patch version : 15 (correctly patched)
[0017.228] I> ATE fuse revision : 0x200
[0017.231] I> Ram repair fuse : 0x1
[0017.234] I> Ram Code : 0x2
[0017.237] I> rst_source: 0x0, rst_level: 0x0
[0017.242] I> USB configuration success
[0019.442] I> mb2 image downloaded
[0019.526] I> Recovery boot mode 0
[0019.529] E> Unsupported boot-device: 0x00000003
[0019.535] I> UPHY full init done
[0019.542] I> MB1 done
[0019.547] I> Welcome to MB2(TBoot-BPMP) Applet (version: default.t194-mobile-d394e178)
[0019.555] I> DMA Heap @ [0x40020000 - 0x40065800]
[0019.559] I> Default Heap @ [0xd486400 - 0xd48a400]
[0019.564] W> Profiler not initialized
[0019.624] I> sdmmc DDR50 mode
[0019.629] E> SPI_FLASH: Invalid value device id: 7.
[0019.633] I> QSPI Flash is not present.
[0019.640] E> CLK_RST: instance 6 not found in module 44.
[0019.644] E> MPhy CAR configuration failed error = 1747992077
[0019.650] E> UFS initialization failed
[0019.653] I> UFS is not present
[0019.660] I> Found 17 partitions in SDMMC_BOOT (instance 3)
[0019.669] I> Found 42 partitions in SDMMC_USER (instance 3)
[0019.674] W> Profiler not initialized
[0019.677] I> Entering 3p server
[0019.681] I> USB configuration success
[0020.845] I> Populate chip info
[0020.929] I> Populate eeprom info
[0020.933] I> Populate eeprom info for module cvm
[0020.938] > DEVICE_PROD: device prod is not initialized.
[0021.145] I> Rebooting : reboot-recovery
[0021.149] I> Reset to recovery mode
[0134.642] W> RATCHET: MB1 binary ratchet value 4 is larger than ratchet level 2 from HW fuses.
[0134.650] I> MB1 (prd-version: 22.214.171.124-t194-41334769-cab45716)
[0134.656] I> Boot-mode: RCM
[0134.658] I> Platform: Silicon
[0134.661] I> Chip revision : A02P
[0134.664] I> Bootrom patch version : 15 (correctly patched)
[0134.669] I> ATE fuse revision : 0x200
[0134.673] I> Ram repair fuse : 0x1
[0134.676] I> Ram Code : 0x2
[0134.678] I> rst_source: 0xb, rst_level: 0x1
[0134.683] I> USB configuration success
[0136.819] I> bct_bootrom image downloaded
[0136.828] W> PROD_CONFIG: device prod data is empty in MB1 BCT.
[0136.835] I> Temperature = 38500
[0136.838] W> Skipping boost for clk: BPMP_CPU_NIC
[0136.842] W> Skipping boost for clk: BPMP_APB
[0136.846] W> Skipping boost for clk: AXI_CBB
[0136.850] W> Skipping boost for clk: AON_CPU_NIC
[0136.855] W> Skipping boost for clk: CAN1
[0136.858] W> Skipping boost for clk: CAN2
[0136.863] E> Unsupported boot-device: 0x00000003
[0136.867] E> Unsupported boot-device: 0x00000003
[0136.871] C> Invalid boot-device
[0136.874] C> Task 0x3f failed (err: 0x82820202)
[0136.879] E> Top caller module: STORAGE_CONFIG, error module: STORAGE_CONFIG, reason: 0x02, aux_info: 0x02
[0136.888] C> Error: 0x82820202
[0136.891] C> MB1(126.96.36.199-t194-41334769-cab45716) BIT boot status dump : 0000000000111111111001000000000001111011111100000011111111111110000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000100000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000
[0136.920] I> Reset to recovery mode
One of the major changes starting with 34.1.0 seems to have been introduction of UEFI Bootloader. Maybe that could be somehow related? Maybe something is missing in our custom carrier board for >34.1.0 to work out-of-the-box and it has to be configured accordingly?
Thank you for the suggestions, WayneWWW and Trumany. The problem has indeed turned out to be related to boot strapping pins. We had UART1_TX, UART1_RTS, UART2_TX, UART2_RTS connected to the inputs of the SN74AVC24T245ZRGR level converter and pins UART4_TX, UART4_RTS connected to lower voltage side of the TXS0108ERGYR bi-directional level converter (other side of it was not driven by anything and we expected it to not impact the boot process, especially after it did not cause problems with older L4T versions). We have now first de-soldered SN74AVC24T245ZRGR and the problem remained. After de-soldering TXS0108ERGYR too we are able to flash and boot Jetson with custom carrier board and the latest 35.3.1 L4T.