Jetson UEFI firmware hangs on custom carrier board

Hi,
I try to flash Xavier NX SOM + custom carrier board with JP5.0.2 .

I’m trying to use custom dtb and at least get a prompt or gui.

Upon booting the SOM halts on the following line:
Jetson UEFI firmware (version 1.0-d7fb19b built on 2022-08-10T20:18:13-07:00)
and then a couple of empty lines.

I look for some direction to solve this issue and successfully boot the target (it worked with the same dtb in JP 4.6)

Thanks

boot serial log:
boot.log (15.1 KB)

Please try to build UEFI debug build, replace the old UEFI binary and reflash your board.

This will enable debug log.

Thank you.
I set the eeprom cvs read size to 0 and replaced the UEFI with the debug version.

boot log:
boot.log (68.9 KB)

(If its ok , another small question “on the way” plz: why I have 2 copies of tegra194-mb1-bct-misc-l4t.cfg and tegra194-mb1-bct-misc-flash.cfg , a pair in bootloader and a pair in bootloader/t186ref/BCT)

Thanks again

What device tree change have you added?

[11:05:42:606] ParseGicMsiBase: cannot retrieve property ‘msi-parent’: FDT_ERR_NOTFOUND␍␊

I use the same device tree that I used in JP4.6 built from the following sources:

tegra194-my_board.dtsi (5.0 KB)
tegra194-my_board-disp.dtsi (2.6 KB)
tegra194-p3668-all-my_board.dts (936 Bytes)

No, you shouldn’t use the device tree from jp4.6.

You should use jp5.0.1 device tree and port what you need. When such large change comes, you cannot directly copy the device tree from old kernel.

Also, I don’t actually think you need to change anything in device tree for PCIe…

Ok thank you.
I’m new in this subject and never edited device tree sources by myself.
Maybe you have any recommendation regarding how to start “attacking” this issue for a beginner?

I don’t have an old working device tree for my custom board from JP5.X.
The latest that working is the one I just sent so in other words I have to port the one from JP4.6 to work with JP5.X

So who wrote this device tree for your custom board when it was jp4.6?

Someone else that can’t help anymore =)
I need to learn this by myself.

Until I’ll manage to make the appropriate changes, I tried using the jetson-xavier-nx-devkit-emmc.conf which uses a non custom dtb.

I get the same UEFI hang problem but I think that with other error. I expected to get at least a serial shell in case everything works fine without graphics.

UEFI boot.log:
UEFI_boot.log (95.7 KB)

Thanks

Could you reboot multiple times and see if you always get stuck with same log?

Also, could you clarify what you’ve changed in bct files so that I can make sure you really disable the CVB eeprom?

Hi,
Now it stuck with: ParseGicMsiBase: cannot retrieve property ‘msi-parent’: FDT_ERR_NOTFOUND

  1. CVB files after changes:
    cvb.log (16.0 KB)

  2. flash log:
    flash.log (71.7 KB)

  3. boot log:
    boot.log (69.1 KB)

I used the command: sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1

Hi,

Did you ever change the dtb or it is from pure jetpack?

The dtb is pure but I use a custom carrier board , not a devkit. Is that the problem?
I did modified the UEFI for the debug release

If you don’t enable debug build UEFI, will it print this “ParseGicMsiBase: cannot retrieve property ‘msi-parent’: FDT_ERR_NOTFOUND” error?

No.

UEFI_boot.log (16.2 KB)

Is your custom board disabled any pcie device in comparison with the devkit case?

For example, some pcie lines are not in use on your board but existed on devkit.

No. I know this because when I compare the JP4.6 custom dtb and the orig dtb there are no differences related to pcie. I’m taking JP4.6 as an example because it works for me.

There are differences related to disabling HDMI and using DP instead.

Does your devkit arrive? Are you able to use same UEFI debug binary and same module to check if devkit also give you "“msi-parent” not found error?

I’ll check it and update. The devkit is SD module not emmc. jetson-xavier-nx-devkit.conf and not jetson-xavier-nx-devkit-emmc.conf

is that ok?