1## SPDX-License-Identifier: GPL-2.0-only 2 3config COMMON_CBFS_SPI_WRAPPER 4 bool 5 default n 6 depends on !ARCH_X86 7 depends on BOOT_DEVICE_SPI_FLASH 8 select BOOT_DEVICE_SUPPORTS_WRITES 9 help 10 Use common wrapper to interface CBFS to SPI bootrom. 11 12config SPI_FLASH 13 bool 14 default y if BOOT_DEVICE_SPI_FLASH && BOOT_DEVICE_SUPPORTS_WRITES 15 default n 16 help 17 Select this option if your chipset driver needs to store certain 18 data in the SPI flash. 19 20config SPI_SDCARD 21 bool 22 default n 23 help 24 Select this option if your chipset driver needs to store certain 25 data in the SPI sdcard. 26 27if SPI_FLASH 28 29# Keep at 0 because lots of boards assume this default. 30config BOOT_DEVICE_SPI_FLASH_BUS 31 int 32 default 0 33 help 34 Which SPI bus the boot device is connected to. 35 36config BOOT_DEVICE_SPI_FLASH_RW_NOMMAP 37 bool 38 default y if !COMMON_CBFS_SPI_WRAPPER 39 default n 40 depends on BOOT_DEVICE_SPI_FLASH 41 help 42 Provide common implementation of the RW boot device that 43 doesn't provide mmap() operations. 44 45config BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES 46 bool 47 default n 48 depends on BOOT_DEVICE_SPI_FLASH_RW_NOMMAP 49 help 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. 55 56config BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY 57 bool 58 default y if BOOT_DEVICE_SPI_FLASH_RW_NOMMAP && !BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES 59 default n 60 depends on BOOT_DEVICE_SPI_FLASH_RW_NOMMAP 61 help 62 Include the common implementation in all stages, including the 63 early ones. 64 65config SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS 66 bool 67 default y if COMMON_CBFS_SPI_WRAPPER 68 default n 69 70config SPI_FLASH_INCLUDE_ALL_DRIVERS 71 bool 72 default n if SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS 73 default y 74 75config SPI_FLASH_SMM 76 bool 77 depends on HAVE_SMI_HANDLER 78 help 79 Select this option if you want SPI flash support in SMM. 80 81config SPI_FLASH_NO_FAST_READ 82 bool "Disable Fast Read command" 83 default n 84 help 85 Select this option if your setup requires to avoid "fast read"s 86 from the SPI flash parts. 87 88config SPI_FLASH_ADESTO 89 bool 90 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS 91 help 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. 94 95config SPI_FLASH_AMIC 96 bool 97 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS 98 help 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. 101 102config SPI_FLASH_ATMEL 103 bool 104 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS 105 help 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. 108 109config SPI_FLASH_EON 110 bool 111 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS 112 help 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. 115 116config SPI_FLASH_GIGADEVICE 117 bool 118 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS 119 help 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. 122 123config SPI_FLASH_MACRONIX 124 bool 125 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS 126 help 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. 129 130config SPI_FLASH_SPANSION 131 bool 132 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS 133 help 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. 136 137config SPI_FLASH_SST 138 bool 139 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS 140 help 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. 143 144config SPI_FLASH_STMICRO 145 bool 146 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS 147 help 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. 150 151config SPI_FLASH_WINBOND 152 bool 153 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS 154 help 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. 157 158config SPI_FLASH_ISSI 159 bool 160 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS 161 help 162 Select this option if your chipset driver needs to store certain 163 data in the SPI flash and your SPI flash is made by ISSI. 164 165config SPI_FLASH_HAS_VOLATILE_GROUP 166 bool 167 default n 168 help 169 Allows chipset to group write/erase operations under a single volatile 170 group. 171 172config SPI_FLASH_EXIT_4_BYTE_ADDR_MODE 173 bool 174 default n 175 help 176 This will send an Exit 4-Byte Address Mode (E9h) command before the first 177 access to the SPI flash. On some platforms with SPI flashes larger than 32MB, 178 the SPI flash may power up in 4-byte addressing mode and this command needs 179 to be sent before coreboot's 3-byte address commands can be interpreted correctly. 180 On flashes that don't support 4-byte addressing mode or where it is already 181 disabled, this command should be a no-op. 182 183config SPI_FLASH_FORCE_4_BYTE_ADDR_MODE 184 bool 185 default n 186 help 187 This will force coreboot to send addresses as 4-bytes instead of 3-bytes. 188 On some platforms with SPI flashes larger than 16MB, the SPI flash may need 189 to remain in 4-byte addressing mode. 190 191endif # SPI_FLASH 192 193config HAVE_EM100PRO_SPI_CONSOLE_SUPPORT 194 def_bool n 195