blob: c8d86ff1043651ebaf05ad0cd10cbdf49af2e1d1 [file] [log] [blame]
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -07001##
2## This file is part of the coreboot project.
3##
4## Copyright (C) 2012 The Chromium OS Authors.
5##
6## This program is free software; you can redistribute it and/or modify
7## it under the terms of the GNU General Public License as published by
8## the Free Software Foundation; version 2 of the License.
9##
10## This program is distributed in the hope that it will be useful,
11## but WITHOUT ANY WARRANTY; without even the implied warranty of
12## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13## GNU General Public License for more details.
14##
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -070015
Aaron Durbin3326f152016-08-12 15:50:16 -050016config COMMON_CBFS_SPI_WRAPPER
17 bool
18 default n
19 depends on !ARCH_X86
20 depends on BOOT_DEVICE_SPI_FLASH
Aaron Durbine8e118d2016-08-12 15:00:10 -050021 select BOOT_DEVICE_SUPPORTS_WRITES
Aaron Durbin3326f152016-08-12 15:50:16 -050022 help
23 Use common wrapper to interface CBFS to SPI bootrom.
24
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -070025config SPI_FLASH
26 bool
Aaron Durbine8e118d2016-08-12 15:00:10 -050027 default y if BOOT_DEVICE_SPI_FLASH && BOOT_DEVICE_SUPPORTS_WRITES
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -070028 default n
29 help
30 Select this option if your chipset driver needs to store certain
31 data in the SPI flash.
32
Kyösti Mälkki88e518f2014-04-29 07:11:39 +030033if SPI_FLASH
34
Aaron Durbin08e842c2016-08-11 14:40:09 -050035# Keep at 0 because lots of boards assume this default.
36config BOOT_DEVICE_SPI_FLASH_BUS
37 int
38 default 0
39 help
40 Which SPI bus the boot device is connected to.
41
Aaron Durbin6f115592016-08-11 18:24:54 -050042config BOOT_DEVICE_SPI_FLASH_RW_NOMMAP
43 bool
44 default y if !COMMON_CBFS_SPI_WRAPPER
45 default n
46 depends on BOOT_DEVICE_SPI_FLASH
47 help
48 Provide common implementation of the RW boot device that
49 doesn't provide mmap() operations.
50
51config BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY
52 bool
53 default n
54 depends on BOOT_DEVICE_SPI_FLASH_RW_NOMMAP
55 help
56 Include the common implementation in all stages, including the
57 early ones.
58
Aaron Durbina91901c2016-08-11 09:42:27 -050059config SPI_FLASH_INCLUDE_ALL_DRIVERS
60 bool
61 default n if COMMON_CBFS_SPI_WRAPPER
62 default y
63
Duncan Laurie181bbdd2012-06-23 16:53:57 -070064config SPI_FLASH_SMM
65 bool "SPI flash driver support in SMM"
66 default n
Kyösti Mälkki88e518f2014-04-29 07:11:39 +030067 depends on HAVE_SMI_HANDLER
Duncan Laurie181bbdd2012-06-23 16:53:57 -070068 help
69 Select this option if you want SPI flash support in SMM.
70
Kyösti Mälkkiab605102014-06-30 07:49:55 +030071config SPI_FLASH_NO_FAST_READ
72 bool "Disable Fast Read command"
73 default n
74 help
75 Select this option if your setup requires to avoid "fast read"s
76 from the SPI flash parts.
77
78config SPI_FLASH_ADESTO
79 bool
Aaron Durbina91901c2016-08-11 09:42:27 -050080 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Kyösti Mälkkiab605102014-06-30 07:49:55 +030081 help
82 Select this option if your chipset driver needs to store certain
83 data in the SPI flash and your SPI flash is made by Adesto Technologies.
84
Idwer Vollering73a10182014-02-16 00:32:13 +000085config SPI_FLASH_AMIC
86 bool
Aaron Durbina91901c2016-08-11 09:42:27 -050087 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Idwer Vollering73a10182014-02-16 00:32:13 +000088 help
89 Select this option if your chipset driver needs to store certain
90 data in the SPI flash and your SPI flash is made by AMIC.
91
Kyösti Mälkki96d92762014-11-11 15:04:38 +020092config SPI_FLASH_ATMEL
93 bool
Aaron Durbina91901c2016-08-11 09:42:27 -050094 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Kyösti Mälkki96d92762014-11-11 15:04:38 +020095 help
96 Select this option if your chipset driver needs to store certain
97 data in the SPI flash and your SPI flash is made by Atmel.
98
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -070099config SPI_FLASH_EON
100 bool
Aaron Durbina91901c2016-08-11 09:42:27 -0500101 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700102 help
103 Select this option if your chipset driver needs to store certain
104 data in the SPI flash and your SPI flash is made by EON.
105
Kyösti Mälkkiab605102014-06-30 07:49:55 +0300106config SPI_FLASH_GIGADEVICE
107 bool
Aaron Durbina91901c2016-08-11 09:42:27 -0500108 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Kyösti Mälkkiab605102014-06-30 07:49:55 +0300109 help
110 Select this option if your chipset driver needs to store certain
111 data in the SPI flash and your SPI flash is made by Gigadevice.
112
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700113config SPI_FLASH_MACRONIX
114 bool
Aaron Durbina91901c2016-08-11 09:42:27 -0500115 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700116 help
117 Select this option if your chipset driver needs to store certain
118 data in the SPI flash and your SPI flash is made by Macronix.
119
120config SPI_FLASH_SPANSION
121 bool
Aaron Durbina91901c2016-08-11 09:42:27 -0500122 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700123 help
124 Select this option if your chipset driver needs to store certain
125 data in the SPI flash and your SPI flash is made by Spansion.
126
127config SPI_FLASH_SST
128 bool
Aaron Durbina91901c2016-08-11 09:42:27 -0500129 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700130 help
131 Select this option if your chipset driver needs to store certain
132 data in the SPI flash and your SPI flash is made by SST.
133
134config SPI_FLASH_STMICRO
135 bool
Aaron Durbina91901c2016-08-11 09:42:27 -0500136 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700137 help
138 Select this option if your chipset driver needs to store certain
139 data in the SPI flash and your SPI flash is made by ST MICRO.
140
141config SPI_FLASH_WINBOND
142 bool
Aaron Durbina91901c2016-08-11 09:42:27 -0500143 default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -0700144 help
145 Select this option if your chipset driver needs to store certain
146 data in the SPI flash and your SPI flash is made by Winbond.
147
David Hendricks1101a712013-11-22 18:41:38 -0800148config SPI_FLASH_FAST_READ_DUAL_OUTPUT_3B
149 bool
150 default n
151 depends on SPI_FLASH
152 help
153 Select this option if your SPI flash supports the fast read dual-
154 output command (opcode 0x3b) where the opcode and address are sent
155 to the chip on MOSI and data is received on both MOSI and MISO.
156
Furquan Shaikhc28984d2016-11-20 21:04:00 -0800157config SPI_FLASH_HAS_VOLATILE_GROUP
158 bool
159 default n
160 help
161 Allows chipset to group write/erase operations under a single volatile
162 group.
163
Kyösti Mälkki88e518f2014-04-29 07:11:39 +0300164endif # SPI_FLASH
Martin Roth3a543182015-09-28 15:27:24 -0600165
166config HAVE_SPI_CONSOLE_SUPPORT
167 def_bool n