coreboot-kgpe-d16/src/drivers
Julius Werner 99e45ceb35 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>
2019-06-10 18:02:33 +00:00
..
amd/agesa AGESA binaryPI: Add AGESA entry timestamps 2019-05-25 08:39:05 +00:00
ams src: Remove unneeded include <console/console.h> 2018-11-16 09:50:29 +00:00
asmedia drivers/asmedia: Add ASPM blacklist 2018-04-27 09:17:52 +00:00
aspeed drivers/aspeed/ast2050: Remove variable set but not used 2019-06-03 13:29:26 +00:00
dec/21143 device/pci: Fix PCI accessor headers 2019-03-01 20:32:15 +00:00
elog drivers/elog: Rename ramstage_elog_add_boot_count() to elog_add_boot_count() 2019-05-16 04:35:13 +00:00
emulation/qemu drivers/emulation/qemu_debugcon: Don't use CAR_GLOBAL 2019-05-29 20:05:41 +00:00
generic src/{device,drivers}: Add missing 'include <types.h>' 2019-05-29 20:27:52 +00:00
gic device/mmio.h: Add include file for MMIO ops 2019-03-04 15:57:39 +00:00
i2c mb/google/sarien: Disable touch by strap pin GPP_B4 2019-04-24 15:51:22 +00:00
intel src/drivers/intel: Avoid NULL pointer dereference 2019-06-05 13:02:32 +00:00
ipmi src: Use 'include <string.h>' when appropriate 2019-03-20 20:27:51 +00:00
lenovo mb/lenovo/t430: Fix Dual Graphics 2019-06-08 11:33:41 +00:00
maxim device/mmio.h: Add include file for MMIO ops 2019-03-04 15:57:39 +00:00
mrc_cache coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
net src/{device,drivers}: Add missing 'include <types.h>' 2019-05-29 20:27:52 +00:00
parade src: Add missing include <stdint.h> 2018-11-01 11:25:07 +00:00
pc80 src/{device,drivers}: Add missing 'include <types.h>' 2019-05-29 20:27:52 +00:00
ricoh/rce822 arch/io.h: Drop unnecessary include 2019-03-04 15:08:03 +00:00
siemens/nc_fpga src: Use include <delay.h> when appropriate 2019-04-06 16:09:12 +00:00
sil/3114 src: Use include <delay.h> when appropriate 2019-04-06 16:09:12 +00:00
smmstore src: Use 'include <string.h>' when appropriate 2019-03-20 20:27:51 +00:00
spi spi_flash: Add Dual SPI support 2019-06-10 18:02:33 +00:00
ti src/drivers: Fix typo 2018-08-10 21:25:30 +00:00
tpm coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
uart Remove unnecessary ENV_RAMSTAGE guard 2019-05-14 06:56:59 +00:00
usb src: Use 'include <string.h>' when appropriate 2019-03-20 20:27:51 +00:00
vpd src/driver/vpd: Update lib_vpd from upstream 2019-06-03 13:22:01 +00:00
xgi src/drivers/xgi: Move coreboot related includes to xgi_coreboot.h 2019-05-29 20:14:04 +00:00
xpowers/axp209 src/{device,drivers}: Add missing 'include <types.h>' 2019-05-29 20:27:52 +00:00