Hi everyone,
I am using AD JESD204 IP's to implement the interface on a custom board. I have tested the design with a baremetal program and everything works fine.
Now, I want to integrate my design with an embedded Linux to use the JESD204 drivers, I use petalinux to generate the image. I've tried to follow the guidelines described in https://github.com/analogdevicesinc/meta-adi/tree/master/meta-adi-xilinx, but it's not clear enough for me.
In the project I have 4 layers:
- Layer 0: meta-adi-core
- Layer 1: meta-adi-xilinx
- Layer 2: board related layer, contains the device tree for the custom board
- User layer
I do not want to use any of the available devicetrees in the adi kernel, but as I need to specify one to compile the project I selected KERNEL_DTB="zynqmp-zcu102-rev10-fmcdaq2". At this point I am stuck, as I do not need to use this device tree, do I need to create a "pl-delete-nodes-xxx.dtsi" to remove the nodes from the selected device tree? , in which layer?
At this point, I think it is a better option to use Xilinx's Linux Kernel and add Analog's drivers from the source code. Which is the best option?
Thank you.
EDIT:
EDIT: I created a custom device tree and a pl-delete-nodes in the meta-adi-xilinx, and selected it as KERNEL_DBT, but the device tree do_config is failing, I have added the following lines to meta-adi-xilinx device-tree.bbappend
SRC_URI_append = " \
file://pl-delete-nodes-custom-board.dtsi \
file://custom-board.dts \
"
KERNEL_DTB_PATH = "${WORKDIR}"
USE_KERNEL_SOURCES = "n"
Error message is:
ERROR: Execution of '/home/user/Documents/xilinx_workspace/board_AD/sw/petalinux/build/tmp/work/zynqmp_generic-xilinx-linux/device-tree/xilinx-v2021.2+gitAUTOINC+c0acd8f064-r0/temp/run.do_configure.1082188' failed with exit code 1:
MISC_ARG is -hdf_type xsa -yamlconf /home/user/Documents/xilinx_workspace/board_AD/sw/petalinux/build/tmp/work/zynqmp_generic-xilinx-linux/device-tree/xilinx-v2021.2+gitAUTOINC+c0acd8f064-r0/device-tree.yaml
APP_ARG is -app "device-tree"
Using xsct from: /opt/Xilinx/PetaLinux/2021.2/tools/xsct//bin/xsct
cmd is: xsct -sdx -nodisp /home/user/Documents/xilinx_workspace/board_AD/sw/petalinux/build/tmp/work/zynqmp_generic-xilinx-linux/device-tree/xilinx-v2021.2+gitAUTOINC+c0acd8f064-r0/dtgen.tcl -ws /home/user/Documents/xilinx_workspace/board_AD/sw/petalinux/project-spec/configs/../../components/plnx_workspace/device-tree -pname device-tree -rp /home/user/Documents/xilinx_workspace/board_AD/sw/petalinux/build/tmp/work/zynqmp_generic-xilinx-linux/device-tree/xilinx-v2021.2+gitAUTOINC+c0acd8f064-r0/git -processor_ip psu_cortexa53 -hdf /home/user/Documents/xilinx_workspace/board_AD/sw/petalinux/build/tmp/deploy/images/zynqmp-generic/Xilinx-zynqmp-generic.xsa -arch 64 -app "device-tree" -hdf_type xsa -yamlconf /home/user/Documents/xilinx_workspace/board_AD/sw/petalinux/build/tmp/work/zynqmp_generic-xilinx-linux/device-tree/xilinx-v2021.2+gitAUTOINC+c0acd8f064-r0/device-tree.yaml
Update
[edited by: dd969c at 8:35 PM (GMT -5) on 28 Nov 2022]