Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
11 years ago

mSGDMA, Qsys, and Linux Integration

So I've been trying to get the Modular SG-DMA working in a Qsys project tied with Linux. I can get it to show up in the device tree, be recognized by Linux in /sys, and it looks like the memory mapping works.

Below is a clip from the msgdma in my device tree:

msgdma_0: msgdma@0x100000020 {

compatible = "altr,msgdma-14.1", "altr,msgdma-1.0";

reg = <0x00000001 0x00000020 0x00000020>,

<0x00000001 0x00000010 0x00000010>;

reg-names = "csr", "descriptor_slave";

interrupt-parent = <&hps_0_arm_gic_0>;

interrupts = <0 41 4>;

clocks = <&clk_0>;

}; //end msgdma@0x100000020 (msgdma_0)

Now the interesting part of all this is that there are no drivers for altr,msgdma-1.0 available in the 3.10-ltsi. While direct memory mapping will probably work to write to the descriptor, has anyone had any luck with writing mSGDMA descriptors from the HPS? It looks like people have been able to use the Altera DMA Controller, no problem, but the mSGDMA provides a wider bus width and more configurable options that could be highly beneficial for an FPGA-to-HPS bridge.

Thanks!

27 Replies