coreboot-kgpe-d16/src/include
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
..
boot write_tables: return a pointer to the table 2018-07-20 03:26:46 +00:00
console post_code: add post code for video initialization failure 2019-05-22 17:45:11 +00:00
cpu arch/cpu: Rename mp_get_apic_id() and add_cpu_map_entry() function 2019-05-12 03:08:10 +00:00
device src/soc/intel/skylake/bootblock: Add SPT C236 to PCH Table 2019-06-08 11:22:25 +00:00
efi include/efi/efi_datatype: Convert EFI datatypes as per coreboot specification 2019-03-09 04:25:31 +00:00
pc80 coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
smp coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
superio superio: Add ASpeed AST2400 2019-05-24 07:22:23 +00:00
sys src/include: Add guards on all header files 2017-08-01 23:04:15 +00:00
adainit.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
assert.h src/include/assert.h: add noreturn attribute to dead_code() 2019-05-17 07:16:50 +00:00
b64_decode.h
base3.h
bcd.h
boardid.h ec/google/chromeec: Update google_chromeec_get_board_version prototype 2018-09-20 17:15:26 +00:00
boot_device.h boot_device: Constify argument 2019-05-12 07:47:45 +00:00
bootblock_common.h bootblock: Move function prototype 2018-12-30 11:32:08 +00:00
bootmem.h bootmem: add new memory type for BL31 2019-02-05 13:41:45 +00:00
bootmode.h vboot: deprecate physical dev switch 2019-03-27 06:13:27 +00:00
bootstate.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
cbfs.h cbfs: Add cbfs_boot_load_file() 2018-04-17 10:46:13 +00:00
cbmem.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
cper.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
delay.h
device_tree.h device_tree: Make FDT property data non-const 2019-06-04 11:24:46 +00:00
dimm_info_util.h src/*: normalize Google copyright headers 2018-09-28 07:13:00 +00:00
edid.h
elog.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
endian.h endian.h: Add be32dec/be32enc family of functions 2019-05-23 08:42:44 +00:00
fallback.h
fit.h device_tree/fit: Constify data structures 2018-08-24 11:38:28 +00:00
fit_payload.h lib: Add FIT payload support 2018-06-19 18:10:05 +00:00
fmap.h lib/fmap: Add area read/write functions 2019-04-23 10:22:54 +00:00
gic.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
gpio.h gpio: Change gpio_baseX_value() function return types to unsigned 2018-08-03 18:10:02 +00:00
halt.h Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
imd.h
inttypes.h
ip_checksum.h
kconfig.h kconfig: Drop IS_ENABLED() macro 2019-06-04 13:33:40 +00:00
lib.h Move calls to quick_ram_check() before CBMEM init 2019-03-27 08:26:16 +00:00
list.h lib/devicetree: Integrate flattened devicetree support 2018-04-30 09:33:32 +00:00
main_decl.h
memlayout.h vboot: standardize on working data size 2019-03-21 16:24:03 +00:00
memory_info.h src/soc/intel/common/smbios: Add addtional infos to dimm_info 2019-06-06 11:32:52 +00:00
memrange.h lib/memrange: Introduce method to clone memrange 2018-04-11 15:11:04 +00:00
mrc_cache.h drivers/mrc_cache: Add missing include file to mrc_cache.h 2017-12-18 16:07:09 +00:00
nhlt.h lib/hardwaremain: Fix more ACPI/IOAPIC typos 2019-01-31 04:34:53 +00:00
option.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
program_loading.h selfload: check target memory type in selfload_check 2019-01-30 11:04:49 +00:00
random.h
reg_script.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
region_file.h
reset.h reset: Finalize move to new API 2018-10-31 15:29:42 +00:00
rmodule.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
romstage_handoff.h src/*: normalize Google copyright headers 2018-09-28 07:13:00 +00:00
rtc.h
rules.h Define ENV_PAYLOAD_LOADER 2019-05-11 03:24:33 +00:00
sar.h vendorcode/google: support multiple SAR filenames 2018-12-17 14:26:10 +00:00
sdram_mode.h
smbios.h src/arch/x86: Add automatic type41 entry creation 2019-05-28 11:52:27 +00:00
smmstore.h smmstore: make smmstore's SMM handler code follow everything else 2018-12-05 13:31:22 +00:00
spd.h src/lib/dimm_info_util.c: Add methods to convert from SMBIOS to SPD 2018-04-11 14:41:59 +00:00
spd_bin.h
spd_ddr2.h src/include: Add guards on all header files 2017-08-01 23:04:15 +00:00
spi-generic.h spi_flash: Add Dual SPI support 2019-06-10 18:02:33 +00:00
spi_bitbang.h spi: Add helper functions for bit-banging 2018-04-03 00:34:52 +00:00
spi_flash.h spi_flash: Add Dual SPI support 2019-06-10 18:02:33 +00:00
stage_cache.h lib/stage_cache: Add save/get raw storage 2018-02-07 16:22:40 +00:00
stddef.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
stdlib.h src: Remove duplicated round up function 2018-11-29 12:17:45 +00:00
string.h string.h: Move common string functions into .c file 2019-05-31 18:22:11 +00:00
swab.h src: Add missing include <stdint.h> 2018-11-01 11:25:07 +00:00
symbols.h Replace remaining IS_ENABLED(CONFIG_*) with CONFIG() 2019-04-08 18:50:10 +00:00
thread.h src: Fix remaining #include <timer.h> 2019-04-09 17:20:35 +00:00
timer.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
timestamp.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
trace.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
types.h src/{include,arch,cpu,lib}: Add missing 'include <types.h>' 2019-05-29 20:27:18 +00:00
uuid.h src/include: Introduce guid_t type 2018-09-06 10:24:09 +00:00
vbe.h Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
version.h ACPI: Correct asl_compiler_revision value 2019-02-21 19:07:31 +00:00
watchdog.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
wrdd.h