The device tree describes the hardware components of the system. The createdts
command can generate the device tree file according to the hardware configurations from the XSA file. If there are any settings unavailable in the XSA, for example, any driver nodes that do not have corresponding hardware, or if you have their own design hardware, you must add customization settings in the system-user.dtsi
file.
In addition to U-Boot file, lacks default environment variables. So you must update the bootargs
manually. To streamline this process, a pre-prepared system-user.dtsi file which adds pre-defined bootargs
is located in the step2_pfm
directory. Copy the system-user.dtsi
file to the WorkSpace
directory and follow these steps to generate the DTB file.
Note: Device tree knowledge is a common know-how. Please refer to AMD Device tree WIKI page or Device Tree WIKI page for more information if you are not familiar with it.
First, go to
Wroksapce
directory and launchXSCT
tool.cd Workspace xsct
Execute the
createdts
command in the XSCT console as shown below:createdts -hw ../zcu104_hardware_platform/zcu104_custom_platform_hw.xsa -zocl -platform-name mydevice \ -git-branch xlnx_rel_v2023.2 -board zcu104-revc -dtsi system-user.dtsi -compile
The
createdts
command needs the following input values:-hw
: Hardware XSA file with path.-platform-name
: Platform name.-git-branch
: device tree branch.-board
: board name of the device. You can check the board name at/device_tree/data/kernel_dtsi. -zocl
: enable the zocl driver support.-dtsi
: Add user’s device tree file support.-compile
: specify the option to compile the device tree.
The following information will be displayed on the XSCT console. You can safely disregard the warning. This message confirms that you have successfully obtained the
system.dtb
file which is located in the<mydevice/psu_cortexa53_0/device_tree_domain/bsp>
folder.pl.dtsi:9.21-32.4: Warning (unit_address_vs_reg): /amba_pl@0: node has a unit name, but no reg property system-top.dts:26.9-29.4: Warning (unit_address_vs_reg): /memory: node has a reg or ranges property, but no unit name zynqmp.dtsi:790.43-794.6: Warning (pci_device_reg): /axi/pcie@fd0e0000/legacy-interrupt-controller: missing PCI reg property pl.dtsi:27.26-31.5: Warning (simple_bus_reg): /amba_pl@0/misc_clk_0: missing or empty reg/ranges property
Note:
createdts
is a command that is executed on the XSCT console to generate device files. This command needs several inputs to generate the device tree files. Use thehelp
command to find out about the input options. XSCT is a console tool for Vitis. You can start it by typingxsct
on a Linux terminal, or you can select menu Xilinx > XSCT Console to start the XSCT tool after you launch the Vitis software platform.Execute the following command to exit XSCT console.
exit
Following the completion of this step, all the necessary components for platform creation are now prepared. In the next phase, we will proceed to attach all these components to your platform and initiate the build process.