spi: pxa2xx: Add support for Intel Sunrisepoint
authorJarkko Nikula <jarkko.nikula@linux.intel.com>
Thu, 30 Jul 2015 13:30:07 +0000 (16:30 +0300)
committerMark Brown <broonie@kernel.org>
Fri, 31 Jul 2015 18:13:33 +0000 (19:13 +0100)
commit34cadd9c1bcbd5ad5a1f379b013526a8046d4aed
tree94d095ade2a89eb3806610d0bb35597968f0d1f7
parent1aae50a245736aec603c319fea2a83a90dc69aba
spi: pxa2xx: Add support for Intel Sunrisepoint

Major difference in LPSS SPI between Intel Sunrisepoint PCH and earlier
platforms is an integrated DMA (iDMA) engine. iDMA is an IP that is private
for each LPSS host controller (UART/SPI/I2C). Other differences are private
register space offset, a few private registers that are in different
location and FIFO thresholds.

Intel Sunrisepoint LPSS SPI and iDMA devices are probed and registered in
MFD layer as platform devices. Here these compound devices are detected by
matching against known PCI IDs. This allows us to share
pxa2xx_spi_acpi_get_pdata() for setting up the platform data instead of
duplicating it in MFD part.

This patch adds configuration for Intel Sunrisepoint LPSS SPI, above
detection and DMA filter function that picks the DMA channel only from an
associated iDMA block.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-pxa2xx.c
include/linux/pxa2xx_ssp.h