Messages in this thread | | | Date | Mon, 09 Mar 2020 19:38:48 +0100 | From | Michael Walle <> | Subject | Re: [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],
| |