spi: spi-fsl-dspi: use XSPI mode instead of DMA for DPAA2 SoCs
authorVladimir Oltean <vladimir.oltean@nxp.com>
Thu, 10 Sep 2020 12:15:32 +0000 (15:15 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Oct 2020 15:36:28 +0000 (17:36 +0200)
commit9003be1fb4d099d6b37f7dd20e7cc15b00755a1e
tree599bc113bcb8761b915a77c0f0ee31afeacb484b
parenta634ff2bb06a4e3a57ec887f1a3e290c9044aba1
spi: spi-fsl-dspi: use XSPI mode instead of DMA for DPAA2 SoCs

[ Upstream commit 505623a2be48b36de533951ced130876a76a2d55 ]

The arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi device tree lacks DMA
channels for DSPI, so naturally, the driver fails to probe:

[ 2.945302] fsl-dspi 2100000.spi: rx dma channel not available
[ 2.951134] fsl-dspi 2100000.spi: can't get dma channels

In retrospect, this should have been obvious, because LS2080A, LS2085A
LS2088A and LX2160A don't appear to have an eDMA module at all. Looking
again at their datasheets, the CTARE register (which is specific to XSPI
functionality) seems to be documented, so switch them to XSPI mode
instead.

Fixes: 0feaf8f5afe0 ("spi: spi-fsl-dspi: Convert the instantiations that support it to DMA")
Reported-by: Qiang Zhao <qiang.zhao@nxp.com>
Tested-by: Qiang Zhao <qiang.zhao@nxp.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://lore.kernel.org/r/20200910121532.1138596-1-olteanv@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/spi/spi-fsl-dspi.c