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

axidma: axidma_dma.c: axidma_request_channels: 651: Unable to get slave channel 0: tx_channel. axidma: probe of amba_pl:axidma_chrdev@0 failed with error -38 #117

Open HanXiancheng opened 4 years ago

HanXiancheng commented 4 years ago

Hi Brandon-san,

I'm trying to use your driver on my board, xilinx system(xilinx-v2014.4). When i run insmod axidma.ko command to load driver,the error in the title comes up.

The error log as following:

axidma: axidma_dma.c: axidma_request_channels: 651: Unable to get slave channel 0: tx_channel. axidma: probe of amba_pl:axidma_chrdev@0 failed with error -38

My device tree setting related with dma:

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

    axi_dma_0: axidma@40400000 {
        #dma-cells = <1>;
        compatible = "xlnx,axi-dma", "xlnx,axi-dma-6.03.a", "xlnx,axi-dma-1.00.a";
        clocks = <&clkc 15>, <&clkc 15>, <&clkc 15>, <&clkc 15>;
        clock-names = "s_axi_lite_aclk", "m_axi_sg_aclk", "m_axi_mm2s_aclk", "m_axi_s2mm_aclk";    
        reg = <0x40400000 0x10000>;   
        xlnx,include-sg;    
        xlnx,addrwidth = <32>;

        dma-mm2s-channel@40400000 {
            compatible = "xlnx,axi-dma-mm2s-channel";
            dma-channels = <1>;
            xlnx,datawidth = <64>;
            xlnx,device-id = <0>;
            interrupt-parent = <3>;
            interrupts = <0 31 1>;
        };

        dma-s2mm-channel@40400030 {
            compatible = "xlnx,axi-dma-s2mm-channel";
            dma-channels = <1>;
            xlnx,datawidth = <64>;
            xlnx,device-id = <1>;
            interrupt-parent = <3>;
            interrupts = <0 30 1>;
        };
    };  

I did not change anything for driver code. Does the axidma driver code support xilinx-v2014.4? Look forward to your kind reply

Lu0101 commented 1 year ago

Have you solved the problem? thanks!