|
View:
New views
6 Messages
—
Rating Filter:
Alert me
|
|
|
Using Bestcomm API (DMA) on MPC5200b with Linux?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@... https://ozlabs.org/mailman/listinfo/linuxppc-embedded |
|
|
Re: Using Bestcomm API (DMA) on MPC5200b with Linux?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@...> 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@... > https://ozlabs.org/mailman/listinfo/linuxppc-embedded _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@... https://ozlabs.org/mailman/listinfo/linuxppc-embedded |
|
|
Re: Using Bestcomm API (DMA) on MPC5200b with Linux?Was the new BestComm support in the 2.6.23.1 kernel he is using?
On Thu, Oct 23, 2008 at 6:28 PM, Matt Sealey <matt@...> wrote: > 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@...> > 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@... >> https://ozlabs.org/mailman/listinfo/linuxppc-embedded > > > _______________________________________________ > Linuxppc-embedded mailing list > Linuxppc-embedded@... > https://ozlabs.org/mailman/listinfo/linuxppc-embedded > -- Jon Smirl jonsmirl@... _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@... https://ozlabs.org/mailman/listinfo/linuxppc-embedded |
|
|
Re: Using Bestcomm API (DMA) on MPC5200b with Linux?You know, Sylvain posted his patch the week after 2.6.23 was released
so I guess it's a big fat no. However the original patchset or it (http://ozlabs.org/pipermail/linuxppc-dev/2007-October/044301.html) should patch very easily. The last thing you'd want is to code a driver using BestComm right now, and then move to a new kernel later on in development and have to rewrite it from scratch. The Freescale API really is dead as a dodo. -- Matt Sealey <matt@...> Genesi, Manager, Developer Relations Jon Smirl wrote: > Was the new BestComm support in the 2.6.23.1 kernel he is using? > > On Thu, Oct 23, 2008 at 6:28 PM, Matt Sealey <matt@...> wrote: >> 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@...> >> 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@... >>> https://ozlabs.org/mailman/listinfo/linuxppc-embedded >> >> _______________________________________________ >> Linuxppc-embedded mailing list >> Linuxppc-embedded@... >> https://ozlabs.org/mailman/listinfo/linuxppc-embedded >> > > > _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@... https://ozlabs.org/mailman/listinfo/linuxppc-embedded |
|
|
Re: Using Bestcomm API (DMA) on MPC5200b with Linux?I tried to use GenBD.
I looked at "mpc52xx_ac97.c" which seems to be a sound driver which apparently uses the GenBD tasks, if only the tx ones and the buffers. As i connected my FPGA/FiFo to the LocalPlus i called bcom_gen_bd_rx_init with LP as initiator and the LP FiFo address. I called bcom_prepare_next_buffer and then bcom_submit_next_buffer and enabled my task. In advance i prepared the LP registers to my intended transfers and to use CS1. But the task doesn't seem to call any chip select to fill its buffers. Frankly, i'm really at a loss on how to proceed. Dave --- Matt Sealey <matt@...> schrieb am Fr, 24.10.2008: > Von: Matt Sealey <matt@...> > Betreff: Re: Using Bestcomm API (DMA) on MPC5200b with Linux? > An: linuxppc-embedded@... > CC: arieswar24b@... > Datum: Freitag, 24. Oktober 2008, 0:28 > 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@...> > 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@... > > https://ozlabs.org/mailman/listinfo/linuxppc-embedded _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@... https://ozlabs.org/mailman/listinfo/linuxppc-embedded |
|
|
Re: Using Bestcomm API (DMA) on MPC5200b with Linux?On Montag, 27. Oktober 2008, Matt Sealey wrote:
> You know, Sylvain posted his patch the week after 2.6.23 was released > so I guess it's a big fat no. I guess: Yes. He uses this patch series as he uses our board support package. And I took this patch series and included it in our BSP release. Juergen Beisert -- Dipl.-Ing. Juergen Beisert | http://www.pengutronix.de Pengutronix - Linux Solutions for Science and Industry Handelsregister: Amtsgericht Hildesheim, HRA 2686 Vertretung Sued/Muenchen, Germany Phone: +49-8766-939 228 | Fax: +49-5121-206917-5555 _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@... https://ozlabs.org/mailman/listinfo/linuxppc-embedded |
| Free embeddable forum powered by Nabble | Forum Help |