aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/spi-generic.h3
-rw-r--r--src/include/spi_flash.h7
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;