alistair23-linux/include/linux/spi
Martin Sperl 0ff2de8bb1
spi: core: allow defining time that cs is deasserted
For some SPI devices that support speed_hz > 1MHz the default 10 us delay
when cs_change = 1 is typically way to long and may result in poor spi bus
utilization.

This patch makes it possible to control the delay at micro or nano second
resolution on a per spi_transfer basis. It even allows an "as fast as
possible" mode with:
    xfer.cs_change_delay_unit = SPI_DELAY_UNIT_NSECS;
    xfer.cs_change_delay = 0;

The delay code is shared between delay_usecs and cs_change_delay for
consistency and reuse, so in the future this change_delay_unit could also
apply to delay_usec as well.

Note that on slower SOCs/CPU actually reaching ns deasserts on cs is not
realistic as the gpio overhead alone (without any delays added ) may
already leave cs deasserted for more than 1us - at least on a raspberry pi.
But at the very least this way we can keep it as short as possible.

Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-05-08 18:28:51 +09:00
..
ad7877.h
ads7846.h
at73c213.h
at86rf230.h
cc2520.h
corgi_lcd.h
ds1305.h
eeprom.h
flash.h
ifx_modem.h
l4f00242t03.h
libertas_spi.h
lms283gf05.h
max7301.h
mc33880.h
mcp23s08.h
mmc_spi.h
mxs-spi.h
pxa2xx_spi.h spi: pxa2xx: Introduce DMA burst size support 2019-03-20 17:21:17 +00:00
rspi.h
s3c24xx.h
sh_hspi.h
sh_msiof.h
spi-fsl-dspi.h
spi-mem.h spi: spi-mem: Make spi_mem_default_supports_op() static inline 2019-05-02 10:37:46 +09:00
spi.h spi: core: allow defining time that cs is deasserted 2019-05-08 18:28:51 +09:00
spi_bitbang.h spi: bitbang: Introduce spi_bitbang_init() 2019-04-08 14:10:39 +07:00
spi_gpio.h
spi_oc_tiny.h
tdo24m.h
tle62x0.h
xilinx_spi.h