Open SzateX opened 3 years ago
Hi! I'm facing the same issue.
After building and booting the new system, I get the following:
dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
dma-pl330 f8003000.dmac: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
xilinx-vdma 40400000.dma: Xilinx AXI DMA Engine Driver Probed!!
It seems it is initialized correctly, but when I load the module using insmod I get the following message
insmod /lib/modules/5.4.0-xilinx-v2020.2/extra/xilinx-axidma.ko
xilinx_axidma: loading out-of-tree module taints kernel.
Using lsmod I can see that the module is loaded
lsmod
Tainted: G
xilinx_axidma 28672 0 - Live 0xbf005000 (O)
uio_pdrv_genirq 16384 0 - Live 0xbf000000
But I cannot see the device at /dev/axidma nor in /proc/devices
My device-tree is as follows:
amba_pl {
#address-cells = <0x01>;
#size-cells = <0x01>;
compatible = "simple-bus";
ranges;
phandle = <0x37>;
dma@40400000 {
#dma-cells = <0x01>;
clock-names = "s_axi_lite_aclk\0m_axi_sg_aclk\0m_axi_mm2s_aclk\0m_axi_s2mm_aclk";
clocks = <0x01 0x0f 0x01 0x0f 0x01 0x0f 0x01 0x0f>;
compatible = "xlnx,axi-dma-7.1\0xlnx,axi-dma-1.00.a";
interrupt-names = "mm2s_introut\0s2mm_introut";
interrupt-parent = <0x04>;
interrupts = <0x00 0x1d 0x04 0x00 0x1e 0x04>;
reg = <0x40400000 0x10000>;
xlnx,addrwidth = <0x20>;
xlnx,include-sg;
xlnx,sg-length-width = <0x0e>;
phandle = <0x12>;
dma-channel@40400000 {
compatible = "xlnx,axi-dma-mm2s-channel";
dma-channels = <0x01>;
interrupts = <0x00 0x1d 0x04>;
xlnx,datawidth = <0x20>;
xlnx,device-id = <0x00>;
};
dma-channel@40400030 {
compatible = "xlnx,axi-dma-s2mm-channel";
dma-channels = <0x01>;
interrupts = <0x00 0x1e 0x04>;
xlnx,datawidth = <0x20>;
xlnx,device-id = <0x01>;
};
};
};
chosen {
bootargs = "console=ttyPS0,115200 earlycon root=/dev/ram0 rw";
stdout-path = "serial0:115200n8";
};
axidma_chrdev@0 {
compatible = "xlnx,axidma-chrdev";
dmas = <0x12 0x00 0x12 0x01>;
d;
dma-names = "tx_channel\0rx_channel";
phandle = <0x38>;
};
Did you manage to solve the issue?
I solved the issue, I needed to uncheck the option Auto config settings -> Device tree autoconfig in petalinux-config. Then it works fine
Hi I compiled your module with petalinux 2020. I'm configured device tree with this code:
` /{ axidma_chrdev: 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{ //compatible = "xlnx,zynqmp-dma-1.0", "xlnx,axi-dma-7.1.a", "xlnx,axi-dma-1.00.a", "xlnx,axi-dma"; compatible = "xlnx,axi-dma", "xlnx,axi-dma-6.03.a", "xlnx,axi-dma-1.00.a"; clock-names = "s_axi_lite_aclk", "m_axi_sg_aclk", "m_axi_mm2s_aclk", "m_axi_s2mm_aclk"; clocks = <&zynqmp_clk 71>, <&zynqmp_clk 71>, <&zynqmp_clk 71>, <&zynqmp_clk 71>; interrupt-names = "mm2s_introut", "s2mm_introut"; interrupt-parent = <&gic>; interrupts = <0 89 4 0 90 4>; reg = <0x0 0xa0000000 0x0 0x10000>; xlnx,addrwidth = <0x40>; xlnx,include-sg ; xlnx,sg-length-width = <0x1a>; dma-channel@a0000000 { compatible = "xlnx,axi-dma-mm2s-channel"; dma-channels = <0x1>; interrupts = <0 89 4>; xlnx,datawidth = <0x20>; xlnx,device-id = <0x0>; }; dma-channel@a0000030 { compatible = "xlnx,axi-dma-s2mm-channel"; dma-channels = <0x1>; interrupts = <0 90 4>; xlnx,datawidth = <0x20>; xlnx,device-id = <0x0>; };
}; `
But it looks there is no devices in /dev. When I put modprobe command I got this result:
root@Testowy2:~# modprobe xilinx_axidma [ 46.597530] xilinx_axidma: loading out-of-tree module taints kernel. root@Testowy2:~#
Could you help me resolve this issue?