diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/spi-generic.h | 3 | ||||
-rw-r--r-- | src/include/spi_flash.h | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/include/spi-generic.h b/src/include/spi-generic.h index c24aadd926..d0f957f1f9 100644 --- a/src/include/spi-generic.h +++ b/src/include/spi-generic.h @@ -125,6 +125,7 @@ enum { * setup: Setup given SPI device bus. * xfer: Perform one SPI transfer operation. * xfer_vector: Vector of SPI transfer operations. + * xfer_dual: (optional) Perform one SPI transfer in Dual SPI mode. * max_xfer_size: Maximum transfer size supported by the controller * (0 = invalid, * SPI_CTRLR_DEFAULT_MAX_XFER_SIZE = unlimited) @@ -145,6 +146,8 @@ struct spi_ctrlr { size_t bytesout, void *din, size_t bytesin); int (*xfer_vector)(const struct spi_slave *slave, struct spi_op vectors[], size_t count); + int (*xfer_dual)(const struct spi_slave *slave, const void *dout, + size_t bytesout, void *din, size_t bytesin); uint32_t max_xfer_size; uint32_t flags; int (*flash_probe)(const struct spi_slave *slave, diff --git a/src/include/spi_flash.h b/src/include/spi_flash.h index 936b0abe85..3a0c383676 100644 --- a/src/include/spi_flash.h +++ b/src/include/spi_flash.h @@ -90,6 +90,13 @@ struct spi_flash_ops { struct spi_flash { struct spi_slave spi; u8 vendor; + union { + u8 raw; + struct { + u8 dual_spi : 1; + u8 _reserved : 7; + }; + } flags; u16 model; const char *name; u32 size; |