Create the Device Tree File - 2023.2 English

Vitis Tutorials: Vitis Platform Creation

Document ID
Release Date
2023.2 English

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.

  1. First, go to Wroksapce directory and launch XSCT tool.

    cd Workspace
  2. 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 the help command to find out about the input options. XSCT is a console tool for Vitis. You can start it by typing xsct 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.


    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.