spi: Introduce one new field to set word delay
authorBaolin Wang <baolin.wang@linaro.org>
Thu, 16 Aug 2018 12:54:49 +0000 (20:54 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 29 Aug 2018 10:48:46 +0000 (11:48 +0100)
For some SPI controllers, after each word size (specified by bits_per_word)
transimission, the hardware need some delay to make sure the slave has enough
time to receive the whole data.

So introducing one new 'word_delay' field of struct spi_tansfer for slave
devices to set this inter word delay time.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
include/linux/spi/spi.h

index a64235e..d698f9d 100644 (file)
@@ -711,6 +711,8 @@ extern void spi_res_release(struct spi_controller *ctlr,
  * @delay_usecs: microseconds to delay after this transfer before
  *     (optionally) changing the chipselect status, then starting
  *     the next transfer or completing this @spi_message.
+ * @word_delay: clock cycles to inter word delay after each word size
+ *     (set by bits_per_word) transmission.
  * @transfer_list: transfers are sequenced through @spi_message.transfers
  * @tx_sg: Scatterlist for transmit, currently not for client use
  * @rx_sg: Scatterlist for receive, currently not for client use
@@ -793,6 +795,7 @@ struct spi_transfer {
        u8              bits_per_word;
        u16             delay_usecs;
        u32             speed_hz;
+       u16             word_delay;
 
        struct list_head transfer_list;
 };