]> git.baikalelectronics.ru Git - kernel.git/commit
spi: lantiq-ssc: add support for Lantiq SSC SPI controller
authorHauke Mehrtens <hauke@hauke-m.de>
Mon, 13 Feb 2017 23:31:11 +0000 (00:31 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 14 Feb 2017 17:10:40 +0000 (17:10 +0000)
commitdd03e4f682c704175bf5ac4444d76b98933939eb
treebf02d8cf4c86ed2831bd3104048191c1809eea05
parente1822a3972fee29689451ba7aa6552367fbeb786
spi: lantiq-ssc: add support for Lantiq SSC SPI controller

This driver supports the Lantiq SSC SPI controller in master
mode. This controller is found on Intel (former Lantiq) SoCs like
the Danube, Falcon, xRX200, xRX300.

The hardware uses two hardware FIFOs one for received and one for
transferred bytes. When the driver writes data into the transmit FIFO
the complete word is taken from the FIFO into a shift register. The
data from this shift register is then written to the wire. This driver
uses the interrupts signaling the status of the FIFOs and not the shift
register. It is also possible to use the interrupts for the shift
register, but they will send a signal after every word. When using the
interrupts for the shift register we get a signal when the last word is
written into the shift register and not when it is written to the wire.
After all FIFOs are empty the driver busy waits till the hardware is
not busy any more and returns the transfer status.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/spi/spi-lantiq-ssc.txt [new file with mode: 0644]
drivers/spi/Kconfig
drivers/spi/Makefile
drivers/spi/spi-lantiq-ssc.c [new file with mode: 0644]