AGX Xavier (dev-kit) custom DTB

I am building my own custom dtb for my own custom linux.
For some reason, my AGX wont fully boot, it panics at PCIe.

I attached my dtb and part of the serial dmesg output below.
rnc.dtb (352.2 KB)

What I notice in my dtb, all phandles are different.

[    6.663728] pci_bus 0003:00: root bus resource [bus 00-ff]
[    6.663867] pci_bus 0003:00: root bus resource [io  0x200000-0x2fffff] (bus address [0x34100000-0x341fffff])
[    6.664130] pci_bus 0003:00: root bus resource [mem 0x1280000000-0x12afffffff pref]
[    6.664314] pci_bus 0003:00: root bus resource [mem 0x12b0000000-0x12bfffffff] (bus address [0x40000000-0x4fffffff])
[    6.664671] pci 0003:00:00.0: [10de:1ad2] type 01 class 0x060400
[    6.665103] pci 0003:00:00.0: PME# supported from D0 D3hot D3cold
[    6.679477] pci 0003:00:00.0: PCI bridge to [bus 01-ff]
[    6.679796] pci 0003:00:00.0: Max Payload Size set to  256/ 256 (was  256), Max Read Rq  512
[    6.681788] pcieport 0003:00:00.0: Adding to iommu group 7
[    6.683584] pcieport 0003:00:00.0: PME: Signaling with IRQ 28
[    6.685064] pcieport 0003:00:00.0: AER: enabled with IRQ 28
[    6.686559] pci_bus 0003:01: busn_res: [bus 01-ff] is released
[    6.687860] pci 0003:00:00.0: Removing from iommu group 7
[    6.688200] pci_bus 0003:00: busn_res: [bus 00-ff] is released
[    6.691326] tegra194-pcie 141a0000.pcie: Adding to iommu group 8
[    6.719622] host1x 13e10000.host1x: Adding to iommu group 9
[    6.735379] Unable to handle kernel paging request at virtual address 0000000000008080
[    6.735743] Mem abort info:
[    6.735956]   ESR = 0x96000044
[    6.736082]   EC = 0x25: DABT (current EL), IL = 32 bits
[    6.736266]   SET = 0, FnV = 0
[    6.736376]   EA = 0, S1PTW = 0
[    6.736487] Data abort info:
[    6.736596]   ISV = 0, ISS = 0x00000044
[    6.736786]   CM = 0, WnR = 1
[    6.737028] [0000000000008080] user address but active_mm is swapper
[    6.737268] Internal error: Oops: 96000044 [#1] PREEMPT SMP
[    6.737442] Modules linked in:
[    6.740404] CPU: 0 PID: 96 Comm: kworker/0:2 Not tainted 5.10.104 #7
[    6.747006] Hardware name: Unknown Jetson-AGX/Jetson-AGX, BIOS 1.0-d7fb19b 08/10/2022
[    6.754942] Workqueue: events deferred_probe_work_func
[    6.759969] pstate: 60800009 (nZCv daif -PAN +UAO -TCO BTYPE=--)
[    6.765851] pc : host1x_writel+0x44/0x80
[    6.769589] lr : host1x_writel+0x28/0x80
[    6.773265] sp : ffff8000112e3a40
[    6.776763] x29: ffff8000112e3a40 x28: ffff5e1b83d08108
[    6.781942] x27: 0000000000000000 x26: ffff5e1b83d08080
[    6.787433] x25: ffffc486b82438b0 x24: ffff5e1b80f66410
[    6.792964] x23: 0000000000000037 x22: 0000000000008080
[    6.798279] x21: ffff5e1b80f66400 x20: 0000000000008080
[    6.803372] x19: 0000000000000000 x18: ffffffffffffffff
[    6.809041] x17: ffffc486b73230ec x16: 00000000ed6f6368
[    6.814122] x15: ffff5e1b83d19a1c x14: ffff5e1b83d19339
[    6.819632] x13: 0000000000000008 x12: 0000000000000008
[    6.825147] x11: 000000000000000b x10: 0101010101010101
[    6.830577] x9 : fffffffffffffff9 x8 : 7f7f7f7f7f7f7f7f
[    6.836381] x7 : fefefeff646c606d x6 : 00170401e9e1ace3
[    6.841608] x5 : 632c616901041700 x4 : 8080808000000000
[    6.847040] x3 : ffff5e1b81a55000 x2 : ffffc486b6dbd4a0
[    6.852638] x1 : ffffc486b89654b8 x0 : 0000000000000000
[    6.857953] Call trace:
[    6.860418]  host1x_writel+0x44/0x80
[    6.863913]  t194_syncpt_reset+0x40/0x4c
[    6.867615]  nvhost_syncpt_reset+0x50/0x7c
[    6.871614]  power_on_host+0x80/0xac
[    6.875112]  nvhost_probe+0x874/0xd04
[    6.879050]  platform_drv_probe+0x5c/0xbc
[    6.883083]  really_probe+0xf8/0x4a8
[    6.886593]  driver_probe_device+0x60/0xbc
[    6.890598]  __device_attach_driver+0xb0/0x100
[    6.894804]  bus_for_each_drv+0x88/0xd8
[    6.898599]  __device_attach+0xcc/0x178
[    6.902589]  device_initial_probe+0x28/0x38
[    6.906603]  bus_probe_device+0xac/0xc0
[    6.910570]  deferred_probe_work_func+0x90/0xc4
[    6.915107]  process_one_work+0x1fc/0x4c0
[    6.919113]  worker_thread+0x210/0x450
[    6.922650]  kthread+0x15c/0x160
[    6.925877]  ret_from_fork+0x10/0x1c
[    6.929474] Code: f9400436 8b3442d6 371800e0 d50332bf (b90002d3)
[    6.936047] ---[ end trace 45b143cda8d5c300 ]---
[    6.940304] Kernel panic - not syncing: Oops: Fatal exception
[    6.946076] SMP: stopping secondary CPUs
[    6.950234] Kernel Offset: 0x4486a6c10000 from 0xffff800010000000
[    6.955973] PHYS_OFFSET: 0xffffa1e580000000
[    6.960165] CPU features: 0x8240002,03802a30
[    6.964790] Memory Limit: none
[    6.967692] ---[ end Kernel panic - not syncing: Oops: Fatal exception ]---

phandles may not matter. It is just like an index for dtb itself to refer to… It is normal that phandles are one value in one dtb and another value in another dtb…

What matters is what get changed by you.

I did not change anything yet. Just to have a reference I am able to build a custom dtb.
The DTS is based on the tegra194-p2888-0001-p2822-0000.dts
(in fact, my rnc.dts just includes that one without making any changes… )

What is your method to build a new dtb?

What is your method to update this new dtb to your board?

Is it custom board or NV developer kit?

Any full log to share?

Did you ever change dtb on any jetson platform before?

I am building the DTB using Buildroot.
I know this is not really supported, but I am able to build al needed files using the official NVidia resources.
All DTS files come from the official L4T sources.

The DTB is updated on the board by editing the extlinux.conf.
This works, since I can use a “default” devicetree, provieded by the sources by NVidia.

It is not (yet) a custom board, we use an AGX Xavier dev-kit.

Please see attached dmesg ('till the panic)
list.txt (111.7 KB)

I had some experience uploading a new DTB and kernel on the Jetson platform. Mostly still jetpack 4 based

fixed by overrideing host1x@13e00000 with reg-names = "guest", "hypervisor", "actmon", "sem-syncpt-shim";