summaryrefslogtreecommitdiff
path: root/src/drivers/spi/Kconfig
blob: b7650dd31dbd62cc4313c3d87bfdf5940c7711d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
## SPDX-License-Identifier: GPL-2.0-only

config COMMON_CBFS_SPI_WRAPPER
	bool
	default n
	depends on !ARCH_X86
	depends on BOOT_DEVICE_SPI_FLASH
	select BOOT_DEVICE_SUPPORTS_WRITES
	help
	 Use common wrapper to interface CBFS to SPI bootrom.

config SPI_FLASH
	bool
	default y if BOOT_DEVICE_SPI_FLASH && BOOT_DEVICE_SUPPORTS_WRITES
	default n
	help
	  Select this option if your chipset driver needs to store certain
	  data in the SPI flash.

config SPI_SDCARD
	bool
	default n
	help
	  Select this option if your chipset driver needs to store certain
	  data in the SPI sdcard.

if SPI_FLASH

# Keep at 0 because lots of boards assume this default.
config BOOT_DEVICE_SPI_FLASH_BUS
	int
	default 0
	help
	  Which SPI bus the boot device is connected to.

config BOOT_DEVICE_SPI_FLASH_RW_NOMMAP
	bool
	default y if !COMMON_CBFS_SPI_WRAPPER
	default n
	depends on BOOT_DEVICE_SPI_FLASH
	help
	  Provide common implementation of the RW boot device that
	  doesn't provide mmap() operations.

config BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES
	bool
	default n
	depends on BOOT_DEVICE_SPI_FLASH_RW_NOMMAP
	help
	  For platforms who do not allow writes to SPI flash in early
	  stages like romstage.  Not selecting this config will result
	  in the auto-selection of
	  BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if
	  BOOT_DEVICE_SPI_FLASH_RW_NOMMAP is selected by the platform.

config BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY
	bool
	default y if BOOT_DEVICE_SPI_FLASH_RW_NOMMAP && !BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES
	default n
	depends on BOOT_DEVICE_SPI_FLASH_RW_NOMMAP
	help
	  Include the common implementation in all stages, including the
	  early ones.

config SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS
	bool
	default y if COMMON_CBFS_SPI_WRAPPER
	default n

config SPI_FLASH_INCLUDE_ALL_DRIVERS
	bool
	default n if SPI_FLASH_DONT_INCLUDE_ALL_DRIVERS
	default y

config SPI_FLASH_SMM
	bool
	depends on HAVE_SMI_HANDLER
	help
	  Select this option if you want SPI flash support in SMM.

config SPI_FLASH_NO_FAST_READ
	bool "Disable Fast Read command"
	default n
	help
	  Select this option if your setup requires to avoid "fast read"s
	  from the SPI flash parts.

config SPI_FLASH_ADESTO
	bool
	default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
	help
	  Select this option if your chipset driver needs to store certain
	  data in the SPI flash and your SPI flash is made by Adesto Technologies.

config SPI_FLASH_AMIC
	bool
	default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
	help
	  Select this option if your chipset driver needs to store certain
	  data in the SPI flash and your SPI flash is made by AMIC.

config SPI_FLASH_ATMEL
	bool
	default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
	help
	  Select this option if your chipset driver needs to store certain
	  data in the SPI flash and your SPI flash is made by Atmel.

config SPI_FLASH_EON
	bool
	default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
	help
	  Select this option if your chipset driver needs to store certain
	  data in the SPI flash and your SPI flash is made by EON.

config SPI_FLASH_GIGADEVICE
	bool
	default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
	help
	  Select this option if your chipset driver needs to store certain
	  data in the SPI flash and your SPI flash is made by Gigadevice.

config SPI_FLASH_MACRONIX
	bool
	default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
	help
	  Select this option if your chipset driver needs to store certain
	  data in the SPI flash and your SPI flash is made by Macronix.

config SPI_FLASH_SPANSION
	bool
	default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
	help
	  Select this option if your chipset driver needs to store certain
	  data in the SPI flash and your SPI flash is made by Spansion.

config SPI_FLASH_SST
	bool
	default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
	help
	  Select this option if your chipset driver needs to store certain
	  data in the SPI flash and your SPI flash is made by SST.

config SPI_FLASH_STMICRO
	bool
	default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
	help
	  Select this option if your chipset driver needs to store certain
	  data in the SPI flash and your SPI flash is made by ST MICRO.

config SPI_FLASH_WINBOND
	bool
	default y if SPI_FLASH_INCLUDE_ALL_DRIVERS
	help
	  Select this option if your chipset driver needs to store certain
	  data in the SPI flash and your SPI flash is made by Winbond.

config SPI_FLASH_HAS_VOLATILE_GROUP
	bool
	default n
	help
	  Allows chipset to group write/erase operations under a single volatile
	  group.

config SPI_FLASH_EXIT_4_BYTE_ADDR_MODE
	bool
	default n
	help
	  This will send an Exit 4-Byte Address Mode (E9h) command before the first
	  access to the SPI flash. On some platforms with SPI flashes larger than 32MB,
	  the SPI flash may power up in 4-byte addressing mode and this command needs
	  to be sent before coreboot's 3-byte address commands can be interpreted correctly.
	  On flashes that don't support 4-byte addressing mode or where it is already
	  disabled, this command should be a no-op.

endif # SPI_FLASH

config HAVE_EM100PRO_SPI_CONSOLE_SUPPORT
	def_bool n