Hi,
I'm using a custom board with a ZYNQ 035 device, and the petaLinux version is 2019.1.
I've asked this question before and didn't get an answer.
Custom ZYNQ board with meta-adi for ADV7511
Unlike the previous question, i worked by creating a custom DTSI.
When I add meta-adi to the user layer and build, I get a custom.dts file not found error.
Here's my workflow
echo "KERNEL_DTB=custom" >> project-spec/meta-user/conf/petalinuxbsp.conf
The pl-delete-nodes-custom.dtsi file referenced pl.dtsi and added a delete node.
i added file://pl-delete-nodes-custom.dtsi this line.
and commented out this line.
Files custom.dtsi and pl-delete-custom.dtsi exist in the /meta-adi/meta-adi-xilinx/recipes-bsp/device-tree/files path.
However, I get an error saying that the custom.dts file is not found in the /build/tmp/work-shared/plnx-zynq7/kernel-source/arch/arm/boot/dts/ path.
So, when I created custom.dts by referring to the link below and pasted it into the above path, I got the following error message.(Uncommenting this line.)
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842279/Build+Device+Tree+Blob
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ERROR: device-tree-xilinx+gitAUTOINC+73e546e312-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: '/opt/pkg/petalinux_19.1/components/yocto/source/arm/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: '/opt/pkg/petalinux_19.1/components/yocto/source/arm/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)
0120:
0121:python devicetree_do_compile() {
0122: includes = expand_includes("DT_INCLUDE", d)
0123: listpath = d.getVar("DT_FILES_PATH")
File: '/opt/pkg/petalinux_19.1/components/yocto/source/arm/buildtools/sysroots/x86_64-petalinux-linux/usr/lib/python3.5/subprocess.py', lineno: 398, function: run
0394: raise
0395: retcode = process.poll()
0396: if check and retcode:
0397: raise CalledProcessError(retcode, process.args,
*** 0398: output=stdout, stderr=stderr)
0399: return CompletedProcess(process.args, retcode, stdout, stderr)
0400:
0401:
0402:def list2cmdline(seq):
Exception: subprocess.CalledProcessError: Command '['dtc', '-R', '8', '-b', '0', '-p', '0x1000', '-i', '/home/eth_1g/build/tmp/work-shared/plnx-zynq7/kernel-source/scripts/dtc/include-prefixes', '-i', '/home/eth_1g/build/tmp/work-shared/plnx-zynq7/kernel-source/include', '-i', '/home/eth_1g/build/../components/plnx_workspace/device-tree/device-tree', '-i', '/home/eth_1g/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/device-tree/xilinx+gitAUTOINC+73e546e312-r0', '-i', '/home/eth_1g/build/tmp/work-shared/plnx-zynq7/kernel-source/arch/arm/boot/dts', '-o', 'system-top.dtb', '-I', 'dts', '-O', 'dtb', 'system-top.dts.pp']' returned non-zero exit status 1
ERROR: device-tree-xilinx+gitAUTOINC+73e546e312-r0 do_compile: Function failed: devicetree_do_compile
ERROR: Logfile of failure stored in: /home//eth_1g/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/device-tree/xilinx+gitAUTOINC+73e546e312-r0/temp/log.do_compile.11401
ERROR: Task (/opt/pkg/petalinux_19.1/components/yocto/source/arm/layers/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb:do_compile) failed with exit code '1'
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
If I change the machine name and build using the ZC706 DTSI in the meta-ADI, it builds successfully.
However, when I write the device tree contents to system-user.dtsi, I get an error. I get an error message saying that the node I created was not found. How should I write the device tree in this case?
Any help would be appreciated.
Edit Notes
add[edited by: jun123 at 1:44 AM (GMT -4) on 1 Nov 2023]