bperez77 / xilinx_axidma

A zero-copy Linux driver and a userspace interface library for Xilinx's AXI DMA and VDMA IP blocks. These serve as bridges for communication between the processing system and FPGA programmable logic fabric, through one of the DMA ports on the Zynq processing system. Distributed under the MIT License.
MIT License
450 stars 225 forks source link

Petalinux wont build - Error at axidma_chrdev node in system-user.dtsi #150

Closed Sujjan19 closed 10 months ago

Sujjan19 commented 10 months ago

I'm using petalinux 2018.1 for a custom project, i was trying to bring up axidma as /dev/axidma/ . I followed this issue #24 and copied all the files and also made changes to xilinx-axidma.bb file as suggested. But when i build the project after that, it fails pointing at axidma_chrdev node line in system-user.dtsi :

[INFO] building project [INFO] sourcing bitbake INFO: bitbake petalinux-user-image Loading cache: 100% |########################################################################################################################################################################| Time: 0:00:00 Loaded 3433 entries from dependency cache. Parsing recipes: 100% |######################################################################################################################################################################| Time: 0:00:03 Parsing of 2545 .bb files complete (2506 cached, 39 parsed). 3437 targets, 136 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies Initialising tasks: 100% |###################################################################################################################################################################| Time: 0:00:05 Checking sstate mirror object availability: 100% |###########################################################################################################################################| Time: 0:00:03 NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks ERROR: device-tree-xilinx+gitAUTOINC+682c126ef6-r0 do_compile: Function failed: do_compile (log file is located at /home/qunu/sujan/pcie_qrng/qrng_peta/build/tmp/work/plnx_zynqmp-xilinx-linux/device-tree/xilinx+gitAUTOINC+682c126ef6-r0/temp/log.do_compile.5642) ERROR: Logfile of failure stored in: /home/qunu/sujan/pcie_qrng/qrng_peta/build/tmp/work/plnx_zynqmp-xilinx-linux/device-tree/xilinx+gitAUTOINC+682c126ef6-r0/temp/log.do_compile.5642 Log data follows: | DEBUG: Executing shell function do_compile | Error: /home/qunu/sujan/pcie_qrng/qrng_peta/build/tmp/work/plnx_zynqmp-xilinx-linux/device-tree/xilinx+gitAUTOINC+682c126ef6-r0/system-user.dtsi:5.16-31 syntax error | FATAL ERROR: Unable to parse input tree | WARNING: /home/qunu/sujan/pcie_qrng/qrng_peta/build/tmp/work/plnx_zynqmp-xilinx-linux/device-tree/xilinx+gitAUTOINC+682c126ef6-r0/temp/run.do_compile.5642:1 exit 1 from 'dtc -I dts -O dtb -R 8 -p 0x1000 -b 0 -i /home/qunu/sujan/pcie_qrng/qrng_peta/build/../components/plnx_workspace/device-tree/device-tree -i /home/qunu/sujan/pcie_qrng/qrng_peta/build/tmp/work-shared/plnx-zynqmp/kernel-source/include -i /home/qunu/sujan/pcie_qrng/qrng_peta/build/tmp/work-shared/plnx-zynqmp/kernel-source/arch/arm64/boot/dts/xilinx -i /home/qunu/sujan/pcie_qrng/qrng_peta/build/tmp/work-shared/plnx-zynqmp/kernel-source/include -i /home/qunu/sujan/pcie_qrng/qrng_peta/build/tmp/work/plnx_zynqmp-xilinx-linux/device-tree/xilinx+gitAUTOINC+682c126ef6-r0 -o ${DTS_NAME}.dtb basename ${DTS_FILE}.pp' | ERROR: Function failed: do_compile (log file is located at /home/qunu/sujan/pcie_qrng/qrng_peta/build/tmp/work/plnx_zynqmp-xilinx-linux/device-tree/xilinx+gitAUTOINC+682c126ef6-r0/temp/log.do_compile.5642) ERROR: Task (/home/ranjan/PCIE_QRNG/petalinux_tool/components/yocto/source/aarch64/layers/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb:do_compile) failed with exit code '1' NOTE: Tasks Summary: Attempted 2539 tasks of which 2538 didn't need to be rerun and 1 failed.

Summary: 1 task failed: /home/ranjan/PCIE_QRNG/petalinux_tool/components/yocto/source/aarch64/layers/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb:do_compile Summary: There was 1 ERROR message shown, returning a non-zero exit code. ERROR: Failed to build project

Here is my system-user.dtsi file:

/include/ "system-conf.dtsi"
/ {
};

axidma_chrdev: axidma_chrdev@0 {
                compatible = "xlnx,axidma-chrdev";
                dmas = <&Path1_DMA 1>;
                dma-names = "rx_channel";
        };
&Path1_DMA {
        status = "okay";
        dma-channel@80004030 {
                xlnx,device-id = <0x0>;
                //dma-coherent;
        };
};

Note: The DMA design has only rx channel. PFA the pl.dtsi of my design - pl.dtsi.txt

Please help.

wangzhenhua92429 commented 10 months ago

你发给我的邮件已收到!                                ——王振华

Sujjan19 commented 10 months ago

I found the solution Modify the parent node of axidma_chrdev like this:


/{ 
   axidma_chrdev: axidma_chrdev@0 {
                compatible = "xlnx,axidma-chrdev";
                dmas = <&Path1_DMA 1>;
                dma-names = "rx_channel";
};