In the 2020.2 and 2021.1 releases, the Device Tree fails to build when ILA is added to a Versal AXI Stream Interface IP. The below errors are returned:
ERROR: device-tree-xilinx-v2020.2+gitAUTOINC+f725aaecff-r0 do_compile: Error executing a python function in exec_python_func() autogenerated:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:devicetree_do_compile(d)
0003:
File: '/group/bcapps/sandeepg/plnx-workspace/2020.2/vck190-es1-mipi/components/yocto/layers/core/meta/classes/devicetree.bbclass', lineno: 131, function: devicetree_do_compile
0127: if not(os.path.isfile(dtspath)) or not(dts.endswith(".dts") or devicetree_source_is_overlay(dtspath)):
0128: continue # skip non-.dts files and non-overlay files
0129: except:
0130: continue # skip if can't determine if overlay
*** 0131: devicetree_compile(dtspath, includes, d)
0132:}
0133:
0134:devicetree_do_install() {
0135: for DTB_FILE in `ls *.dtb *.dtbo`; do
File: '/group/bcapps/sandeepg/plnx-workspace/2020.2/vck190-es1-mipi/components/yocto/layers/core/meta/classes/devicetree.bbclass', lineno: 119, function: devicetree_compile
0115: dtcargs += ["-i", i]
0116: dtcargs += ["-o", "{0}.{1}".format(dtname, "dtbo" if isoverlay else "dtb")]
0117: dtcargs += ["-I", "dts", "-O", "dtb", "{0}.pp".format(dts)]
0118: bb.note("Running {0}".format(" ".join(dtcargs)))
*** 0119: subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
0120:
0121:python devicetree_do_compile() {
0122: includes = expand_includes("DT_INCLUDE", d)
0123: listpath = d.getVar("DT_FILES_PATH")
File: '/proj/gsd/petalinux/2020.2/components/yocto/buildtools/sysroots/x86_64-petalinux-linux/usr/lib/python3.7/subprocess.py', lineno: 512, function: run
0508: raise
0509: retcode = process.poll()
0510: if check and retcode:
0511: raise CalledProcessError(retcode, process.args,
*** 0512: output=stdout, stderr=stderr)
0513: return CompletedProcess(process.args, retcode, stdout, stderr)
0514:
0515:
0516:def list2cmdline(seq):
Exception: subprocess.CalledProcessError: Command '['dtc', '-@', '-p', '0x1000', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/allwinner', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/mediatek', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/amd', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/hisilicon', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/synaptics', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/xilinx', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/broadcom', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/rockchip', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/intel', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/renesas', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/actions', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/sprd', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/amlogic', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/lg', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/nvidia', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/realtek', '-i', '/group/bcapps/sandeepg/plnx-workspace/2020.2/vck190-es1-mipi/project-spec/configs/../../components/plnx_workspace/device-tree/device-tree', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/altera', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/marvell', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/bitmain', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/scripts/dtc/include-prefixes', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/freescale', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/al', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/arm', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/apm', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/zte', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/exynos', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/cavium', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/qcom', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/ti', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work-shared/versal-generic/kernel-source/arch/arm64/boot/dts/socionext', '-i', '/tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work/versal_generic-xilinx-linux/device-tree/xilinx-v2020.2+gitAUTOINC+f725aaecff-r0', '-o', 'system-top.dtb', '-I', 'dts', '-O', 'dtb', 'system-top.dts.pp']' returned non-zero exit status 1.
Subprocess output:
Error: /group/bcapps/sandeepg/plnx-workspace/2020.2/vck190-es1-mipi/project-spec/configs/../../components/plnx_workspace/device-tree/device-tree/pl.dtsi:971.38-39 syntax error
FATAL ERROR: Unable to parse input tree
ERROR: Logfile of failure stored in: /tmp/sandeepg/plnx/2020.2/vck190-es1-mipi/work/versal_generic-xilinx-linux/device-tree/xilinx-v2020.2+gitAUTOINC+f725aaecff-r0/temp/log.do_compile.59477
ERROR: Task (/group/bcapps/sandeepg/plnx-workspace/2020.2/vck190-es1-mipi/components/yocto/layers/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb:do_compile) failed with exit code '1'
pl.dtsi invalid nodes:
958 axis_switch_0: axis_switch_0@0 {
959 clock-names = "aclk";
960 clocks = <&misc_clk_0>;
961 compatible = "xlnx,axis-switch-1.1";
962 xlnx,num-mi-slots = <2>;
963 xlnx,num-si-slots = <1>;
964 xlnx,routing-mode = <0>;
965 axis_switch_portsaxis_switch_0: ports {
966 #address-cells = <1>;
967 #size-cells = <0>;
968 axis_switch_port1axis_switch_0: port@1 {
969 reg = <1>;
970 axis_switch_out1axis_switch_0: endpoint {
971 remote-endpoint = <&axis_ila_0 v_demosaic_0axis_switch_0>;
972 };
973 };
974 axis_switch_port2axis_switch_0: port@2 {
975 reg = <2>;
976 axis_switch_out2axis_switch_0: endpoint {
977 remote-endpoint = <&v_demosaic_1axis_switch_0>;
978 };
979 };
980 axis_switch_port0axis_switch_0: port@0 {
981 reg = <0>;
982 mipi_csi2_rx_subsyst_0mipi_csi2_rx_subsyst_0: endpoint {
983 remote-endpoint = <&mipi_csirx_outmipi_csi2_rx_subsyst_0>;
984 };
985 };
986 };
987 };</pre >
This is a known issue in the 2020.2 and 2021.1 release of the Device Tree Generator (DTG) for Versal devices.
To fix this issue, you will need to apply the attached patch.
Note: In order to apply this patch on top of the 2020.2 release, you will need to first apply the patches from (Xilinx Answer 76440) in sequence.
Root Cause:
The Device Tree Generator does not support Versal ILA with the AXI4 Stream Interface.
PetaLinux:
The patch should be applied to <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/device-tree_%.bbappend recipes
Note: For information on how to apply a patch to recipes in PetaLinux, please refer to (UG1144) or https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips
1) Copy the attached patch from the Attachments section to the device-tree directory as shown below.
If these directory and recipes do not exist then manually create <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files/
$ mkdir -p <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files
$ cp 0001-common_proc-Add-support-for-Versal-ILA-with-AXI4-Str.patch <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files
2) Modify the device-tree.bbappend file with the below content using a text editor:
$ vim <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/device-tree.bbappend
# device-tree.bbappend content
# Note: system-user.dtsi is autogenerated from petalinux tool.
SRC_URI += " \
file://system-user.dtsi \
file://0001-common_proc-Add-support-for-Versal-ILA-with-AXI4-Str.patch \
"
FILESEXTRAPATHS_prepend := "${THISDIR}/files:
3) Clean the device-tree sstate cache and rebuild the device-tree recipes:
$ petalinux-build -c device-tree -x cleansstate $ petalinux-build -c device-tree
Yocto:
The patch should be applied to <yocto-proj-root>/sources/meta-xilinx-tools/recipes-bsp/device-tree/device-tree.bbappend recipes
1) Copy the attached patch from the Attachments section to the device-tree directory as shown below.
If these directory and recipes do not exist then manually create <yocto-proj-root>/sources/meta-xilinx-tools/recipes-bsp/device-tree/files
$ mkdir -p <yocto-proj-root>/sources/meta-xilinx-tools/recipes-bsp/device-tree/files
$ cp 0001-common_proc-Add-support-for-Versal-ILA-with-AXI4-Str.patch <yocto-proj-root>/sources/meta-xilinx-tools/recipes-bsp/device-tree/files
2) Modify the device-tree.bbappend file with the below content using a text editor:
$ vim <yocto-proj-root>/sources/meta-xilinx-tools/recipes-bsp/device-tree/device-tree.bbappend
# device-tree.bbappend content
SRC_URI_append = " \
file://0001-common_proc-Add-support-for-Versal-ILA-with-AXI4-Str.patch \
"
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
3) Clean the device-tree sstate cache and rebuild the device-tree recipes:
$ bitbake device-tree -c cleansstate
$ bitbake device-tree
文件名 | 文件大小 | File Type |
---|---|---|
0001-vid_phy_ctrl-Fix-the-logic-for-num-of-vphy-lanes.patch | 3 KB | PATCH |
0001-Update-the-axis_switch-when-the-connected-IP-has-ILA.patch | 1 KB | PATCH |
Answer Number | 问答标题 | 问题版本 | 已解决问题的版本 |
---|---|---|---|
75775 | PetaLinux 2020.2/3 - Product Update Release Notes and Known Issues | N/A | N/A |
76526 | PetaLinux 2021.1 - Product Update Release Notes and Known Issues | N/A | N/A |
AR# 76575 | |
---|---|
日期 | 06/21/2021 |
状态 | Active |
Type | 已知问题 |
器件 | |
Tools | |
Boards & Kits |