spi/pxa2xx: add support for Intel Low Power Subsystem SPI
authorMika Westerberg <mika.westerberg@linux.intel.com>
Tue, 22 Jan 2013 10:26:32 +0000 (12:26 +0200)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 8 Feb 2013 13:14:40 +0000 (13:14 +0000)
commita0d2642e9296882cda3ad03ff3d9a6649cd70439
tree4c3f4a29ba904a357789cd7c2286eb035fa16340
parentb833172fd8f44fb56e0b3cb810155a6baecc65dc
spi/pxa2xx: add support for Intel Low Power Subsystem SPI

Intel LPSS SPI is pretty much the same as the PXA27xx SPI except that it
has few additional features over the original:

o FIFO depth is 256 entries
o RX FIFO has one watermark
o TX FIFO has two watermarks, low and high
o chip select can be controlled by writing to a register

The new FIFO registers follow immediately the PXA27xx registers but then there
are some additional LPSS private registers at offset 1k or 2k from the base
address. For these private registers we add new accessors that take advantage
of drv_data->lpss_base once it is resolved.

We add a new type LPSS_SSP that can be used to distinguish the LPSS devices
from others.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Tested-by: Lu Cao <lucao@marvell.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/spi/spi-pxa2xx.c
drivers/spi/spi-pxa2xx.h
include/linux/pxa2xx_ssp.h
include/linux/spi/pxa2xx_spi.h