Mathworks ipcore test using axi4stream in linux
Ältere Kommentare anzeigen
Hello,
I'm using an ipcore generated using hdlcoder, I placed it in vivado generated the bitstream and compiled it to the BOOT.bin file.
The purpose is to test my ipcore in linux, Im using the Analogdevice_kernel, which includes the mathworks kernel driver for the ipcores.
the problem is when the board is booting it shows that the AxiDMA engine are probed, but the dma buffer cannot be created, so the device is defered.
Do I have a problem in the device tree?
fpga_axi: fpga-axi@0 {
compatible = "simple-bus";
interrupt-parent = <&intc>;
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges;
axi_dma_0: axidma@40400000 {
compatible = "xlnx,axi-dma-1.00.a";
reg = <0x40400000 0x10000>;
#dma-cells = <0x1>;
xlnx,include-sg = <0x0>;
xlnx,addrwidth = <32>;
xlnx,axistream-connected = <0x1>;
clock-names = "s_axi_lite_aclk", "m_axi_mm2s_aclk";
clocks = <&clkc 15>, <&clkc 15>;
dma-channel@40400000 {
compatible = "xlnx,axi-dma-mm2s-channel";
xlnx,datawidth = <64>;
interrupts = <0x0 44 4>;
};
};
axi_dma_1: axidma@40410000 {
compatible = "xlnx,axi-dma-1.00.a";
reg = <0x40410000 0x10000>;
#dma-cells = <0x1>;
xlnx,include-sg = <0x0>;
xlnx,addrwidth = <32>;
xlnx,axistream-connected = <0x1>;
clock-names = "s_axi_lite_aclk", "m_axi_s2mm_aclk";
clocks = <&clkc 15>, <&clkc 15>;
dma-channel@40410000 {
compatible = "xlnx,axi-dma-s2mm-channel";
xlnx,datawidth = <32>;
interrupts = <0x0 45 4>;
};
};
matlab_ip: ip_core@43c00000 {
compatible = "mathworks,mwipcore-v3.00";
reg = <0x43c00000 0x10000>;
mathworks,rst-reg = <0x0>;
mathworks,timestamp-reg = <0x4>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
ipcoreRx_channel: stream-channel@0{
compatible = "mathworks,axi4stream-mm2s-channel-v1.00";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x1>;
mathworks,dev-name = "mm2s0";
mathworks,sample-cnt-reg= <0x8>;
dmas = <&axi_dma_0 0>;
dma-names = "mm2s";
data-channel@0 {
compatible = "mathworks,iio-data-channel-v1.00";
mathworks,data-format = "u64/64>>0";
mathworks,chan-name= "mm2s";
reg = <0x0>;
};
};
ipcoreTx_channel: stream-channel@1 {
compatible = "mathworks,axi4stream-s2mm-channel-v1.00";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x1>;
mathworks,dev-name = "s2mm0";
mathworks,sample-cnt-reg= <0x8>;
dmas = <&axi_dma_1 1>;
dma-names = "s2mm";
data-channel@0 {
compatible = "mathworks,iio-data-channel-v1.00";
mathworks,data-format = "u32/32>>0";
mathworks,chan-name= "s2mm";
reg = <0x0>;
};
};
};
};
When the board is booting as I mentioned before the axidma are good :
xilinx-vdma 40400000.axidma: Xilinx AXI DMA Engine Driver Probed!!
xilinx-vdma 40410000.axidma: Xilinx AXI DMA Engine Driver Probed!!
but not the ipCore :
Registered mathworks_ip class
mwipcore 43c00000.ip_core: error -ENXIO: IRQ index 0 not found
mwipcore 43c00000.ip_core: Dev memory resource found at (ptrval) 00010000.
mwipcore 43c00000.ip_core: 'ip_core' device not found, creating
mwipcore 43c00000.ip_core: Char dev region registered: major num:245
mwipcore 43c00000.ip_core: 'ip_core' device created
iio iio:device0: Deferring probe for DMA engine driver load
mwipcore 43c00000.ip_core: Destroy character dev
mwipcore 43c00000.ip_core: release device region


Antworten (0)
Kategorien
Mehr zu Targeting FPGA & SoC Hardware finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!