From: Dave H. <dhy...@gm...> - 2006-07-18 21:20:08
|
Hi Mark, On 7/18/06, Heilpern, Mark <mar...@au...> wrote: > Does anyone have an example of working DMA code for the PXA255 / Linux? > I've been trying to get this working but every time I start the DMA I > receive a bus error; I'm sure I'm not getting a valid physical address > in somewhere but I'm not sure how to fix it. > > I'm trying to set the NSSP (FIFO located at physical 0x41400010) as the > data source, and RAM as the target. I'm trying to set this up using DMA > descriptors. Relevant snippets of DMA-related code I'm using are below. > Thanks for any advice! Hmmm. You can find DMA samples for SPI in drivers/spi/pxa2xx_spi.c You'd be better off to use the infratructure that's already present since it supports DMA to/from the NSSP channel. The USB driver also supports DMA. Personally, I wouldn't build the descriptors myself. DMA memory is tricky because it has to also be uncached. There are a bunch of routines in the kernel for dealing with DMA (you'll see them in the sample mentioned above). I also see some documentation in Documentation/DMA-mapping.txt -- Dave Hylands Vancouver, BC, Canada http://www.DaveHylands.com/ |