blob: 6d161f400595cadf8bcfd6d1646fadd3e3fc6c8a [file] [log] [blame]
Patrick Georgic49d7a32020-05-08 22:50:46 +02001## SPDX-License-Identifier: GPL-2.0-only
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -07002
Aaron Durbin3326f152016-08-12 15:50:16 -05003config COMMON_CBFS_SPI_WRAPPER
4 bool
5 default n
6 depends on !ARCH_X86
7 depends on BOOT_DEVICE_SPI_FLASH
Aaron Durbine8e118d2016-08-12 15:00:10 -05008 select BOOT_DEVICE_SUPPORTS_WRITES
Aaron Durbin3326f152016-08-12 15:50:16 -05009 help
10 Use common wrapper to interface CBFS to SPI bootrom.
11
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -070012config SPI_FLASH
13 bool
Aaron Durbine8e118d2016-08-12 15:00:10 -050014 default y if BOOT_DEVICE_SPI_FLASH && BOOT_DEVICE_SUPPORTS_WRITES
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -070015 default n
16 help
17 Select this option if your chipset driver needs to store certain
18 data in the SPI flash.
19
Xiang Wangb1349452019-08-27 15:57:23 +080020config 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
Kyösti Mälkki88e518f2014-04-29 07:11:39 +030027if SPI_FLASH
28
Aaron Durbin08e842c2016-08-11 14:40:09 -050029# 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
Aaron Durbin6f115592016-08-11 18:24:54 -050036config 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
Shelley Chen6c2568f2020-09-25 09:30:44 -070045config 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
Aaron Durbin6f115592016-08-11 18:24:54 -050056config BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY
57 bool
Shelley Chen6c2568f2020-09-25 09:30:44 -070058 default y if BOOT_DEVICE_SPI_FLASH_RW_NOMMAP && !BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES
Aaron Durbin6f115592016-08-11 18:24:54 -050059 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
Aaron Durbin3e7f0062020-01-11 10:26:25 -070065config SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS
66 bool
67 default y if COMMON_CBFS_SPI_WRAPPER
68 default n
69
Aaron Durbina91901c2016-08-11 09:42:27 -050070config SPI_FLASH_INCLUDE_ALL_DRIVERS
71 bool
Aaron Durbin3e7f0062020-01-11 10:26:25 -070072 default n if SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS
Aaron Durbina91901c2016-08-11 09:42:27 -050073 default y
74
Duncan Laurie181bbdd2012-06-23 16:53:57 -070075config SPI_FLASH_SMM
Nico Huber9e53db42018-06-05 22:34:08 +020076 bool
Kyösti Mälkki88e518f2014-04-29 07:11:39 +030077 depends on HAVE_SMI_HANDLER
Duncan Laurie181bbdd2012-06-23 16:53:57 -070078 help
79 Select this option if you want SPI flash support in SMM.
80
Kyösti Mälkkiab605102014-06-30 07:49:55 +030081config 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
Aaron Durbina91901c2016-08-11 09:42:27 -050090 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Kyösti Mälkkiab605102014-06-30 07:49:55 +030091 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
Idwer Vollering73a10182014-02-16 00:32:13 +000095config SPI_FLASH_AMIC
96 bool
Aaron Durbina91901c2016-08-11 09:42:27 -050097 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Idwer Vollering73a10182014-02-16 00:32:13 +000098 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
Kyösti Mälkki96d92762014-11-11 15:04:38 +0200102config SPI_FLASH_ATMEL
103 bool
Aaron Durbina91901c2016-08-11 09:42:27 -0500104 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Kyösti Mälkki96d92762014-11-11 15:04:38 +0200105 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
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700109config SPI_FLASH_EON
110 bool
Aaron Durbina91901c2016-08-11 09:42:27 -0500111 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700112 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
Kyösti Mälkkiab605102014-06-30 07:49:55 +0300116config SPI_FLASH_GIGADEVICE
117 bool
Aaron Durbina91901c2016-08-11 09:42:27 -0500118 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Kyösti Mälkkiab605102014-06-30 07:49:55 +0300119 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
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700123config SPI_FLASH_MACRONIX
124 bool
Aaron Durbina91901c2016-08-11 09:42:27 -0500125 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700126 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
Aaron Durbina91901c2016-08-11 09:42:27 -0500132 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700133 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
Aaron Durbina91901c2016-08-11 09:42:27 -0500139 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700140 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
Aaron Durbina91901c2016-08-11 09:42:27 -0500146 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700147 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
Aaron Durbina91901c2016-08-11 09:42:27 -0500153 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700154 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
Maximilian Brune7bcf4ae2023-08-28 13:57:20 +0200158config 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
Furquan Shaikhc28984d2016-11-20 21:04:00 -0800165config 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
T Michael Turneyd43e6882022-01-20 11:55:40 -0800172config 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
Fred Reitberger52be7f62023-03-21 15:37:06 -0400183config 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
Kyösti Mälkki88e518f2014-04-29 07:11:39 +0300191endif # SPI_FLASH
Martin Roth3a543182015-09-28 15:27:24 -0600192
Angel Pons12d48cd2020-10-03 12:22:04 +0200193config HAVE_EM100PRO_SPI_CONSOLE_SUPPORT
Martin Roth3a543182015-09-28 15:27:24 -0600194 def_bool n