summaryrefslogtreecommitdiffstats
path: root/src/drivers/spi/spi_flash_internal.h
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2019-06-06 17:03:44 -0700
committerJulius Werner <jwerner@chromium.org>2019-06-10 18:02:33 +0000
commit99e45ceb35ff9a4c48e516e6d005ebfae54b6591 (patch)
tree8f42f859485f2dd4a0c101e613fd607b3000f219 /src/drivers/spi/spi_flash_internal.h
parent1b7f99bd6b52e3fd03653dca80af3faf6e7e8852 (diff)
downloadcoreboot-99e45ceb35ff9a4c48e516e6d005ebfae54b6591.tar.gz
coreboot-99e45ceb35ff9a4c48e516e6d005ebfae54b6591.tar.bz2
coreboot-99e45ceb35ff9a4c48e516e6d005ebfae54b6591.zip
spi_flash: Add Dual SPI support
This patch adds support to read SPI flash in Dual SPI mode, where both MISO and MOSI lines are used for output mode (specifically Fast Read Dual Output (0x3b) where the command is still sent normally, not Fast Read Dual I/O (0xbb) whose additional benefit should be extremely marginal for our use cases but which would be more complicated to implement). This feature needs to be supported by both the flash chip and the controller, so we add a new dual_spi flag (and a new flags field to hold it) to the spi_flash structure and a new optional xfer_dual() function pointer to the spi_ctrlr structure. When both are provided, Dual SPI mode is used automatically, otherwise things work as before. This patch only adds the dual_spi flag exemplary to all Winbond and Gigadevice chips, other vendors need to be added as needed. Change-Id: Ic6808224c99af32b6c5c43054135c8f4c03c1feb Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/33283 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'src/drivers/spi/spi_flash_internal.h')
-rw-r--r--src/drivers/spi/spi_flash_internal.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/drivers/spi/spi_flash_internal.h b/src/drivers/spi/spi_flash_internal.h
index f15c73746105..4a9e289029de 100644
--- a/src/drivers/spi/spi_flash_internal.h
+++ b/src/drivers/spi/spi_flash_internal.h
@@ -23,6 +23,8 @@
#define CMD_READ_ARRAY_FAST 0x0b
#define CMD_READ_ARRAY_LEGACY 0xe8
+#define CMD_READ_FAST_DUAL_OUTPUT 0x3b
+
#define CMD_READ_STATUS 0x05
#define CMD_WRITE_ENABLE 0x06