02-07-2019 01:08 PM
Building a device tree in SDK using the xlnx-device-tree repository creates a system-top.dts file, which I can compile into a system-top.dtb file. However, the default configuration in Xilinx's fork of U-Boot looks for a system.dtb file (https://github.com/Xilinx/u-boot-xlnx/blob/master/include/configs/xilinx_zynqmp.h#L141). This is obviously not a showstopper but it is an annoying "gotcha" that I ran into earlier today that seems like someone just made a simple mistake. Can either SDK be updated to output the top level dts file as system.dts or U-Boot's default config be changed to look for a system-top.dtb file to maintain consistency?
02-07-2019 08:45 PM
System.dtb is final device tree file when compiled with Petalinux which is common for both U-boot & Linux.
It would be good if you modify system-top.dtb to system.dtb.
02-11-2019 06:34 AM
I did modify system-top.dtb to system.dtb; my point of this post is that Xilinx is creating that additional unnecessary step, which is not at all obvious, by naming the output file "system-top.dts". If system.dtb is the de facto standard for the DTB name, then why not make the output of the Device Tree BSP in SDK "system.dts" instead of "system-top.dts"? Why introduce an unnecessary inconsistency into a process that is already considerably complex to newcomers and first-timers?
This is not a post asking for help, but rather an attempt to point out a kink in the flow that Xilinx may wish to address. I only discovered this problem by peeking through the U-Boot source code (where I found that it was expecting a file named system.dtb instead of system-top.dtb), since it was not mentioned anywhere in the Xilinx documentation or wiki. Surely Xilinx is interested in keeping things as simple and straightforward for their users as possible, and would therefore like to minimize the number of needless points of friction such as this.