Using Bestcomm API (DMA) on MPC5200b with Linux?
Matt Sealey
matt at genesi-usa.com
Fri Oct 24 09:28:02 EST 2008
You need to write a task that does the DMA operation you want;
GenBD is actually pretty generic and lets you just copy from
one place to another.
The API is pretty simple; make sure genbd is compiled in, get
the task structure using bcom_gen_bd_[tr]x_init, and then..
uhh.. this is where I always forget.
There is a way to submit a buffer descriptor and have the
engine basically perform that transfer. I think it's
bcom_prepare_next_buffer and then bcom_submit_next_buffer.
Actually I can't even FIND those functions in the Linux tree
right now, but they have to be in there because the FEC driver
uses them..
--
Matt Sealey <matt at genesi-usa.com>
Genesi, Manager, Developer Relations
Dave Best wrote:
> I am trying to connect a FPGA/FIFO with my MPC5200b on a phytec PCM 030 board while running a 2.6.23.1 Linux.
>
> The Linux Kernel source contains an implementation for the Bestcomm API in the form of a driver for ethernet (fec) and ATA.(situated in the arch-powerpc/sysdev/bestcomm path) I tried to make use of it but i've run into some problems.
>
> So i tried to include the API in a module to utilize its functionality but no luck till now.
>
> Freescale supports the Bestcomm DMA API not on an OS level. So the problem is adopting this API into a Linux environment, which distinguishes between kernel space and user space while writing to the appropriate registers.
>
> Further information is very hard to find for such a common task as starting a DMA transfer.
>
> Dave
>
>
>
>
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
More information about the Linuxppc-embedded
mailing list