L4T 34.1.1 booting hang issue

Hi all,
I am working on L4T 34.1.1. I have Xavier NX SOM on a custom board. I had it booting earlier with cutom pinmux, padvoltage and device tree. Had some issues with the few interfaces but the board was booting.
Now it is observed that the board flash successfully, but hangs at some point while booting even with the older working setup. I was suspecting it was from rootfs as it was not being flashed properly since i could see kernel prints and then freeze. I used external rootfs and tried many things but seems the issue is not from rootfs. Apart from that no changes were done and I was able to run 32.x JP versions without any issues. Is there anything else changes from older versions to newer L4T 34.1 version? I am compiling stock kernel without any modifications. I have attached debug log and flashing log for reference.
If any additional info is required I can provide.
Jun22_dmesg_debug.log (47.7 KB)
Jun22_flash.log (59.7 KB)


Does it always hang in same error?

Not always the same error but everytime after some kernel prints.

Please set similar parameter to your kernel command line. This will lead us to where it gets hang.

console=none and keep_bootcon

Hi Wayne, it is observed that the issue is from device-tree. If I use stock dtb from nvidia it does boot. I have to use our custom dtb, so need to port device tree from 4.9 kernel to 5.10.

1 Like

Can you share any document on how to port device tree for Jetson Linux 34.1?

What functionality are you asking for?

Hi Wayne,
After debugging, suppose if I enable the UART node ‘uartc: serial@c280000’, the board does not boot. I want to use this UART for my radar application. With older 32.x releases I am enabling this node and it does work as expected. Is there anything else that is affecting this? Or is this UART being used elsewhere?( as per my knowledge it is not used).



Is same error reproducible if you use devkit to enable this uart node?

Sorry, I did not test it with devkit. Devkit isn’t available with us right now. But same setup worked with older releases.

Please at least follow above instructions I shared and give me the log with keep_bootcon in your kernel cmdline.

1 Like

Hi Wayne, I have attached log after enabling keep_bootcon.
Jun30_debug.log (46.4 KB)

Could you reboot this multiple times and see if it is always stuck in same place?

Not at the the same place but most of times during nvdisplay kernel prints.
I am able to boot the board if i disable the node ‘serial@c280000’, I have confirmed this. By default the node is disabled and since I want to use this functionality I have enabled, but the board won’t boot.

I got a devkit setup now ill try to enable this and test it with devkit.


Just want to confirm, which pin do you want to enable here?

As per my understanding it is UART2.
uartc: serial@c280000 {
compatible = “nvidia,tegra186-hsuart”;
iommus = <&smmu TEGRA_SID_GPCDMA_0>;
reg = <0x0 0xc280000 0x0 0x10000>;
reg-shift = <2>;
interrupts = <0 TEGRA194_IRQ_UARTC 0x04>;
nvidia,memory-clients = <14>;
dmas = <&gpcdma 3>, <&gpcdma 3>;
dma-names = “rx”, “tx”;
clocks = <&bpmp_clks TEGRA194_CLK_UARTC>,
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
clock-names = “serial”, “parent”;
assigned-clocks = <&bpmp_clks TEGRA194_CLK_UARTC>;
assigned-clock-parents = <&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
resets = <&bpmp_resets TEGRA194_RESET_UARTC>;
reset-names = “serial”;
nvidia,adjust-baud-rates = <115200 115200 100>;
status = “disabled”;


I feel this is related the bpmp log and the uart log.

Could you convert the bpmp dtb back to dts, remove below one and try again?

-       serial {
-               port = <0x03>;
-               has_input;
-               combined-uart {
-                       enabled;
-               };
-       };

Could you please point me out which dts file I have to modify? Are you addressing this node?

No. I mean the bpmp dtb. This code is not released. What you are checking is kernel dtb.

So you need to use dtc tool to convert the binary back to dts, modify the content, and convert it back to dtb again. Check your BSP folder and search it.

I followed your instructions, converted 'tegra194-a02-bpmp-p3668-a00.dtb into dts, removed mentioned lines from dts and converted back to dtb and flashed. Booting is still freezing at the some point.

[ 7.451543] tegradc 15200000.display: vblank syncpt # 8 for dc 0
[ 7.452023] kfuse 3830000.kfuse: initialized
[ 7.457207] tegradc 15200000.display: vpulse3 syncpt # 9 for dc 0
[ 7.468194] nvhdcp: Error: can’t get adapter for bus 3
[ 7.468466] tegra-fuse-�