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
474 stars 230 forks source link

sudo insmod axidma.ko error #115

Open gi4you opened 4 years ago

gi4you commented 4 years ago

Hello,

I found error message during insmod and anyone can advice how to fix it?

[ 5751.780723] axidma: axidma_of.c: axidma_of_parse_channel: 92: Device tree node dma: DMA has more than two channel nodes. [ 5751.791621] axidma: probe of axidma_chrdev@0 failed with error -38

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

    chosen {
            bootargs = "console=ttyPS0,115200 earlycon clk_ignore_unused root=/dev/mmcblk0p2 rw  rootfstype=ext4 rootwait";
            stdout-path = "serial0:115200n8";
    };

    axidmatest_1: axidmatest@1 {
            compatible = "xlnx,axi-dma-test-1.00.a";
            dmas = <&axi_dma_0 0
                    &axi_dma_0 1>;
            dma-names = "axidma0", "axidma1";
    };

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

};

&gem3 { phy-handle = <&phyc>; phyc: phy@c { reg = <0xc>; ti,rx-internal-delay = <0x8>; ti,tx-internal-delay = <0xa>; ti,fifo-depth = <0x1>; ti,rxctrl-strap-worka; }; };

&axi_dma_0{ dma-channel@a0001000 { xlnx,device-id = <0x0>; }; dma-channel@a0001030 { xlnx,device-id = <0x1>; }; };

gi4you commented 4 years ago

Fixed, I found the DMA channel address is not matched with PL address.