linux/include
Jan Nikitenko 63bd23591e au1550 SPI controller driver
Here is a driver for the Alchemy au1550 PSC (Programmable Serial
Controller) in SPI master mode.

It supports dma transfers using the Alchemy descriptor based dma controller
for 4-8 bits per word SPI transfers.  For 9-24 bits per word transfers, pio
irq based mode is used to avoid setup of dma channels from scratch on each
number of bits per word change.

Tested with au1550; this may also work on other MIPS Alchemy cpus, like
au1200/au1210/au1250.  Used extensively with SD card connected via SPI;
this handles 8.1MHz SPI clock transfers using dma without any problem (the
highest SPI clock freq possible with au1550 running on 324MHz).

The driver supports sharing of SPI bus by multiple devices.  All features
of Alchemy SPI mode are supported (all SPI modes, msb/lsb first, bits per
word in 4-24 range).

As the SPI clock of the controller depends on main input clock that shall
be configured externally, platform data structure for au1550 SPI controller
driver contains mainclk_hz attribute to define the input clock rate.  From
this value, dividers of the controller for SPI clock are set up for
required frequency.

Signed-off-by: Jan Nikitenko <jan.nikitenko@gmail.com>

Whitespace and section fixups.  Remove partial workaround for platform
setup bug in dma_mask setup; it couldn't work with multiple controllers.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-08 11:15:16 -07:00
..
acpi PNPACPI sets pnpdev->dev.archdata 2007-05-08 11:15:08 -07:00
asm-alpha Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-arm Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-arm26 Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-avr32 Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-blackfin blackfin architecture 2007-05-07 12:12:58 -07:00
asm-cris move die notifier handling to common code 2007-05-08 11:15:04 -07:00
asm-frv Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-generic move die notifier handling to common code 2007-05-08 11:15:04 -07:00
asm-h8300 Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-i386 Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-ia64 Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-m32r Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-m68k Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-m68knommu Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-mips au1550 SPI controller driver 2007-05-08 11:15:16 -07:00
asm-parisc Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-powerpc kdump/kexec: calculate note size at compile time 2007-05-08 11:15:07 -07:00
asm-ppc Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-s390 kdump/kexec: calculate note size at compile time 2007-05-08 11:15:07 -07:00
asm-sh Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-sh64 Clean up mostly unused IOSPACE macros 2007-05-08 11:15:13 -07:00
asm-sparc move die notifier handling to common code 2007-05-08 11:15:04 -07:00
asm-sparc64 consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
asm-um move die notifier handling to common code 2007-05-08 11:15:04 -07:00
asm-v850 move die notifier handling to common code 2007-05-08 11:15:04 -07:00
asm-x86_64 x86_64: kill 19000+ sparse warnings 2007-05-08 11:15:14 -07:00
asm-xtensa move die notifier handling to common code 2007-05-08 11:15:04 -07:00
crypto [CRYPTO] cryptd: Add software async crypto daemon 2007-05-02 14:38:32 +10:00
keys [AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and kernel both 2007-04-26 15:48:28 -07:00
linux SPI kerneldoc 2007-05-08 11:15:16 -07:00
math-emu Delete unused header file math-emu/extended.h 2007-05-08 11:15:05 -07:00
media i2c: Cleanup the includes of <linux/i2c.h> 2007-05-01 23:26:29 +02:00
mtd UBI: Unsorted Block Images 2007-04-27 14:23:33 +03:00
net cleanup compat ioctl handling 2007-05-08 11:15:09 -07:00
pcmcia add new_id to PCMCIA drivers 2007-05-07 12:12:50 -07:00
rdma Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband 2007-05-07 12:18:21 -07:00
rxrpc [AF_RXRPC]: Delete the old RxRPC code. 2007-04-26 15:55:48 -07:00
scsi [SCSI] modalias for scsi devices 2007-04-17 18:15:04 -04:00
sound [ALSA] version 1.0.14rc3 2007-03-14 08:25:52 +01:00
video
Kbuild