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.
151 config SPI_FLASH_WINBOND
153 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
155 Select this option if your chipset driver needs to store certain
156 data in the SPI flash and your SPI flash is made by Winbond.
158 config SPI_FLASH_HAS_VOLATILE_GROUP
162 Allows chipset to group write/erase operations under a single volatile
165 config SPI_FLASH_EXIT_4_BYTE_ADDR_MODE
169 This will send an Exit 4-Byte Address Mode (E9h) command before the first
170 access to the SPI flash. On some platforms with SPI flashes larger than 32MB,
171 the SPI flash may power up in 4-byte addressing mode and this command needs
172 to be sent before coreboot's 3-byte address commands can be interpreted correctly.
173 On flashes that don't support 4-byte addressing mode or where it is already
174 disabled, this command should be a no-op.
176 config SPI_FLASH_FORCE_4_BYTE_ADDR_MODE
180 This will force coreboot to send addresses as 4-bytes instead of 3-bytes.
181 On some platforms with SPI flashes larger than 16MB, the SPI flash may need
182 to remain in 4-byte addressing mode.
186 config HAVE_EM100PRO_SPI_CONSOLE_SUPPORT