There are some serial console command line options for displaying device tree, but I have not used them. It would require research to find out how to see the loaded device tree from U-Boot…it is different to display a device tree file versus displaying the current device tree configuration since you don’t know if the file is what loaded that configuration, and you don’t know if there were rejected or altered components (some registers could be modified by the driver itself).
You are correct that getting the “/proc/device-tree” should (more or less) be an exact copy, but timing of when the device tree is loaded, in combination with what drivers do, may change things. Hardware state inherited at the point of loading a particular DTB can be inherited, and is not necessarily caused by the device tree itself (an example of this showing up is that a warm boot may have a difference from a cold boot even if the two are supposed to initialize to the same state). When you mention “uBoot should be pulling the same DTB as the kernel as specified by my FDT command”, can you give the exact details of which FDT file you are using? Was it generated from the “/proc/device-tree”?
The base U-Boot image is flashed via this:
sudo ./flash -r -K LNX jetson-tx1 mmcblk0p1
…which implies it can be cloned via partition “LNX”.
Roughly speaking, it seems flashing just the DTB on a JTX2 under R28.1 would be:
sudo ./flash -k -r kernel-dtbjetson-tx2 mmcblk0p1
Although I have not tried it, it seems likely you could clone anything which can be named for flash. The question is naming the partition you want to clone. If you can do this, then you could generate a DTS file from the cloned device tree partition which U-Boot loads, and then compare that.
I am not sure how to clone the U-Boot device tree though, since it is not a partition in the usual sens. Note that “-K” implies a partition, but “-k” implies a kernel. I can find no reference to “-r kernel-dtbjetson-tx2” in any of the flash software, so I don’t know exactly what this does.
Can someone at NVIDIA provide a way to clone the device tree which is on an R28.1 JTX2 which would exist as a result of the “-r kernel-dtbjetson-tx2” flash? And what file is used for device tree using this? Is this a subset of one of the partitions, e.g., is this padded somewhere into the U-Boot binary partition?