Commit 79629d0f authored by Rayagonda Kokatanur's avatar Rayagonda Kokatanur Committed by Mark Brown

spi: bcm-qspi: Fix BSPI QUAD and DUAL mode support when using flex mode

Fix data transfer width settings based on DT field 'spi-rx-bus-width'
to configure BSPI in single, dual or quad mode by using data width
and not the command width.

Fixes: 5f195ee7 ("spi: bcm-qspi: Implement the spi_mem interface")
Signed-off-by: default avatarRayagonda Kokatanur <rayagonda.kokatanur@broadcom.com>
Link: https://lore.kernel.org/r/1565086070-28451-1-git-send-email-rayagonda.kokatanur@broadcom.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent a4127952
...@@ -354,7 +354,7 @@ static int bcm_qspi_bspi_set_flex_mode(struct bcm_qspi *qspi, ...@@ -354,7 +354,7 @@ static int bcm_qspi_bspi_set_flex_mode(struct bcm_qspi *qspi,
{ {
int bpc = 0, bpp = 0; int bpc = 0, bpp = 0;
u8 command = op->cmd.opcode; u8 command = op->cmd.opcode;
int width = op->cmd.buswidth ? op->cmd.buswidth : SPI_NBITS_SINGLE; int width = op->data.buswidth ? op->data.buswidth : SPI_NBITS_SINGLE;
int addrlen = op->addr.nbytes; int addrlen = op->addr.nbytes;
int flex_mode = 1; int flex_mode = 1;
...@@ -992,7 +992,7 @@ static int bcm_qspi_exec_mem_op(struct spi_mem *mem, ...@@ -992,7 +992,7 @@ static int bcm_qspi_exec_mem_op(struct spi_mem *mem,
if (mspi_read) if (mspi_read)
return bcm_qspi_mspi_exec_mem_op(spi, op); return bcm_qspi_mspi_exec_mem_op(spi, op);
ret = bcm_qspi_bspi_set_mode(qspi, op, -1); ret = bcm_qspi_bspi_set_mode(qspi, op, 0);
if (!ret) if (!ret)
ret = bcm_qspi_bspi_exec_mem_op(spi, op); ret = bcm_qspi_bspi_exec_mem_op(spi, op);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment