Browse Source

spi/qspi: Add dual/quad spi read support

Support for multiple lines in SPI framework has been picked[1].
[1]: http://comments.gmane.org/gmane.linux.kernel.spi.devel/14420

Hence, adapting ti qspi driver to support multiple data lines for read.

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Sourav Poddar 12 years ago
parent
commit
70e2e9761a
1 changed files with 12 additions and 1 deletions
  1. 12 1
      drivers/spi/spi-ti-qspi.c

+ 12 - 1
drivers/spi/spi-ti-qspi.c

@@ -267,7 +267,18 @@ static int qspi_read_msg(struct ti_qspi *qspi, struct spi_transfer *t)
 	u8 *rxbuf;
 
 	rxbuf = t->rx_buf;
-	cmd = qspi->cmd | QSPI_RD_SNGL;
+	cmd = qspi->cmd;
+	switch (t->rx_nbits) {
+	case SPI_NBITS_DUAL:
+		cmd |= QSPI_RD_DUAL;
+		break;
+	case SPI_NBITS_QUAD:
+		cmd |= QSPI_RD_QUAD;
+		break;
+	default:
+		cmd |= QSPI_RD_SNGL;
+		break;
+	}
 	count = t->len;
 	wlen = t->bits_per_word;