mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-11-05 09:05:53 +01:00
spi: Fix OCTAL mode support
Add OCTAL mode support. Issue detected using "--octal" spidev_test's option. Signed-off-by: Patrice Chotard <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
This commit is contained in:
1 parent
63deee5281
commit
d6a711a898
2 files changed
+7
-4
No files matched your search
+4
-2
@@ -4156,7 +4156,8 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message)
|
||||
return -EINVAL;
|
||||
if (xfer->tx_nbits != SPI_NBITS_SINGLE &&
|
||||
xfer->tx_nbits != SPI_NBITS_DUAL &&
|
||||
xfer->tx_nbits != SPI_NBITS_QUAD)
|
||||
xfer->tx_nbits != SPI_NBITS_QUAD &&
|
||||
xfer->tx_nbits != SPI_NBITS_OCTAL)
|
||||
return -EINVAL;
|
||||
if ((xfer->tx_nbits == SPI_NBITS_DUAL) &&
|
||||
!(spi->mode & (SPI_TX_DUAL | SPI_TX_QUAD)))
|
||||
@@ -4171,7 +4172,8 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message)
|
||||
return -EINVAL;
|
||||
if (xfer->rx_nbits != SPI_NBITS_SINGLE &&
|
||||
xfer->rx_nbits != SPI_NBITS_DUAL &&
|
||||
xfer->rx_nbits != SPI_NBITS_QUAD)
|
||||
xfer->rx_nbits != SPI_NBITS_QUAD &&
|
||||
xfer->rx_nbits != SPI_NBITS_OCTAL)
|
||||
return -EINVAL;
|
||||
if ((xfer->rx_nbits == SPI_NBITS_DUAL) &&
|
||||
!(spi->mode & (SPI_RX_DUAL | SPI_RX_QUAD)))
|
||||
|
||||
@@ -1085,12 +1085,13 @@ struct spi_transfer {
|
||||
unsigned dummy_data:1;
|
||||
unsigned cs_off:1;
|
||||
unsigned cs_change:1;
|
||||
unsigned tx_nbits:3;
|
||||
unsigned rx_nbits:3;
|
||||
unsigned tx_nbits:4;
|
||||
unsigned rx_nbits:4;
|
||||
unsigned timestamped:1;
|
||||
#define SPI_NBITS_SINGLE 0x01 /* 1-bit transfer */
|
||||
#define SPI_NBITS_DUAL 0x02 /* 2-bit transfer */
|
||||
#define SPI_NBITS_QUAD 0x04 /* 4-bit transfer */
|
||||
#define SPI_NBITS_OCTAL 0x08 /* 8-bit transfer */
|
||||
u8 bits_per_word;
|
||||
struct spi_delay delay;
|
||||
struct spi_delay cs_change_delay;
|
||||
|
||||
Reference in new issue
Block a user