ep93xx SPI driver v3

Ryan Mallon ryan at bluewatersys.com
Sun Apr 18 16:53:28 EDT 2010


Martin Guy wrote:
> cc-ing to list...
> 
>> Next thing (after possible bug fixes, that is) is probably to
>> implement proper DMA support. Unfortunately there is no platform
>> code for that yet, only M2P controller support :( which means that
>>  we have to implement M2M controller support
> 
> Yes, ep93xx DMA engine has two flavours: memory-to-peripheral, used
> for most devices, and memory-to-memory, used for block memcpy and for
> memory-to-SSP/SPI (== SD card).
> 
> The easiest route would seem to be to get the M2M stuff working to do
> memcpy fast. Can linux make use of that? I haven't yet seen anything
> that can make use of a memory-to-memory copy DMA engine.

There is support for the M2P DMA (see arch/arm/mach-ep93xx/dma-m2p.c),
which could be used as a guide. There is also dmaengine, which I don't
know much about, but could possibly be implemented for the ep93xx DMA
channels. I think dmaengine supports asynchronous memcpy.

> If we can get that working, a reasonable second stage would make it
> work for ep93xx-SPI transfers, making SD card access even less
> CPU-intensive

Sine the M2M DMA support for the ep93xx is not in the mainline yet, I
would be happy for the SPI driver to be merged without DMA support, and
to have it added at a later date.

~Ryan

-- 
Bluewater Systems Ltd - ARM Technology Solution Centre

Ryan Mallon         		5 Amuri Park, 404 Barbadoes St
ryan at bluewatersys.com         	PO Box 13 889, Christchurch 8013
http://www.bluewatersys.com	New Zealand
Phone: +64 3 3779127		Freecall: Australia 1800 148 751
Fax:   +64 3 3779135			  USA 1800 261 2934



More information about the linux-arm-kernel mailing list