diff options
Diffstat (limited to 'drivers/spi/spi-fsl-dspi.c')
-rw-r--r-- | drivers/spi/spi-fsl-dspi.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c index 7cb3ab0a35a0..3082e72e4f6c 100644 --- a/drivers/spi/spi-fsl-dspi.c +++ b/drivers/spi/spi-fsl-dspi.c | |||
@@ -30,7 +30,11 @@ | |||
30 | 30 | ||
31 | #define DRIVER_NAME "fsl-dspi" | 31 | #define DRIVER_NAME "fsl-dspi" |
32 | 32 | ||
33 | #ifdef CONFIG_M5441x | ||
34 | #define DSPI_FIFO_SIZE 16 | ||
35 | #else | ||
33 | #define DSPI_FIFO_SIZE 4 | 36 | #define DSPI_FIFO_SIZE 4 |
37 | #endif | ||
34 | #define DSPI_DMA_BUFSIZE (DSPI_FIFO_SIZE * 1024) | 38 | #define DSPI_DMA_BUFSIZE (DSPI_FIFO_SIZE * 1024) |
35 | 39 | ||
36 | #define SPI_MCR 0x00 | 40 | #define SPI_MCR 0x00 |
@@ -623,9 +627,11 @@ static void dspi_tcfq_read(struct fsl_dspi *dspi) | |||
623 | static void dspi_eoq_write(struct fsl_dspi *dspi) | 627 | static void dspi_eoq_write(struct fsl_dspi *dspi) |
624 | { | 628 | { |
625 | int fifo_size = DSPI_FIFO_SIZE; | 629 | int fifo_size = DSPI_FIFO_SIZE; |
630 | u16 xfer_cmd = dspi->tx_cmd; | ||
626 | 631 | ||
627 | /* Fill TX FIFO with as many transfers as possible */ | 632 | /* Fill TX FIFO with as many transfers as possible */ |
628 | while (dspi->len && fifo_size--) { | 633 | while (dspi->len && fifo_size--) { |
634 | dspi->tx_cmd = xfer_cmd; | ||
629 | /* Request EOQF for last transfer in FIFO */ | 635 | /* Request EOQF for last transfer in FIFO */ |
630 | if (dspi->len == dspi->bytes_per_word || fifo_size == 0) | 636 | if (dspi->len == dspi->bytes_per_word || fifo_size == 0) |
631 | dspi->tx_cmd |= SPI_PUSHR_CMD_EOQ; | 637 | dspi->tx_cmd |= SPI_PUSHR_CMD_EOQ; |