François Legal via Xenomai <[email protected]> writes:
> Hello, > > working on a zynq7000 target (arm cortex a9), we have a peripheral that > generates loads of data (many kbytes per ms). > > We would like to move that data, directly from the peripheral memory (the OCM > of the SoC) directly to our RT application user memory using DMA. > > For one part of the data, we would like the DMA to de interlace that data > while moving it. We figured out, the PL330 peripheral on the SoC should be > able to do it, however, we would like, as much as possible, to retain the use > of one or two channels of the PL330 to plain linux non RT use (via dmaengine). > > My first attempt would be to enhance the dmaengine API to add RT API, then > implement the RT API calls in the PL330 driver. > > What do you think of this approach, and is it achievable at all (DMA directly > to user land memory and/or having DMA channels exploited by xenomai and other > by linux) ? > > Thanks in advance > > François As a starting point, you may want to have a look at this document: https://evlproject.org/core/oob-drivers/dma/ This is part of the EVL core documentation, but this is actually a Dovetail feature. -- Philippe.
