1 ## SPDX-License-Identifier: GPL-2.0-only
3 config COMMON_CBFS_SPI_WRAPPER
7 depends on BOOT_DEVICE_SPI_FLASH
8 select BOOT_DEVICE_SUPPORTS_WRITES
10 Use common wrapper to interface CBFS to SPI bootrom.
14 default y if BOOT_DEVICE_SPI_FLASH && BOOT_DEVICE_SUPPORTS_WRITES
17 Select this option if your chipset driver needs to store certain
18 data in the SPI flash.
24 Select this option if your chipset driver needs to store certain
25 data in the SPI sdcard.
29 # Keep at 0 because lots of boards assume this default.
30 config BOOT_DEVICE_SPI_FLASH_BUS
34 Which SPI bus the boot device is connected to.
36 config BOOT_DEVICE_SPI_FLASH_RW_NOMMAP
38 default y if !COMMON_CBFS_SPI_WRAPPER
40 depends on BOOT_DEVICE_SPI_FLASH
42 Provide common implementation of the RW boot device that
43 doesn't provide mmap() operations.
45 config BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES
48 depends on BOOT_DEVICE_SPI_FLASH_RW_NOMMAP
50 For platforms who do not allow writes to SPI flash in early
51 stages like romstage. Not selecting this config will result
52 in the auto-selection of
53 BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if
54 BOOT_DEVICE_SPI_FLASH_RW_NOMMAP is selected by the platform.
56 config BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY
58 default y if BOOT_DEVICE_SPI_FLASH_RW_NOMMAP && !BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES
60 depends on BOOT_DEVICE_SPI_FLASH_RW_NOMMAP
62 Include the common implementation in all stages, including the
65 config SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS
67 default y if COMMON_CBFS_SPI_WRAPPER
70 config SPI_FLASH_INCLUDE_ALL_DRIVERS
72 default n if SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS
77 depends on HAVE_SMI_HANDLER
79 Select this option if you want SPI flash support in SMM.
81 config SPI_FLASH_NO_FAST_READ
82 bool "Disable Fast Read command"
85 Select this option if your setup requires to avoid "fast read"s
86 from the SPI flash parts.
88 config SPI_FLASH_ADESTO
90 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
92 Select this option if your chipset driver needs to store certain
93 data in the SPI flash and your SPI flash is made by Adesto Technologies.
97 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
99 Select this option if your chipset driver needs to store certain
100 data in the SPI flash and your SPI flash is made by AMIC.
102 config SPI_FLASH_ATMEL
104 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
106 Select this option if your chipset driver needs to store certain
107 data in the SPI flash and your SPI flash is made by Atmel.
111 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
113 Select this option if your chipset driver needs to store certain
114 data in the SPI flash and your SPI flash is made by EON.
116 config SPI_FLASH_GIGADEVICE
118 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
120 Select this option if your chipset driver needs to store certain
121 data in the SPI flash and your SPI flash is made by Gigadevice.
123 config SPI_FLASH_MACRONIX
125 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
127 Select this option if your chipset driver needs to store certain
128 data in the SPI flash and your SPI flash is made by Macronix.
130 config SPI_FLASH_SPANSION
132 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
134 Select this option if your chipset driver needs to store certain
135 data in the SPI flash and your SPI flash is made by Spansion.
139 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
141 Select this option if your chipset driver needs to store certain
142 data in the SPI flash and your SPI flash is made by SST.
144 config SPI_FLASH_STMICRO
146 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
148 Select this option if your chipset driver needs to store certain
149 data in the SPI flash and your SPI flash is made by ST Micro,
152 config SPI_FLASH_WINBOND
154 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
156 Select this option if your chipset driver needs to store certain
157 data in the SPI flash and your SPI flash is made by Winbond.
159 config SPI_FLASH_ISSI
161 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
163 Select this option if your chipset driver needs to store certain
164 data in the SPI flash and your SPI flash is made by ISSI.
166 config SPI_FLASH_HAS_VOLATILE_GROUP
170 Allows chipset to group write/erase operations under a single volatile
173 config SPI_FLASH_EXIT_4_BYTE_ADDR_MODE
177 This will send an Exit 4-Byte Address Mode (E9h) command before the first
178 access to the SPI flash. On some platforms with SPI flashes larger than 32MB,
179 the SPI flash may power up in 4-byte addressing mode and this command needs
180 to be sent before coreboot's 3-byte address commands can be interpreted correctly.
181 On flashes that don't support 4-byte addressing mode or where it is already
182 disabled, this command should be a no-op.
184 config SPI_FLASH_FORCE_4_BYTE_ADDR_MODE
188 This will force coreboot to send addresses as 4-bytes instead of 3-bytes.
189 On some platforms with SPI flashes larger than 16MB, the SPI flash may need
190 to remain in 4-byte addressing mode.
192 config SPI_FLASH_SFDP
195 Include serial flash discoverable parameters (SFDP) support.
197 config SPI_FLASH_RPMC
199 select SPI_FLASH_SFDP
201 Include replay-protected monotonic counter (RPMC) support.
205 config HAVE_EM100PRO_SPI_CONSOLE_SUPPORT