Coder Social home page Coder Social logo

Comments (8)

dantepayne avatar dantepayne commented on August 26, 2024 1

When I change DT Like this:
&amba_pl {
axidma_chrdev: axidma_chrdev@0 {
compatible = "xlnx,axidma-chrdev";
dmas = <&axi_dma_0 1>;
dma-names = "rx_channel";
};
};

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

The Driver collapse.Segment fault occur.
But I use this DT:
&amba_pl {
axidma_chrdev: axidma_chrdev@0 {
compatible = "xlnx,axidma-chrdev";
dmas = <&axi_dma_0 0>;
dma-names = "rx_channel";
};
};

&axi_dma_0 {
dma-channel@a0000030 {
xlnx,device-id = <0x1>;
};
};
The Problem is the same.
xilinx_axidma: loading out-of-tree module taints kernel.
axidma: axidma_dma.c: axidma_request_channels: 651: Unable to get slave channel 0: rx_channel.
axidma: probe of amba_pl:axidma_chrdev@0 failed with error -38
Here is my pl.dtsi:
amba_pl: amba_pl@0 {
#address-cells = <2>;
#size-cells = <2>;
compatible = "simple-bus";
ranges ;
axi_dma_0: dma@a0000000 {
#dma-cells = <1>;
clock-names = "s_axi_lite_aclk", "m_axi_s2mm_aclk";
clocks = <&zynqmp_clk 71>, <&zynqmp_clk 71>;
compatible = "xlnx,axi-dma-7.1", "xlnx,axi-dma-1.00.a";
interrupt-names = "s2mm_introut";
interrupt-parent = <&gic>;
interrupts = <0 89 4>;
reg = <0x0 0xa0000000 0x0 0x10000>;
xlnx,addrwidth = <0x20>;
xlnx,sg-length-width = <0x17>;
dma-channel@a0000030 {
compatible = "xlnx,axi-dma-s2mm-channel";
dma-channels = <0x1>;
interrupts = <0 89 4>;
xlnx,datawidth = <0x20>;
xlnx,device-id = <0x0>;
};
};
axi_gpio_dma_rstn: gpio@a0010000 {
#gpio-cells = <3>;
clock-names = "s_axi_aclk";
clocks = <&zynqmp_clk 71>;
compatible = "xlnx,axi-gpio-2.0", "xlnx,xps-gpio-1.00.a";
gpio-controller ;
reg = <0x0 0xa0010000 0x0 0x80>;
xlnx,all-inputs = <0x0>;
xlnx,all-inputs-2 = <0x0>;
xlnx,all-outputs = <0x1>;
xlnx,all-outputs-2 = <0x0>;
xlnx,dout-default = <0x00000000>;
xlnx,dout-default-2 = <0x00000000>;
xlnx,gpio-width = <0x1>;
xlnx,gpio2-width = <0x20>;
xlnx,interrupt-present = <0x0>;
xlnx,is-dual = <0x0>;
xlnx,tri-default = <0xFFFFFFFF>;
xlnx,tri-default-2 = <0xFFFFFFFF>;
};
axi_gpio_dma_start: gpio@a0020000 {
#gpio-cells = <3>;
clock-names = "s_axi_aclk";
clocks = <&zynqmp_clk 71>;
compatible = "xlnx,axi-gpio-2.0", "xlnx,xps-gpio-1.00.a";
gpio-controller ;
reg = <0x0 0xa0020000 0x0 0x80>;
xlnx,all-inputs = <0x0>;
xlnx,all-inputs-2 = <0x0>;
xlnx,all-outputs = <0x1>;
xlnx,all-outputs-2 = <0x0>;
xlnx,dout-default = <0x00000000>;
xlnx,dout-default-2 = <0x00000000>;
xlnx,gpio-width = <0x1>;
xlnx,gpio2-width = <0x20>;
xlnx,interrupt-present = <0x0>;
xlnx,is-dual = <0x0>;
xlnx,tri-default = <0xFFFFFFFF>;
xlnx,tri-default-2 = <0xFFFFFFFF>;
};
};

from xilinx_axidma.

dahunt avatar dahunt commented on August 26, 2024

Hi,

Did you ever get a solution to your problem above? I am running into the same issue under 2022.1.
Thanks!

from xilinx_axidma.

Timgrau avatar Timgrau commented on August 26, 2024

Hey @dahunt @jimenaCabrejas, due to this issue #24 (comment) have you tried to change the device id for the dma channel in the axidma_chrdev node, in system-user.dtsi to 1? i.e. dmas = <&axi_dma_0 1>;

from xilinx_axidma.

dahunt avatar dahunt commented on August 26, 2024

Hey @Timgrau,

Yup! that was exactly the problem. I also had to provide an device id. I'm still a newbie at this... but here is my working user dt entry for the Rx only streaming DMA project for your reference.

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

&amba_pl {
dma_proxy {
compatible = "xlnx,dma_proxy";
dmas = <&hier_DataGen_axi_dma_0 1>;
dma-names = "dma_proxy_rx";
dma-coherent;
};

    hier_DataGen_axi_dma_0: dma@80020000 {
            dma-channel@80020030 {
                    xlnx,device-id = <0x1>;
            };
    };

};

from xilinx_axidma.

Timgrau avatar Timgrau commented on August 26, 2024

Thank you @dahunt for the reference. Did you use the dma-proxy driver: https://github.com/Xilinx-Wiki-Projects/software-prototypes/tree/master/linux-user-space-dma?

You did not attached this devie-tree-nodes into your system-user.dtsi right? Where did you add them? Did you enabled the fpga-manager in your petalinux config file?

In your PetaLinux project:
cat project-spec/configs/config | grep FPGA

from xilinx_axidma.

dantepayne avatar dantepayne commented on August 26, 2024

Hey @Timgrau,

Yup! that was exactly the problem. I also had to provide an device id. I'm still a newbie at this... but here is my working user dt entry for the Rx only streaming DMA project for your reference.

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

&amba_pl { dma_proxy { compatible = "xlnx,dma_proxy"; dmas = <&hier_DataGen_axi_dma_0 1>; dma-names = "dma_proxy_rx"; dma-coherent; };

    hier_DataGen_axi_dma_0: dma@80020000 {
            dma-channel@80020030 {
                    xlnx,device-id = <0x1>;
            };
    };

};

Hey @dahunt ,I meet the same problem,Have you solve it ?

from xilinx_axidma.

HongHanPT avatar HongHanPT commented on August 26, 2024

Hey @dantepayne ,I meet the same problem,Have you solve it?

from xilinx_axidma.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.