Greetings once again,
I originally asked for some help with this regarding GPIOs and my MPC5200B-board
Link to original post/topic
I more or less got it to work, but the transfer rate for pure GPIO pin access and my linux seemed to be not sufficient.
I created a module for configuration and to provide a buffer to acccess via my user application. I polled my external clock line and read data in a while loop. That was only a partial success because of system load and to slow data transfer.
Now I am trying to offload some of the work to the BestComm DMA controller while my input data source is now a FiFo, sort of at least.
The FiFo is connected to the LocalPlus-lines of my board (Phytec PCM-973) and yet again baffles me sometimes by crashing my filesystem.
The LocalPlus uses the same lines as ATA and PCI and presumably the local flash disk/RAM, where the Linux kernel is situated.
While the FiFo is active certain filesystem accesses crash the filesystem or corrupt it. My "interface" is still "experimental" and certainly needs some fixing.
Freescale provides an API for the BestComm DMA with its Quickstart packages but they are not perfectly compatible with linux (user space <-> kernel space,...) so I am having some problems with them to, to atleast start some DMA task.
I could get most of the start-up example to work/compile as a module but I am getting "Unknown symbol" warnings for the API functions and can't insmod my module.
Setting up the DMA tasks and data transfers to User Space still looms in the background while in the Freescale Application Notes concerning configuring the task a configuration tool is pointed out which still seems to be in development.
In conclusion: Freescale MPC5200b with BestComm DMA controller on a Phytec board with an 2.6.23.1 linux for this board and a (parallel) MPEG transport stream via a FiFo/FPGA.
Any help or hints greatly appreciated
Dave