lkml.org 
[lkml]   [2020]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 4/6] spi: spi-fsl-dspi: Add support for LS1028A
Am 2020-03-09 15:56, schrieb Vladimir Oltean:
> From: Vladimir Oltean <vladimir.oltean@nxp.com>
>
> This is similar to the DSPI instantiation on LS1028A, except that:
> - The A-011218 erratum has been fixed, so DMA works
> - The endianness is different, which has implications on XSPI mode
>
> Some benchmarking with the following command:
>
> spidev_test --device /dev/spidev2.0 --bpw 8 --size 256 --cpha --iter
> 10000000 --speed 20000000
>
> shows that in DMA mode, it can achieve around 2400 kbps, and in XSPI
> mode, the same command goes up to 4700 kbps. This is somewhat to be
> expected, since the DMA buffer size is extremely small at 8 bytes, the
> winner becomes whomever can prepare the buffers for transmission
> quicker, and DMA mode has higher overhead there. So XSPI FIFO mode has
> been chosen as the operating mode for this chip.
>
> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
> ---
> drivers/spi/spi-fsl-dspi.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c
> index 5624b9ee77db..264d184e7296 100644
> --- a/drivers/spi/spi-fsl-dspi.c
> +++ b/drivers/spi/spi-fsl-dspi.c
> @@ -131,6 +131,7 @@ struct fsl_dspi_devtype_data {
> enum {
> LS1021A,
> LS1012A,
> + LS1028A,
> LS1043A,
> LS1046A,
> LS2080A,
> @@ -163,6 +164,14 @@ static const struct fsl_dspi_devtype_data
> devtype_data[] = {
> .pushr_cmd = 0,
> .pushr_tx = 2,
> },
> + [LS1028A] = {
> + .trans_mode = DSPI_DMA_MODE,

shouldn't this be DSPI_XSPI_MODE according to your cover letter?

-michael

> + .dma_bufsize = 8,
> + .max_clock_factor = 8,
> + .fifo_size = 4,
> + .pushr_cmd = 2,
> + .pushr_tx = 0,
> + },
> [LS1043A] = {
> /* Has A-011218 DMA erratum */
> .trans_mode = DSPI_XSPI_MODE,
> @@ -1113,6 +1122,9 @@ static const struct of_device_id
> fsl_dspi_dt_ids[] = {
> }, {
> .compatible = "fsl,ls1012a-dspi",
> .data = &devtype_data[LS1012A],
> + }, {
> + .compatible = "fsl,ls1028a-dspi",
> + .data = &devtype_data[LS1028A],
> }, {
> .compatible = "fsl,ls1043a-dspi",
> .data = &devtype_data[LS1043A],

\
 
 \ /
  Last update: 2020-03-09 19:39    [W:0.122 / U:0.240 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site