summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorIonela Voinescu <ionela.voinescu@imgtec.com>2018-07-23 00:20:06 +0300
committerMark Brown <broonie@kernel.org>2018-07-30 18:31:54 +0300
commitbaec8eb323cd59d1bfe148a287610819d5897838 (patch)
tree536c857a570d553b99b844230a5406082cd97ff7 /drivers/spi
parent45e41bc5259242921da755c60c705ff368beb8ce (diff)
downloadlinux-baec8eb323cd59d1bfe148a287610819d5897838.tar.xz
spi: img-spfi: Set device select bits for SPFI port state
Even if the chip select line is not controlled by the SPFI hardware, the device select bits need to be set to specify the chip select line in use for the hardware to know what parameters to use for the current transfer. Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com> Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-img-spfi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/spi/spi-img-spfi.c b/drivers/spi/spi-img-spfi.c
index 7a37090dabbe..e6eb979f1b8a 100644
--- a/drivers/spi/spi-img-spfi.c
+++ b/drivers/spi/spi-img-spfi.c
@@ -419,6 +419,9 @@ static int img_spfi_prepare(struct spi_master *master, struct spi_message *msg)
u32 val;
val = spfi_readl(spfi, SPFI_PORT_STATE);
+ val &= ~(SPFI_PORT_STATE_DEV_SEL_MASK <<
+ SPFI_PORT_STATE_DEV_SEL_SHIFT);
+ val |= msg->spi->chip_select << SPFI_PORT_STATE_DEV_SEL_SHIFT;
if (msg->spi->mode & SPI_CPHA)
val |= SPFI_PORT_STATE_CK_PHASE(msg->spi->chip_select);
else