summaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi-fsl-dspi.c
diff options
context:
space:
mode:
authorVladimir Oltean <vladimir.oltean@nxp.com>2020-03-02 01:19:58 +0100
committerMark Brown <broonie@kernel.org>2020-03-04 19:28:54 +0100
commit0feaf8f5afe057c397a440e76865b3d746dc9f7e (patch)
tree82004eb7c6a796ee5011768890c0dd04f61def83 /drivers/spi/spi-fsl-dspi.c
parentspi: spi-fsl-dspi: Support SPI software timestamping in all non-DMA modes (diff)
downloadlinux-0feaf8f5afe057c397a440e76865b3d746dc9f7e.tar.xz
linux-0feaf8f5afe057c397a440e76865b3d746dc9f7e.zip
spi: spi-fsl-dspi: Convert the instantiations that support it to DMA
The A-011218 eDMA/DSPI erratum affects most of the older Layerscape SoCs with DSPI, and its workaround is a bit intrusive. After this patch, there are no users of TCFQ mode that don't also support XSPI (previously there was LS2085A). Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Message-Id: <20200302001958.11105-7-olteanv@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi/spi-fsl-dspi.c')
-rw-r--r--drivers/spi/spi-fsl-dspi.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c
index c26a42f8ecbc..c357c3247232 100644
--- a/drivers/spi/spi-fsl-dspi.c
+++ b/drivers/spi/spi-fsl-dspi.c
@@ -147,42 +147,49 @@ static const struct fsl_dspi_devtype_data devtype_data[] = {
.fifo_size = 4,
},
[LS1021A] = {
+ /* Has A-011218 DMA erratum */
.trans_mode = DSPI_TCFQ_MODE,
.max_clock_factor = 8,
.xspi_mode = true,
.fifo_size = 4,
},
[LS1012A] = {
+ /* Has A-011218 DMA erratum */
.trans_mode = DSPI_TCFQ_MODE,
.max_clock_factor = 8,
.xspi_mode = true,
.fifo_size = 16,
},
[LS1043A] = {
+ /* Has A-011218 DMA erratum */
.trans_mode = DSPI_TCFQ_MODE,
.max_clock_factor = 8,
.xspi_mode = true,
.fifo_size = 16,
},
[LS1046A] = {
+ /* Has A-011218 DMA erratum */
.trans_mode = DSPI_TCFQ_MODE,
.max_clock_factor = 8,
.xspi_mode = true,
.fifo_size = 16,
},
[LS2080A] = {
- .trans_mode = DSPI_TCFQ_MODE,
+ .trans_mode = DSPI_DMA_MODE,
+ .dma_bufsize = 8,
.max_clock_factor = 8,
.xspi_mode = true,
.fifo_size = 4,
},
[LS2085A] = {
- .trans_mode = DSPI_TCFQ_MODE,
+ .trans_mode = DSPI_DMA_MODE,
+ .dma_bufsize = 8,
.max_clock_factor = 8,
.fifo_size = 4,
},
[LX2160A] = {
- .trans_mode = DSPI_TCFQ_MODE,
+ .trans_mode = DSPI_DMA_MODE,
+ .dma_bufsize = 8,
.max_clock_factor = 8,
.xspi_mode = true,
.fifo_size = 4,