xref: /aosp_15_r20/external/coreboot/src/Kconfig (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1*b9411a12SAndroid Build Coastguard Worker## SPDX-License-Identifier: GPL-2.0-only
2*b9411a12SAndroid Build Coastguard Worker
3*b9411a12SAndroid Build Coastguard Workermainmenu "coreboot configuration"
4*b9411a12SAndroid Build Coastguard Worker
5*b9411a12SAndroid Build Coastguard Workermenu "General setup"
6*b9411a12SAndroid Build Coastguard Worker
7*b9411a12SAndroid Build Coastguard Workerconfig LOCALVERSION
8*b9411a12SAndroid Build Coastguard Worker	string "Local version string"
9*b9411a12SAndroid Build Coastguard Worker	help
10*b9411a12SAndroid Build Coastguard Worker	  Append an extra string to the end of the coreboot version.
11*b9411a12SAndroid Build Coastguard Worker
12*b9411a12SAndroid Build Coastguard Worker	  This can be useful if, for instance, you want to append the
13*b9411a12SAndroid Build Coastguard Worker	  respective board's hostname or some other identifying string to
14*b9411a12SAndroid Build Coastguard Worker	  the coreboot version number, so that you can easily distinguish
15*b9411a12SAndroid Build Coastguard Worker	  boot logs of different boards from each other.
16*b9411a12SAndroid Build Coastguard Worker
17*b9411a12SAndroid Build Coastguard Workerconfig CONFIGURABLE_CBFS_PREFIX
18*b9411a12SAndroid Build Coastguard Worker	bool
19*b9411a12SAndroid Build Coastguard Worker	help
20*b9411a12SAndroid Build Coastguard Worker	  Select this to prompt to use to configure the prefix for cbfs files.
21*b9411a12SAndroid Build Coastguard Worker
22*b9411a12SAndroid Build Coastguard Workerchoice
23*b9411a12SAndroid Build Coastguard Worker	prompt "CBFS prefix to use"
24*b9411a12SAndroid Build Coastguard Worker	depends on CONFIGURABLE_CBFS_PREFIX
25*b9411a12SAndroid Build Coastguard Worker	default CBFS_PREFIX_FALLBACK
26*b9411a12SAndroid Build Coastguard Worker
27*b9411a12SAndroid Build Coastguard Workerconfig CBFS_PREFIX_FALLBACK
28*b9411a12SAndroid Build Coastguard Worker	bool "fallback"
29*b9411a12SAndroid Build Coastguard Worker
30*b9411a12SAndroid Build Coastguard Workerconfig CBFS_PREFIX_NORMAL
31*b9411a12SAndroid Build Coastguard Worker	bool "normal"
32*b9411a12SAndroid Build Coastguard Worker
33*b9411a12SAndroid Build Coastguard Workerconfig CBFS_PREFIX_DIY
34*b9411a12SAndroid Build Coastguard Worker	bool "Define your own cbfs prefix"
35*b9411a12SAndroid Build Coastguard Worker
36*b9411a12SAndroid Build Coastguard Workerendchoice
37*b9411a12SAndroid Build Coastguard Worker
38*b9411a12SAndroid Build Coastguard Workerconfig CBFS_PREFIX
39*b9411a12SAndroid Build Coastguard Worker	string "CBFS prefix to use" if CBFS_PREFIX_DIY
40*b9411a12SAndroid Build Coastguard Worker	default "fallback" if !CONFIGURABLE_CBFS_PREFIX || CBFS_PREFIX_FALLBACK
41*b9411a12SAndroid Build Coastguard Worker	default "normal" if CBFS_PREFIX_NORMAL
42*b9411a12SAndroid Build Coastguard Worker	help
43*b9411a12SAndroid Build Coastguard Worker	  Select the prefix to all files put into the image. It's "fallback"
44*b9411a12SAndroid Build Coastguard Worker	  by default, "normal" is a common alternative.
45*b9411a12SAndroid Build Coastguard Worker
46*b9411a12SAndroid Build Coastguard Workerconfig DEFAULT_COMPILER_LLVM_CLANG
47*b9411a12SAndroid Build Coastguard Worker	bool
48*b9411a12SAndroid Build Coastguard Worker	help
49*b9411a12SAndroid Build Coastguard Worker	  Allows to override the default compiler. This can for instance be
50*b9411a12SAndroid Build Coastguard Worker	  set in site-local/Kconfig.
51*b9411a12SAndroid Build Coastguard Worker
52*b9411a12SAndroid Build Coastguard Workerchoice
53*b9411a12SAndroid Build Coastguard Worker	prompt "Compiler to use"
54*b9411a12SAndroid Build Coastguard Worker	default COMPILER_LLVM_CLANG if DEFAULT_COMPILER_LLVM_CLANG
55*b9411a12SAndroid Build Coastguard Worker	default COMPILER_GCC
56*b9411a12SAndroid Build Coastguard Worker	help
57*b9411a12SAndroid Build Coastguard Worker	  This option allows you to select the compiler used for building
58*b9411a12SAndroid Build Coastguard Worker	  coreboot.
59*b9411a12SAndroid Build Coastguard Worker	  You must build the coreboot crosscompiler for the board that you
60*b9411a12SAndroid Build Coastguard Worker	  have selected.
61*b9411a12SAndroid Build Coastguard Worker
62*b9411a12SAndroid Build Coastguard Worker	  To build all the GCC crosscompilers (takes a LONG time), run:
63*b9411a12SAndroid Build Coastguard Worker	    make crossgcc
64*b9411a12SAndroid Build Coastguard Worker
65*b9411a12SAndroid Build Coastguard Worker	  For help on individual architectures, run the command:
66*b9411a12SAndroid Build Coastguard Worker	    make help_toolchain
67*b9411a12SAndroid Build Coastguard Worker
68*b9411a12SAndroid Build Coastguard Workerconfig COMPILER_GCC
69*b9411a12SAndroid Build Coastguard Worker	bool "GCC"
70*b9411a12SAndroid Build Coastguard Worker	help
71*b9411a12SAndroid Build Coastguard Worker	  Use the GNU Compiler Collection (GCC) to build coreboot.
72*b9411a12SAndroid Build Coastguard Worker
73*b9411a12SAndroid Build Coastguard Worker	  For details see http://gcc.gnu.org.
74*b9411a12SAndroid Build Coastguard Worker
75*b9411a12SAndroid Build Coastguard Workerconfig COMPILER_LLVM_CLANG
76*b9411a12SAndroid Build Coastguard Worker	bool "LLVM/clang"
77*b9411a12SAndroid Build Coastguard Worker	depends on ALLOW_EXPERIMENTAL_CLANG || ARCH_SUPPORTS_CLANG
78*b9411a12SAndroid Build Coastguard Worker	help
79*b9411a12SAndroid Build Coastguard Worker	  Use LLVM/clang to build coreboot.  To use this, you must build the
80*b9411a12SAndroid Build Coastguard Worker	  coreboot version of the clang compiler.  Run the command
81*b9411a12SAndroid Build Coastguard Worker	    make clang
82*b9411a12SAndroid Build Coastguard Worker	  Note that Clang is not currently working on all architectures.
83*b9411a12SAndroid Build Coastguard Worker
84*b9411a12SAndroid Build Coastguard Worker	  For details see http://clang.llvm.org.
85*b9411a12SAndroid Build Coastguard Worker
86*b9411a12SAndroid Build Coastguard Workerendchoice
87*b9411a12SAndroid Build Coastguard Worker
88*b9411a12SAndroid Build Coastguard Workerconfig ARCH_SUPPORTS_CLANG
89*b9411a12SAndroid Build Coastguard Worker	bool
90*b9411a12SAndroid Build Coastguard Worker	help
91*b9411a12SAndroid Build Coastguard Worker	  Opt-in flag for architectures that generally work well with CLANG.
92*b9411a12SAndroid Build Coastguard Worker	  By default the option would be hidden.
93*b9411a12SAndroid Build Coastguard Worker
94*b9411a12SAndroid Build Coastguard Workerconfig ALLOW_EXPERIMENTAL_CLANG
95*b9411a12SAndroid Build Coastguard Worker	bool "Allow experimental LLVM/Clang"
96*b9411a12SAndroid Build Coastguard Worker	depends on !ARCH_SUPPORTS_CLANG
97*b9411a12SAndroid Build Coastguard Worker	help
98*b9411a12SAndroid Build Coastguard Worker	  On some architectures CLANG does not work that well.
99*b9411a12SAndroid Build Coastguard Worker	  Use this only to try to get CLANG working.
100*b9411a12SAndroid Build Coastguard Worker
101*b9411a12SAndroid Build Coastguard Workerconfig ANY_TOOLCHAIN
102*b9411a12SAndroid Build Coastguard Worker	bool "Allow building with any toolchain"
103*b9411a12SAndroid Build Coastguard Worker	default n
104*b9411a12SAndroid Build Coastguard Worker	help
105*b9411a12SAndroid Build Coastguard Worker	  Many toolchains break when building coreboot since it uses quite
106*b9411a12SAndroid Build Coastguard Worker	  unusual linker features. Unless developers explicitly request it,
107*b9411a12SAndroid Build Coastguard Worker	  we'll have to assume that they use their distro compiler by mistake.
108*b9411a12SAndroid Build Coastguard Worker	  Make sure that using patched compilers is a conscious decision.
109*b9411a12SAndroid Build Coastguard Worker
110*b9411a12SAndroid Build Coastguard Workerconfig CCACHE
111*b9411a12SAndroid Build Coastguard Worker	bool "Use ccache to speed up (re)compilation"
112*b9411a12SAndroid Build Coastguard Worker	help
113*b9411a12SAndroid Build Coastguard Worker	  Enables the use of ccache for faster builds.
114*b9411a12SAndroid Build Coastguard Worker
115*b9411a12SAndroid Build Coastguard Worker	  Requires the ccache utility in your system $PATH.
116*b9411a12SAndroid Build Coastguard Worker
117*b9411a12SAndroid Build Coastguard Worker	  For details see https://ccache.samba.org.
118*b9411a12SAndroid Build Coastguard Worker
119*b9411a12SAndroid Build Coastguard Workerconfig IWYU
120*b9411a12SAndroid Build Coastguard Worker	bool "Test platform with include-what-you-use"
121*b9411a12SAndroid Build Coastguard Worker	help
122*b9411a12SAndroid Build Coastguard Worker	  This runs each source file through the include-what-you-use tool
123*b9411a12SAndroid Build Coastguard Worker	  to check the header includes.
124*b9411a12SAndroid Build Coastguard Worker
125*b9411a12SAndroid Build Coastguard Workerconfig FMD_GENPARSER
126*b9411a12SAndroid Build Coastguard Worker	bool "Generate flashmap descriptor parser using flex and bison"
127*b9411a12SAndroid Build Coastguard Worker	default n
128*b9411a12SAndroid Build Coastguard Worker	help
129*b9411a12SAndroid Build Coastguard Worker	  Enable this option if you are working on the flashmap descriptor
130*b9411a12SAndroid Build Coastguard Worker	  parser and made changes to fmd_scanner.l or fmd_parser.y.
131*b9411a12SAndroid Build Coastguard Worker
132*b9411a12SAndroid Build Coastguard Worker	  Otherwise, say N to use the provided pregenerated scanner/parser.
133*b9411a12SAndroid Build Coastguard Worker
134*b9411a12SAndroid Build Coastguard Workerconfig UTIL_GENPARSER
135*b9411a12SAndroid Build Coastguard Worker	bool "Generate parsers for bincfg, sconfig and kconfig locally"
136*b9411a12SAndroid Build Coastguard Worker	default n
137*b9411a12SAndroid Build Coastguard Worker	help
138*b9411a12SAndroid Build Coastguard Worker	  Enable this option if you are working on the sconfig device tree
139*b9411a12SAndroid Build Coastguard Worker	  parser or bincfg and made changes to the .l or .y files.
140*b9411a12SAndroid Build Coastguard Worker
141*b9411a12SAndroid Build Coastguard Worker	  Otherwise, say N to use the provided pregenerated scanner/parser.
142*b9411a12SAndroid Build Coastguard Worker
143*b9411a12SAndroid Build Coastguard Workerchoice
144*b9411a12SAndroid Build Coastguard Worker	prompt "Option backend to use"
145*b9411a12SAndroid Build Coastguard Worker	default USE_MAINBOARD_SPECIFIC_OPTION_BACKEND if HAVE_MAINBOARD_SPECIFIC_OPTION_BACKEND
146*b9411a12SAndroid Build Coastguard Worker	default USE_OPTION_TABLE if NVRAMCUI_SECONDARY_PAYLOAD
147*b9411a12SAndroid Build Coastguard Worker	default USE_UEFI_VARIABLE_STORE if DRIVERS_EFI_VARIABLE_STORE && \
148*b9411a12SAndroid Build Coastguard Worker		PAYLOAD_EDK2 && SMMSTORE_V2
149*b9411a12SAndroid Build Coastguard Worker
150*b9411a12SAndroid Build Coastguard Workerconfig OPTION_BACKEND_NONE
151*b9411a12SAndroid Build Coastguard Worker	bool "None"
152*b9411a12SAndroid Build Coastguard Worker
153*b9411a12SAndroid Build Coastguard Workerconfig USE_OPTION_TABLE
154*b9411a12SAndroid Build Coastguard Worker	bool "Use CMOS for configuration values"
155*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_OPTION_TABLE
156*b9411a12SAndroid Build Coastguard Worker	help
157*b9411a12SAndroid Build Coastguard Worker	  Enable this option if coreboot shall read options from the "CMOS"
158*b9411a12SAndroid Build Coastguard Worker	  NVRAM instead of using hard-coded values.
159*b9411a12SAndroid Build Coastguard Worker
160*b9411a12SAndroid Build Coastguard Workerconfig USE_UEFI_VARIABLE_STORE
161*b9411a12SAndroid Build Coastguard Worker	bool "Use UEFI variable-store in SPI flash as option backend"
162*b9411a12SAndroid Build Coastguard Worker	depends on DRIVERS_EFI_VARIABLE_STORE
163*b9411a12SAndroid Build Coastguard Worker	depends on SMMSTORE_V2
164*b9411a12SAndroid Build Coastguard Worker	help
165*b9411a12SAndroid Build Coastguard Worker	  Enable this option if coreboot shall read/write options from the
166*b9411a12SAndroid Build Coastguard Worker	  SMMSTORE region within the SPI flash. The region must be formatted
167*b9411a12SAndroid Build Coastguard Worker	  by the payload first before it can be used.
168*b9411a12SAndroid Build Coastguard Worker
169*b9411a12SAndroid Build Coastguard Workerconfig USE_MAINBOARD_SPECIFIC_OPTION_BACKEND
170*b9411a12SAndroid Build Coastguard Worker	bool "Use mainboard-specific option backend"
171*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_MAINBOARD_SPECIFIC_OPTION_BACKEND
172*b9411a12SAndroid Build Coastguard Worker	help
173*b9411a12SAndroid Build Coastguard Worker	  Use a mainboard-specific mechanism to access runtime-configurable
174*b9411a12SAndroid Build Coastguard Worker	  options.
175*b9411a12SAndroid Build Coastguard Worker
176*b9411a12SAndroid Build Coastguard Workerendchoice
177*b9411a12SAndroid Build Coastguard Worker
178*b9411a12SAndroid Build Coastguard Workerconfig STATIC_OPTION_TABLE
179*b9411a12SAndroid Build Coastguard Worker	bool "Load default configuration values into CMOS on each boot"
180*b9411a12SAndroid Build Coastguard Worker	depends on USE_OPTION_TABLE
181*b9411a12SAndroid Build Coastguard Worker	help
182*b9411a12SAndroid Build Coastguard Worker	  Enable this option to reset "CMOS" NVRAM values to default on
183*b9411a12SAndroid Build Coastguard Worker	  every boot.  Use this if you want the NVRAM configuration to
184*b9411a12SAndroid Build Coastguard Worker	  never be modified from its default values.
185*b9411a12SAndroid Build Coastguard Worker
186*b9411a12SAndroid Build Coastguard Workerconfig MB_COMPRESS_RAMSTAGE_LZ4
187*b9411a12SAndroid Build Coastguard Worker	bool
188*b9411a12SAndroid Build Coastguard Worker	help
189*b9411a12SAndroid Build Coastguard Worker	  Select this in a mainboard to use LZ4 compression by default
190*b9411a12SAndroid Build Coastguard Worker
191*b9411a12SAndroid Build Coastguard Workerchoice
192*b9411a12SAndroid Build Coastguard Worker	prompt "Ramstage compression"
193*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_RAMSTAGE && !UNCOMPRESSED_RAMSTAGE
194*b9411a12SAndroid Build Coastguard Worker	default COMPRESS_RAMSTAGE_LZ4 if MB_COMPRESS_RAMSTAGE_LZ4
195*b9411a12SAndroid Build Coastguard Worker	default COMPRESS_RAMSTAGE_LZMA
196*b9411a12SAndroid Build Coastguard Worker
197*b9411a12SAndroid Build Coastguard Workerconfig COMPRESS_RAMSTAGE_LZMA
198*b9411a12SAndroid Build Coastguard Worker	bool "Compress ramstage with LZMA"
199*b9411a12SAndroid Build Coastguard Worker	help
200*b9411a12SAndroid Build Coastguard Worker	  Compress ramstage with LZMA to save memory in the flash image.
201*b9411a12SAndroid Build Coastguard Worker
202*b9411a12SAndroid Build Coastguard Workerconfig COMPRESS_RAMSTAGE_LZ4
203*b9411a12SAndroid Build Coastguard Worker	bool "Compress ramstage with LZ4"
204*b9411a12SAndroid Build Coastguard Worker	help
205*b9411a12SAndroid Build Coastguard Worker	  LZ4 doesn't give as good compression as LZMA, but decompresses much
206*b9411a12SAndroid Build Coastguard Worker	  faster. For large binaries such as ramstage, it's typically best to
207*b9411a12SAndroid Build Coastguard Worker	  use LZMA, but there can be cases where the faster decompression of
208*b9411a12SAndroid Build Coastguard Worker	  LZ4 can lead to a faster boot time. Testing on each individual board
209*b9411a12SAndroid Build Coastguard Worker	  is typically going to be needed due to the large number of factors
210*b9411a12SAndroid Build Coastguard Worker	  that can influence the decision. Binary size, CPU speed, ROM read
211*b9411a12SAndroid Build Coastguard Worker	  speed, cache, and other factors all play a part.
212*b9411a12SAndroid Build Coastguard Worker
213*b9411a12SAndroid Build Coastguard Worker	  If you're not sure, stick with LZMA.
214*b9411a12SAndroid Build Coastguard Worker
215*b9411a12SAndroid Build Coastguard Workerendchoice
216*b9411a12SAndroid Build Coastguard Worker
217*b9411a12SAndroid Build Coastguard Workerconfig COMPRESS_PRERAM_STAGES
218*b9411a12SAndroid Build Coastguard Worker	bool "Compress romstage and verstage with LZ4"
219*b9411a12SAndroid Build Coastguard Worker	depends on (HAVE_ROMSTAGE || HAVE_VERSTAGE) && NO_XIP_EARLY_STAGES
220*b9411a12SAndroid Build Coastguard Worker	# Default value set at the end of the file
221*b9411a12SAndroid Build Coastguard Worker	help
222*b9411a12SAndroid Build Coastguard Worker	  Compress romstage and (if it exists) verstage with LZ4 to save flash
223*b9411a12SAndroid Build Coastguard Worker	  space and speed up boot, since the time for reading the image from SPI
224*b9411a12SAndroid Build Coastguard Worker	  (and in the vboot case verifying it) is usually much greater than the
225*b9411a12SAndroid Build Coastguard Worker	  time spent decompressing. Doesn't work for XIP stages for obvious
226*b9411a12SAndroid Build Coastguard Worker	  reasons.
227*b9411a12SAndroid Build Coastguard Worker
228*b9411a12SAndroid Build Coastguard Workerconfig COMPRESS_BOOTBLOCK
229*b9411a12SAndroid Build Coastguard Worker	bool
230*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_BOOTBLOCK
231*b9411a12SAndroid Build Coastguard Worker	help
232*b9411a12SAndroid Build Coastguard Worker	  This option can be used to compress the bootblock with LZ4 and attach
233*b9411a12SAndroid Build Coastguard Worker	  a small self-decompression stub to its front. This can drastically
234*b9411a12SAndroid Build Coastguard Worker	  reduce boot time on platforms where the bootblock is loaded over a
235*b9411a12SAndroid Build Coastguard Worker	  very slow connection and bootblock size trumps all other factors for
236*b9411a12SAndroid Build Coastguard Worker	  speed. Since using this option usually requires changes to the
237*b9411a12SAndroid Build Coastguard Worker	  SoC memlayout and possibly extra support code, it should not be
238*b9411a12SAndroid Build Coastguard Worker	  user-selectable. (There's no real point in offering this to the user
239*b9411a12SAndroid Build Coastguard Worker	  anyway... if it works and saves boot time, you would always want it.)
240*b9411a12SAndroid Build Coastguard Worker
241*b9411a12SAndroid Build Coastguard Workerconfig SEPARATE_ROMSTAGE
242*b9411a12SAndroid Build Coastguard Worker	bool "Build a separate romstage"
243*b9411a12SAndroid Build Coastguard Worker	help
244*b9411a12SAndroid Build Coastguard Worker	  Build a separate romstage that is loaded by bootblock. With this
245*b9411a12SAndroid Build Coastguard Worker	  option disabled the romstage sources are linked inside the bootblock
246*b9411a12SAndroid Build Coastguard Worker	  as a single stage.
247*b9411a12SAndroid Build Coastguard Worker
248*b9411a12SAndroid Build Coastguard Workerconfig INCLUDE_CONFIG_FILE
249*b9411a12SAndroid Build Coastguard Worker	bool "Include the coreboot .config file into the ROM image"
250*b9411a12SAndroid Build Coastguard Worker	# Default value set at the end of the file
251*b9411a12SAndroid Build Coastguard Worker	help
252*b9411a12SAndroid Build Coastguard Worker	  Include the .config file that was used to compile coreboot
253*b9411a12SAndroid Build Coastguard Worker	  in the (CBFS) ROM image. This is useful if you want to know which
254*b9411a12SAndroid Build Coastguard Worker	  options were used to build a specific coreboot.rom image.
255*b9411a12SAndroid Build Coastguard Worker
256*b9411a12SAndroid Build Coastguard Worker	  Saying Y here will increase the image size by 2-3KB.
257*b9411a12SAndroid Build Coastguard Worker
258*b9411a12SAndroid Build Coastguard Worker	  You can then use cbfstool to extract the config from a final image:
259*b9411a12SAndroid Build Coastguard Worker
260*b9411a12SAndroid Build Coastguard Worker	    cbfstool coreboot.rom extract -n config -f <output file path>
261*b9411a12SAndroid Build Coastguard Worker
262*b9411a12SAndroid Build Coastguard Worker	  Alternatively, you can also use cbfstool to print the image
263*b9411a12SAndroid Build Coastguard Worker	  contents (including the raw 'config' item we're looking for).
264*b9411a12SAndroid Build Coastguard Worker
265*b9411a12SAndroid Build Coastguard Worker	  Example:
266*b9411a12SAndroid Build Coastguard Worker
267*b9411a12SAndroid Build Coastguard Worker	    $ cbfstool coreboot.rom print
268*b9411a12SAndroid Build Coastguard Worker	    coreboot.rom: 4096 kB, bootblocksize 1008, romsize 4194304,
269*b9411a12SAndroid Build Coastguard Worker	                                               offset 0x0
270*b9411a12SAndroid Build Coastguard Worker	    Alignment: 64 bytes
271*b9411a12SAndroid Build Coastguard Worker
272*b9411a12SAndroid Build Coastguard Worker	    Name                           Offset     Type         Size
273*b9411a12SAndroid Build Coastguard Worker	    cmos_layout.bin                0x0        CMOS layout  1159
274*b9411a12SAndroid Build Coastguard Worker	    fallback/romstage              0x4c0      stage        339756
275*b9411a12SAndroid Build Coastguard Worker	    fallback/ramstage              0x53440    stage        186664
276*b9411a12SAndroid Build Coastguard Worker	    fallback/payload               0x80dc0    payload      51526
277*b9411a12SAndroid Build Coastguard Worker	    config                         0x8d740    raw          3324
278*b9411a12SAndroid Build Coastguard Worker	    (empty)                        0x8e480    null         3610440
279*b9411a12SAndroid Build Coastguard Worker
280*b9411a12SAndroid Build Coastguard Workerconfig COLLECT_TIMESTAMPS
281*b9411a12SAndroid Build Coastguard Worker	bool "Create a table of timestamps collected during boot"
282*b9411a12SAndroid Build Coastguard Worker	default y if ARCH_X86
283*b9411a12SAndroid Build Coastguard Worker	help
284*b9411a12SAndroid Build Coastguard Worker	  Make coreboot create a table of timer-ID/timer-value pairs to
285*b9411a12SAndroid Build Coastguard Worker	  allow measuring time spent at different phases of the boot process.
286*b9411a12SAndroid Build Coastguard Worker
287*b9411a12SAndroid Build Coastguard Workerconfig TIMESTAMPS_ON_CONSOLE
288*b9411a12SAndroid Build Coastguard Worker	bool "Print the timestamp values on the console"
289*b9411a12SAndroid Build Coastguard Worker	default n
290*b9411a12SAndroid Build Coastguard Worker	depends on COLLECT_TIMESTAMPS
291*b9411a12SAndroid Build Coastguard Worker	help
292*b9411a12SAndroid Build Coastguard Worker	  Print the timestamps to the debug console if enabled at level info.
293*b9411a12SAndroid Build Coastguard Worker
294*b9411a12SAndroid Build Coastguard Workerconfig USE_BLOBS
295*b9411a12SAndroid Build Coastguard Worker	bool "Allow use of binary-only repository"
296*b9411a12SAndroid Build Coastguard Worker	default y
297*b9411a12SAndroid Build Coastguard Worker	help
298*b9411a12SAndroid Build Coastguard Worker	  This draws in the blobs repository, which contains binary files that
299*b9411a12SAndroid Build Coastguard Worker	  might be required for some chipsets or boards.
300*b9411a12SAndroid Build Coastguard Worker	  This flag ensures that a "Free" option remains available for users.
301*b9411a12SAndroid Build Coastguard Worker
302*b9411a12SAndroid Build Coastguard Workerconfig USE_AMD_BLOBS
303*b9411a12SAndroid Build Coastguard Worker	bool "Allow AMD blobs repository (with license agreement)"
304*b9411a12SAndroid Build Coastguard Worker	depends on USE_BLOBS
305*b9411a12SAndroid Build Coastguard Worker	help
306*b9411a12SAndroid Build Coastguard Worker	  This draws in the amd_blobs repository, which contains binary files
307*b9411a12SAndroid Build Coastguard Worker	  distributed by AMD, including VBIOS, PSP bootloaders, SMU firmwares,
308*b9411a12SAndroid Build Coastguard Worker	  etc.  Selecting this item to download or clone the repo implies your
309*b9411a12SAndroid Build Coastguard Worker	  agreement to the AMD license agreement.  A copy of the license text
310*b9411a12SAndroid Build Coastguard Worker	  may be reviewed by reading Documentation/soc/amd/amdblobs_license.md,
311*b9411a12SAndroid Build Coastguard Worker	  and your copy of the license is present in the repo once downloaded.
312*b9411a12SAndroid Build Coastguard Worker
313*b9411a12SAndroid Build Coastguard Worker	  Note that for some products, omitting PSP, SMU images, or other items
314*b9411a12SAndroid Build Coastguard Worker	  may result in a nonbooting coreboot.rom.
315*b9411a12SAndroid Build Coastguard Worker
316*b9411a12SAndroid Build Coastguard Workerconfig USE_QC_BLOBS
317*b9411a12SAndroid Build Coastguard Worker	bool "Allow QC blobs repository (selecting this agrees to the license!)"
318*b9411a12SAndroid Build Coastguard Worker	depends on USE_BLOBS
319*b9411a12SAndroid Build Coastguard Worker	help
320*b9411a12SAndroid Build Coastguard Worker	  This draws in the qc_blobs repository, which contains binary files
321*b9411a12SAndroid Build Coastguard Worker	  distributed by Qualcomm that are required to build firmware for
322*b9411a12SAndroid Build Coastguard Worker	  certain Qualcomm SoCs (including QcLib, QC-SEC, qtiseclib and QUP
323*b9411a12SAndroid Build Coastguard Worker	  firmware). If you say Y here you are implicitly agreeing to the
324*b9411a12SAndroid Build Coastguard Worker	  Qualcomm license agreement which can be found at:
325*b9411a12SAndroid Build Coastguard Worker	  https://review.coreboot.org/cgit/qc_blobs.git/tree/LICENSE
326*b9411a12SAndroid Build Coastguard Worker
327*b9411a12SAndroid Build Coastguard Worker	  *****************************************************
328*b9411a12SAndroid Build Coastguard Worker	  PLEASE MAKE SURE YOU READ AND AGREE TO ALL TERMS IN
329*b9411a12SAndroid Build Coastguard Worker	  ABOVE LICENSE AGREEMENT BEFORE SELECTING THIS OPTION!
330*b9411a12SAndroid Build Coastguard Worker	  *****************************************************
331*b9411a12SAndroid Build Coastguard Worker
332*b9411a12SAndroid Build Coastguard Worker	  Not selecting this option means certain Qualcomm SoCs and related
333*b9411a12SAndroid Build Coastguard Worker	  mainboards cannot be built and will be hidden from the "Mainboards"
334*b9411a12SAndroid Build Coastguard Worker	  section.
335*b9411a12SAndroid Build Coastguard Worker
336*b9411a12SAndroid Build Coastguard Workerconfig COVERAGE
337*b9411a12SAndroid Build Coastguard Worker	bool "Code coverage support"
338*b9411a12SAndroid Build Coastguard Worker	depends on COMPILER_GCC
339*b9411a12SAndroid Build Coastguard Worker	help
340*b9411a12SAndroid Build Coastguard Worker	  Add code coverage support for coreboot. This will store code
341*b9411a12SAndroid Build Coastguard Worker	  coverage information in CBMEM for extraction from user space.
342*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
343*b9411a12SAndroid Build Coastguard Worker
344*b9411a12SAndroid Build Coastguard Workerconfig UBSAN
345*b9411a12SAndroid Build Coastguard Worker	bool "Undefined behavior sanitizer support"
346*b9411a12SAndroid Build Coastguard Worker	default n
347*b9411a12SAndroid Build Coastguard Worker	help
348*b9411a12SAndroid Build Coastguard Worker	  Instrument the code with checks for undefined behavior. If unsure,
349*b9411a12SAndroid Build Coastguard Worker	  say N because it adds a small performance penalty and may abort
350*b9411a12SAndroid Build Coastguard Worker	  on code that happens to work in spite of the UB.
351*b9411a12SAndroid Build Coastguard Worker
352*b9411a12SAndroid Build Coastguard Workerconfig HAVE_ASAN_IN_ROMSTAGE
353*b9411a12SAndroid Build Coastguard Worker	bool
354*b9411a12SAndroid Build Coastguard Worker	default n
355*b9411a12SAndroid Build Coastguard Worker
356*b9411a12SAndroid Build Coastguard Workerconfig ASAN_IN_ROMSTAGE
357*b9411a12SAndroid Build Coastguard Worker	bool
358*b9411a12SAndroid Build Coastguard Worker	default n
359*b9411a12SAndroid Build Coastguard Worker	help
360*b9411a12SAndroid Build Coastguard Worker	  Enable address sanitizer in romstage for platform.
361*b9411a12SAndroid Build Coastguard Worker
362*b9411a12SAndroid Build Coastguard Workerconfig HAVE_ASAN_IN_RAMSTAGE
363*b9411a12SAndroid Build Coastguard Worker	bool
364*b9411a12SAndroid Build Coastguard Worker	default n
365*b9411a12SAndroid Build Coastguard Worker
366*b9411a12SAndroid Build Coastguard Workerconfig ASAN_IN_RAMSTAGE
367*b9411a12SAndroid Build Coastguard Worker	bool
368*b9411a12SAndroid Build Coastguard Worker	default n
369*b9411a12SAndroid Build Coastguard Worker	help
370*b9411a12SAndroid Build Coastguard Worker	  Enable address sanitizer in ramstage for platform.
371*b9411a12SAndroid Build Coastguard Worker
372*b9411a12SAndroid Build Coastguard Workerconfig ASAN
373*b9411a12SAndroid Build Coastguard Worker	bool "Address sanitizer support"
374*b9411a12SAndroid Build Coastguard Worker	default n
375*b9411a12SAndroid Build Coastguard Worker	select ASAN_IN_ROMSTAGE if HAVE_ASAN_IN_ROMSTAGE
376*b9411a12SAndroid Build Coastguard Worker	select ASAN_IN_RAMSTAGE if HAVE_ASAN_IN_RAMSTAGE
377*b9411a12SAndroid Build Coastguard Worker	depends on COMPILER_GCC
378*b9411a12SAndroid Build Coastguard Worker	help
379*b9411a12SAndroid Build Coastguard Worker	  Enable address sanitizer - runtime memory debugger,
380*b9411a12SAndroid Build Coastguard Worker	  designed to find out-of-bounds accesses and use-after-scope bugs.
381*b9411a12SAndroid Build Coastguard Worker
382*b9411a12SAndroid Build Coastguard Worker	  This feature consumes up to 1/8 of available memory and brings about
383*b9411a12SAndroid Build Coastguard Worker	  ~1.5x performance slowdown.
384*b9411a12SAndroid Build Coastguard Worker
385*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
386*b9411a12SAndroid Build Coastguard Worker
387*b9411a12SAndroid Build Coastguard Workerif ASAN
388*b9411a12SAndroid Build Coastguard Worker	comment "Before using this feature, make sure that           "
389*b9411a12SAndroid Build Coastguard Worker	comment "asan_shadow_offset_callback patch is applied to GCC."
390*b9411a12SAndroid Build Coastguard Workerendif
391*b9411a12SAndroid Build Coastguard Worker
392*b9411a12SAndroid Build Coastguard Workerchoice
393*b9411a12SAndroid Build Coastguard Worker	prompt "Stage Cache for ACPI S3 resume"
394*b9411a12SAndroid Build Coastguard Worker	default NO_STAGE_CACHE if !HAVE_ACPI_RESUME || MAINBOARD_DISABLE_STAGE_CACHE
395*b9411a12SAndroid Build Coastguard Worker	default TSEG_STAGE_CACHE if SMM_TSEG
396*b9411a12SAndroid Build Coastguard Worker
397*b9411a12SAndroid Build Coastguard Workerconfig NO_STAGE_CACHE
398*b9411a12SAndroid Build Coastguard Worker	bool "Disabled"
399*b9411a12SAndroid Build Coastguard Worker	help
400*b9411a12SAndroid Build Coastguard Worker	  Do not save any component in stage cache for resume path. On resume,
401*b9411a12SAndroid Build Coastguard Worker	  all components would be read back from CBFS again.
402*b9411a12SAndroid Build Coastguard Worker
403*b9411a12SAndroid Build Coastguard Workerconfig TSEG_STAGE_CACHE
404*b9411a12SAndroid Build Coastguard Worker	bool "TSEG"
405*b9411a12SAndroid Build Coastguard Worker	depends on SMM_TSEG
406*b9411a12SAndroid Build Coastguard Worker	help
407*b9411a12SAndroid Build Coastguard Worker	  The option enables stage cache support for platform. Platform
408*b9411a12SAndroid Build Coastguard Worker	  can stash copies of postcar, ramstage and raw runtime data
409*b9411a12SAndroid Build Coastguard Worker	  inside SMM TSEG, to be restored on S3 resume path.
410*b9411a12SAndroid Build Coastguard Worker
411*b9411a12SAndroid Build Coastguard Workerconfig CBMEM_STAGE_CACHE
412*b9411a12SAndroid Build Coastguard Worker	bool "CBMEM"
413*b9411a12SAndroid Build Coastguard Worker	depends on !SMM_TSEG
414*b9411a12SAndroid Build Coastguard Worker	help
415*b9411a12SAndroid Build Coastguard Worker	  The option enables stage cache support for platform. Platform
416*b9411a12SAndroid Build Coastguard Worker	  can stash copies of postcar, ramstage and raw runtime data
417*b9411a12SAndroid Build Coastguard Worker	  inside CBMEM.
418*b9411a12SAndroid Build Coastguard Worker
419*b9411a12SAndroid Build Coastguard Worker	  While the approach is faster than reloading stages from boot media
420*b9411a12SAndroid Build Coastguard Worker	  it is also a possible attack scenario via which OS can possibly
421*b9411a12SAndroid Build Coastguard Worker	  circumvent SMM locks and SPI write protections.
422*b9411a12SAndroid Build Coastguard Worker
423*b9411a12SAndroid Build Coastguard Worker	  If unsure, select 'N'
424*b9411a12SAndroid Build Coastguard Worker
425*b9411a12SAndroid Build Coastguard Workerendchoice
426*b9411a12SAndroid Build Coastguard Worker
427*b9411a12SAndroid Build Coastguard Workerconfig MAINBOARD_DISABLE_STAGE_CACHE
428*b9411a12SAndroid Build Coastguard Worker	bool
429*b9411a12SAndroid Build Coastguard Worker	help
430*b9411a12SAndroid Build Coastguard Worker	  Selected by mainboards which wish to disable the stage cache.
431*b9411a12SAndroid Build Coastguard Worker	  E.g. mainboards which don't use S3 resume in the field may wish to
432*b9411a12SAndroid Build Coastguard Worker	  disable it to save boot time at the cost of increasing S3 resume time.
433*b9411a12SAndroid Build Coastguard Worker
434*b9411a12SAndroid Build Coastguard Workerconfig UPDATE_IMAGE
435*b9411a12SAndroid Build Coastguard Worker	bool "Update existing coreboot.rom image"
436*b9411a12SAndroid Build Coastguard Worker	help
437*b9411a12SAndroid Build Coastguard Worker	  If this option is enabled, no new coreboot.rom file
438*b9411a12SAndroid Build Coastguard Worker	  is created. Instead it is expected that there already
439*b9411a12SAndroid Build Coastguard Worker	  is a suitable file for further processing.
440*b9411a12SAndroid Build Coastguard Worker	  The bootblock will not be modified.
441*b9411a12SAndroid Build Coastguard Worker
442*b9411a12SAndroid Build Coastguard Worker	  If unsure, select 'N'
443*b9411a12SAndroid Build Coastguard Worker
444*b9411a12SAndroid Build Coastguard Workerconfig BOOTSPLASH_IMAGE
445*b9411a12SAndroid Build Coastguard Worker	bool "Add a bootsplash image"
446*b9411a12SAndroid Build Coastguard Worker	help
447*b9411a12SAndroid Build Coastguard Worker	  Select this option if you have a bootsplash image that you would
448*b9411a12SAndroid Build Coastguard Worker	  like to add to your ROM.
449*b9411a12SAndroid Build Coastguard Worker
450*b9411a12SAndroid Build Coastguard Worker	  This will only add the image to the ROM. To actually run it check
451*b9411a12SAndroid Build Coastguard Worker	  options under 'Display' section.
452*b9411a12SAndroid Build Coastguard Worker
453*b9411a12SAndroid Build Coastguard Workerconfig BOOTSPLASH_FILE
454*b9411a12SAndroid Build Coastguard Worker	string "Bootsplash path and filename"
455*b9411a12SAndroid Build Coastguard Worker	depends on BOOTSPLASH_IMAGE
456*b9411a12SAndroid Build Coastguard Worker	# Default value set at the end of the file
457*b9411a12SAndroid Build Coastguard Worker	help
458*b9411a12SAndroid Build Coastguard Worker	  The path and filename of the file to use as graphical bootsplash
459*b9411a12SAndroid Build Coastguard Worker	  screen. The file format has to be JPEG with YCC 4:2:0 color sampling
460*b9411a12SAndroid Build Coastguard Worker	  unless converted with "Pre-process bootsplash file with ImageMagick".
461*b9411a12SAndroid Build Coastguard Worker
462*b9411a12SAndroid Build Coastguard Worker	  The image can only be displayed by coreboot if it's smaller or has
463*b9411a12SAndroid Build Coastguard Worker	  the same size as the framebuffer resolution. Width and height have
464*b9411a12SAndroid Build Coastguard Worker	  to be a multiple of 16 pixels.
465*b9411a12SAndroid Build Coastguard Worker
466*b9411a12SAndroid Build Coastguard Worker	  Setting these constraints allows a leaner implementation in coreboot.
467*b9411a12SAndroid Build Coastguard Worker	  The minimum necessary ImageMagick command line seems to be:
468*b9411a12SAndroid Build Coastguard Worker	  $ convert input.img -colorspace YCC -sampling-factor 4:2:0 bootsplash.jpg
469*b9411a12SAndroid Build Coastguard Worker
470*b9411a12SAndroid Build Coastguard Workerconfig BOOTSPLASH_CONVERT
471*b9411a12SAndroid Build Coastguard Worker	bool "Pre-process bootsplash file with ImageMagick"
472*b9411a12SAndroid Build Coastguard Worker	depends on BOOTSPLASH_IMAGE
473*b9411a12SAndroid Build Coastguard Worker	help
474*b9411a12SAndroid Build Coastguard Worker	  Use ImageMagick (`convert` program) to convert a bootsplash image
475*b9411a12SAndroid Build Coastguard Worker	  to the supported JPEG format.
476*b9411a12SAndroid Build Coastguard Worker
477*b9411a12SAndroid Build Coastguard Workerconfig BOOTSPLASH_CONVERT_QUALITY
478*b9411a12SAndroid Build Coastguard Worker	int "Bootsplash JPEG target quality (%)"
479*b9411a12SAndroid Build Coastguard Worker	depends on BOOTSPLASH_CONVERT
480*b9411a12SAndroid Build Coastguard Worker	range 1 100
481*b9411a12SAndroid Build Coastguard Worker	# Default value set at the end of the file
482*b9411a12SAndroid Build Coastguard Worker
483*b9411a12SAndroid Build Coastguard Workerconfig BOOTSPLASH_CONVERT_RESIZE
484*b9411a12SAndroid Build Coastguard Worker	bool "Resize bootsplash image"
485*b9411a12SAndroid Build Coastguard Worker	depends on BOOTSPLASH_CONVERT
486*b9411a12SAndroid Build Coastguard Worker	help
487*b9411a12SAndroid Build Coastguard Worker	  Resize the image to the given resolution. Aspect ratio will be kept,
488*b9411a12SAndroid Build Coastguard Worker	  adding black bars as necessary.
489*b9411a12SAndroid Build Coastguard Worker
490*b9411a12SAndroid Build Coastguard Workerconfig BOOTSPLASH_CONVERT_RESOLUTION
491*b9411a12SAndroid Build Coastguard Worker	string "Bootsplash image target size"
492*b9411a12SAndroid Build Coastguard Worker	depends on BOOTSPLASH_CONVERT_RESIZE
493*b9411a12SAndroid Build Coastguard Worker	# Default value set at the end of the file
494*b9411a12SAndroid Build Coastguard Worker	help
495*b9411a12SAndroid Build Coastguard Worker	  Target image resolution given as <width>x<height>, e.g. 1024x768.
496*b9411a12SAndroid Build Coastguard Worker	  Values not divisible by 16 will be rounded down.
497*b9411a12SAndroid Build Coastguard Worker
498*b9411a12SAndroid Build Coastguard Worker	  When using coreboot to display the bootsplash image (CONFIG_BOOTSPLASH),
499*b9411a12SAndroid Build Coastguard Worker	  set this lower or equal to the minimum resolution you expect.
500*b9411a12SAndroid Build Coastguard Worker
501*b9411a12SAndroid Build Coastguard Workerconfig BOOTSPLASH_CONVERT_COLORSWAP
502*b9411a12SAndroid Build Coastguard Worker	bool "Swap red and blue color channels"
503*b9411a12SAndroid Build Coastguard Worker	depends on BOOTSPLASH_CONVERT
504*b9411a12SAndroid Build Coastguard Worker	help
505*b9411a12SAndroid Build Coastguard Worker	  The JPEG decoder currently ignores the framebuffer color order.
506*b9411a12SAndroid Build Coastguard Worker	  If your colors seem all wrong, try this option.
507*b9411a12SAndroid Build Coastguard Worker
508*b9411a12SAndroid Build Coastguard Workerconfig FW_CONFIG
509*b9411a12SAndroid Build Coastguard Worker	bool
510*b9411a12SAndroid Build Coastguard Worker	help
511*b9411a12SAndroid Build Coastguard Worker	  Enable support for probing devices with fw_config.  This is a simple
512*b9411a12SAndroid Build Coastguard Worker	  bitmask broken into fields and options for probing.
513*b9411a12SAndroid Build Coastguard Worker	  Select this option in the Mainboard Kconfig.
514*b9411a12SAndroid Build Coastguard Worker
515*b9411a12SAndroid Build Coastguard Workerconfig FW_CONFIG_SOURCE_CHROMEEC_CBI
516*b9411a12SAndroid Build Coastguard Worker	bool
517*b9411a12SAndroid Build Coastguard Worker	depends on FW_CONFIG && EC_GOOGLE_CHROMEEC
518*b9411a12SAndroid Build Coastguard Worker	help
519*b9411a12SAndroid Build Coastguard Worker	  This option tells coreboot to read the firmware configuration value
520*b9411a12SAndroid Build Coastguard Worker	  from the Google Chrome Embedded Controller CBI interface.  This source
521*b9411a12SAndroid Build Coastguard Worker	  is not tried if FW_CONFIG_SOURCE_CBFS is enabled and the value was
522*b9411a12SAndroid Build Coastguard Worker	  found in CBFS.
523*b9411a12SAndroid Build Coastguard Worker	  Select this option in the Mainboard Kconfig.
524*b9411a12SAndroid Build Coastguard Worker
525*b9411a12SAndroid Build Coastguard Workerconfig FW_CONFIG_SOURCE_CBFS
526*b9411a12SAndroid Build Coastguard Worker	bool "Obtain Firmware Configuration value from CBFS"
527*b9411a12SAndroid Build Coastguard Worker	depends on FW_CONFIG
528*b9411a12SAndroid Build Coastguard Worker	help
529*b9411a12SAndroid Build Coastguard Worker	  With this option enabled coreboot will look for the 32bit firmware
530*b9411a12SAndroid Build Coastguard Worker	  configuration value in CBFS at the selected prefix with the file name
531*b9411a12SAndroid Build Coastguard Worker	  "fw_config".  This option gets run if no value is found with CBI, so acts
532*b9411a12SAndroid Build Coastguard Worker	  as a FW_CONFIG_SOURCE_CHROMEEC_CBI fallback option.
533*b9411a12SAndroid Build Coastguard Worker
534*b9411a12SAndroid Build Coastguard Workerconfig FW_CONFIG_SOURCE_VPD
535*b9411a12SAndroid Build Coastguard Worker	bool "Obtain Firmware Configuration value from VPD"
536*b9411a12SAndroid Build Coastguard Worker	depends on FW_CONFIG && VPD
537*b9411a12SAndroid Build Coastguard Worker	help
538*b9411a12SAndroid Build Coastguard Worker	  With this option enabled coreboot will look for the 32bit firmware
539*b9411a12SAndroid Build Coastguard Worker	  configuration value in VPD key name "fw_config".  This option runs if no
540*b9411a12SAndroid Build Coastguard Worker	  FW_CONFIG value is set by either CBI or CBFS.
541*b9411a12SAndroid Build Coastguard Worker
542*b9411a12SAndroid Build Coastguard Workerconfig HAVE_RAMPAYLOAD
543*b9411a12SAndroid Build Coastguard Worker	bool
544*b9411a12SAndroid Build Coastguard Worker
545*b9411a12SAndroid Build Coastguard Workerconfig RAMPAYLOAD
546*b9411a12SAndroid Build Coastguard Worker	bool "Enable coreboot flow without executing ramstage"
547*b9411a12SAndroid Build Coastguard Worker	default y if ARCH_X86
548*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_RAMPAYLOAD
549*b9411a12SAndroid Build Coastguard Worker	help
550*b9411a12SAndroid Build Coastguard Worker	  If this option is enabled, coreboot flow will skip ramstage
551*b9411a12SAndroid Build Coastguard Worker	  loading and execution of ramstage to load payload.
552*b9411a12SAndroid Build Coastguard Worker
553*b9411a12SAndroid Build Coastguard Worker	  Instead it is expected to load payload from postcar stage itself.
554*b9411a12SAndroid Build Coastguard Worker
555*b9411a12SAndroid Build Coastguard Worker	  In this flow coreboot will perform basic x86 initialization
556*b9411a12SAndroid Build Coastguard Worker	  (DRAM resource allocation), MTRR programming,
557*b9411a12SAndroid Build Coastguard Worker	  Skip PCI enumeration logic and only allocate BAR for fixed devices
558*b9411a12SAndroid Build Coastguard Worker	  (bootable devices, TPM over GSPI).
559*b9411a12SAndroid Build Coastguard Worker
560*b9411a12SAndroid Build Coastguard Workerconfig HAVE_CONFIGURABLE_RAMSTAGE
561*b9411a12SAndroid Build Coastguard Worker	bool
562*b9411a12SAndroid Build Coastguard Worker
563*b9411a12SAndroid Build Coastguard Workerconfig CONFIGURABLE_RAMSTAGE
564*b9411a12SAndroid Build Coastguard Worker	bool "Enable a configurable ramstage."
565*b9411a12SAndroid Build Coastguard Worker	default y if ARCH_X86
566*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_CONFIGURABLE_RAMSTAGE
567*b9411a12SAndroid Build Coastguard Worker	help
568*b9411a12SAndroid Build Coastguard Worker	  A configurable ramstage allows you to select which parts of the ramstage
569*b9411a12SAndroid Build Coastguard Worker	  to run. Currently, we can only select a minimal PCI scanning step.
570*b9411a12SAndroid Build Coastguard Worker	  The minimal PCI scanning will only check those parts that are enabled
571*b9411a12SAndroid Build Coastguard Worker	  in the devicetree.cb. By convention none of those devices should be bridges.
572*b9411a12SAndroid Build Coastguard Worker
573*b9411a12SAndroid Build Coastguard Workerconfig MINIMAL_PCI_SCANNING
574*b9411a12SAndroid Build Coastguard Worker	bool "Enable minimal PCI scanning"
575*b9411a12SAndroid Build Coastguard Worker	depends on CONFIGURABLE_RAMSTAGE && PCI
576*b9411a12SAndroid Build Coastguard Worker	help
577*b9411a12SAndroid Build Coastguard Worker	  If this option is enabled, coreboot will scan only PCI devices
578*b9411a12SAndroid Build Coastguard Worker	  marked as mandatory in devicetree.cb
579*b9411a12SAndroid Build Coastguard Worker
580*b9411a12SAndroid Build Coastguard Workermenu "Software Bill Of Materials (SBOM)"
581*b9411a12SAndroid Build Coastguard Worker
582*b9411a12SAndroid Build Coastguard Workersource "src/sbom/Kconfig"
583*b9411a12SAndroid Build Coastguard Worker
584*b9411a12SAndroid Build Coastguard Workerendmenu
585*b9411a12SAndroid Build Coastguard Workerendmenu
586*b9411a12SAndroid Build Coastguard Worker
587*b9411a12SAndroid Build Coastguard Workermenu "Mainboard"
588*b9411a12SAndroid Build Coastguard Worker
589*b9411a12SAndroid Build Coastguard Workersource "src/mainboard/Kconfig"
590*b9411a12SAndroid Build Coastguard Worker
591*b9411a12SAndroid Build Coastguard Workerconfig DEVICETREE
592*b9411a12SAndroid Build Coastguard Worker	string
593*b9411a12SAndroid Build Coastguard Worker	default "devicetree.cb"
594*b9411a12SAndroid Build Coastguard Worker	help
595*b9411a12SAndroid Build Coastguard Worker	  This symbol allows mainboards to select a different file under their
596*b9411a12SAndroid Build Coastguard Worker	  mainboard directory for the devicetree.cb file.  This allows the board
597*b9411a12SAndroid Build Coastguard Worker	  variants that need different devicetrees to be in the same directory.
598*b9411a12SAndroid Build Coastguard Worker
599*b9411a12SAndroid Build Coastguard Worker	  Examples: "devicetree.variant.cb"
600*b9411a12SAndroid Build Coastguard Worker	            "variant/devicetree.cb"
601*b9411a12SAndroid Build Coastguard Worker
602*b9411a12SAndroid Build Coastguard Workerconfig OVERRIDE_DEVICETREE
603*b9411a12SAndroid Build Coastguard Worker	string
604*b9411a12SAndroid Build Coastguard Worker	default ""
605*b9411a12SAndroid Build Coastguard Worker	help
606*b9411a12SAndroid Build Coastguard Worker	  This symbol allows variants to provide an override devicetree file to
607*b9411a12SAndroid Build Coastguard Worker	  override the registers and/or add new devices on top of the ones
608*b9411a12SAndroid Build Coastguard Worker	  provided by baseboard devicetree using CONFIG_DEVICETREE.
609*b9411a12SAndroid Build Coastguard Worker
610*b9411a12SAndroid Build Coastguard Worker	  Examples: "devicetree.variant-override.cb"
611*b9411a12SAndroid Build Coastguard Worker	            "variant/devicetree-override.cb"
612*b9411a12SAndroid Build Coastguard Worker
613*b9411a12SAndroid Build Coastguard Workerconfig FMDFILE
614*b9411a12SAndroid Build Coastguard Worker	string "fmap description file in fmd format"
615*b9411a12SAndroid Build Coastguard Worker	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos.fmd" if CHROMEOS
616*b9411a12SAndroid Build Coastguard Worker	default ""
617*b9411a12SAndroid Build Coastguard Worker	help
618*b9411a12SAndroid Build Coastguard Worker	  The build system creates a default FMAP from ROM_SIZE and CBFS_SIZE,
619*b9411a12SAndroid Build Coastguard Worker	  but in some cases more complex setups are required.
620*b9411a12SAndroid Build Coastguard Worker	  When an fmd is specified, it overrides the default format.
621*b9411a12SAndroid Build Coastguard Worker
622*b9411a12SAndroid Build Coastguard Workerconfig CBFS_SIZE
623*b9411a12SAndroid Build Coastguard Worker	hex "Size of CBFS filesystem in ROM"
624*b9411a12SAndroid Build Coastguard Worker	depends on FMDFILE = ""
625*b9411a12SAndroid Build Coastguard Worker	# Default value set at the end of the file
626*b9411a12SAndroid Build Coastguard Worker	help
627*b9411a12SAndroid Build Coastguard Worker	  This is the part of the ROM actually managed by CBFS, located at the
628*b9411a12SAndroid Build Coastguard Worker	  end of the ROM (passed through cbfstool -o) on x86 and at the start
629*b9411a12SAndroid Build Coastguard Worker	  of the ROM (passed through cbfstool -s) everywhere else. It defaults
630*b9411a12SAndroid Build Coastguard Worker	  to span the whole ROM on all but Intel systems that use an Intel Firmware
631*b9411a12SAndroid Build Coastguard Worker	  Descriptor.  It can be overridden to make coreboot live alongside other
632*b9411a12SAndroid Build Coastguard Worker	  components like ChromeOS's vboot/FMAP or Intel's IFD / ME / TXE
633*b9411a12SAndroid Build Coastguard Worker	  binaries. This symbol should only be used to generate a default FMAP and
634*b9411a12SAndroid Build Coastguard Worker	  is unused when a non-default fmd file is provided via CONFIG_FMDFILE.
635*b9411a12SAndroid Build Coastguard Worker
636*b9411a12SAndroid Build Coastguard Workerendmenu
637*b9411a12SAndroid Build Coastguard Worker
638*b9411a12SAndroid Build Coastguard Worker# load site-local kconfig to allow user specific defaults and overrides
639*b9411a12SAndroid Build Coastguard Workersource "site-local/Kconfig"
640*b9411a12SAndroid Build Coastguard Worker
641*b9411a12SAndroid Build Coastguard Workerconfig SYSTEM_TYPE_LAPTOP
642*b9411a12SAndroid Build Coastguard Worker	default n
643*b9411a12SAndroid Build Coastguard Worker	bool
644*b9411a12SAndroid Build Coastguard Worker
645*b9411a12SAndroid Build Coastguard Workerconfig SYSTEM_TYPE_TABLET
646*b9411a12SAndroid Build Coastguard Worker	default n
647*b9411a12SAndroid Build Coastguard Worker	bool
648*b9411a12SAndroid Build Coastguard Worker
649*b9411a12SAndroid Build Coastguard Workerconfig SYSTEM_TYPE_DETACHABLE
650*b9411a12SAndroid Build Coastguard Worker	default n
651*b9411a12SAndroid Build Coastguard Worker	bool
652*b9411a12SAndroid Build Coastguard Worker
653*b9411a12SAndroid Build Coastguard Workerconfig SYSTEM_TYPE_CONVERTIBLE
654*b9411a12SAndroid Build Coastguard Worker	default n
655*b9411a12SAndroid Build Coastguard Worker	bool
656*b9411a12SAndroid Build Coastguard Worker
657*b9411a12SAndroid Build Coastguard Workerconfig CBFS_AUTOGEN_ATTRIBUTES
658*b9411a12SAndroid Build Coastguard Worker	default n
659*b9411a12SAndroid Build Coastguard Worker	bool
660*b9411a12SAndroid Build Coastguard Worker	help
661*b9411a12SAndroid Build Coastguard Worker	  If this option is selected, every file in cbfs which has a constraint
662*b9411a12SAndroid Build Coastguard Worker	  regarding position or alignment will get an additional file attribute
663*b9411a12SAndroid Build Coastguard Worker	  which describes this constraint.
664*b9411a12SAndroid Build Coastguard Worker
665*b9411a12SAndroid Build Coastguard Workermenu "Chipset"
666*b9411a12SAndroid Build Coastguard Worker
667*b9411a12SAndroid Build Coastguard Workercomment "SoC"
668*b9411a12SAndroid Build Coastguard Workersource "src/soc/*/*/Kconfig"
669*b9411a12SAndroid Build Coastguard Workersource "src/soc/*/*/Kconfig.common"
670*b9411a12SAndroid Build Coastguard Workercomment "CPU"
671*b9411a12SAndroid Build Coastguard Workersource "src/cpu/Kconfig"
672*b9411a12SAndroid Build Coastguard Workercomment "Northbridge"
673*b9411a12SAndroid Build Coastguard Workersource "src/northbridge/*/*/Kconfig"
674*b9411a12SAndroid Build Coastguard Workersource "src/northbridge/*/*/Kconfig.common"
675*b9411a12SAndroid Build Coastguard Workercomment "Southbridge"
676*b9411a12SAndroid Build Coastguard Workersource "src/southbridge/*/*/Kconfig"
677*b9411a12SAndroid Build Coastguard Workersource "src/southbridge/*/*/Kconfig.common"
678*b9411a12SAndroid Build Coastguard Workercomment "Super I/O"
679*b9411a12SAndroid Build Coastguard Workersource "src/superio/*/*/Kconfig"
680*b9411a12SAndroid Build Coastguard Workercomment "Embedded Controllers"
681*b9411a12SAndroid Build Coastguard Workersource "src/ec/acpi/Kconfig"
682*b9411a12SAndroid Build Coastguard Workersource "src/ec/*/*/Kconfig"
683*b9411a12SAndroid Build Coastguard Worker
684*b9411a12SAndroid Build Coastguard Workersource "src/southbridge/intel/common/firmware/Kconfig"
685*b9411a12SAndroid Build Coastguard Workersource "src/vendorcode/*/Kconfig"
686*b9411a12SAndroid Build Coastguard Worker
687*b9411a12SAndroid Build Coastguard Workersource "src/arch/*/Kconfig"
688*b9411a12SAndroid Build Coastguard Worker
689*b9411a12SAndroid Build Coastguard Workerconfig CHIPSET_DEVICETREE
690*b9411a12SAndroid Build Coastguard Worker	string
691*b9411a12SAndroid Build Coastguard Worker	default ""
692*b9411a12SAndroid Build Coastguard Worker	help
693*b9411a12SAndroid Build Coastguard Worker	  This symbol allows a chipset to provide a set of default settings in
694*b9411a12SAndroid Build Coastguard Worker	  a devicetree which are common to all mainboards. This may include
695*b9411a12SAndroid Build Coastguard Worker	  devices (including alias names), chip drivers, register settings,
696*b9411a12SAndroid Build Coastguard Worker	  and others. This path is relative to the src/ directory.
697*b9411a12SAndroid Build Coastguard Worker
698*b9411a12SAndroid Build Coastguard Worker	  Example: "chipset.cb"
699*b9411a12SAndroid Build Coastguard Worker
700*b9411a12SAndroid Build Coastguard Workerendmenu
701*b9411a12SAndroid Build Coastguard Worker
702*b9411a12SAndroid Build Coastguard Workersource "src/device/Kconfig"
703*b9411a12SAndroid Build Coastguard Worker
704*b9411a12SAndroid Build Coastguard Workermenu "Generic Drivers"
705*b9411a12SAndroid Build Coastguard Workersource "src/drivers/*/Kconfig"
706*b9411a12SAndroid Build Coastguard Workersource "src/drivers/*/*/Kconfig"
707*b9411a12SAndroid Build Coastguard Workersource "src/drivers/*/*/*/Kconfig"
708*b9411a12SAndroid Build Coastguard Workersource "src/commonlib/storage/Kconfig"
709*b9411a12SAndroid Build Coastguard Workerendmenu
710*b9411a12SAndroid Build Coastguard Worker
711*b9411a12SAndroid Build Coastguard Workermenu "Security"
712*b9411a12SAndroid Build Coastguard Worker
713*b9411a12SAndroid Build Coastguard Workersource "src/security/Kconfig"
714*b9411a12SAndroid Build Coastguard Workersource "src/vendorcode/eltan/security/Kconfig"
715*b9411a12SAndroid Build Coastguard Worker
716*b9411a12SAndroid Build Coastguard Workerendmenu
717*b9411a12SAndroid Build Coastguard Worker
718*b9411a12SAndroid Build Coastguard Workersource "src/acpi/Kconfig"
719*b9411a12SAndroid Build Coastguard Worker
720*b9411a12SAndroid Build Coastguard Worker# This option is for the current boards/chipsets where SPI flash
721*b9411a12SAndroid Build Coastguard Worker# is not the boot device. Currently nearly all boards/chipsets assume
722*b9411a12SAndroid Build Coastguard Worker# SPI flash is the boot device.
723*b9411a12SAndroid Build Coastguard Workerconfig BOOT_DEVICE_NOT_SPI_FLASH
724*b9411a12SAndroid Build Coastguard Worker	bool
725*b9411a12SAndroid Build Coastguard Worker	default n
726*b9411a12SAndroid Build Coastguard Worker
727*b9411a12SAndroid Build Coastguard Workerconfig BOOT_DEVICE_SPI_FLASH
728*b9411a12SAndroid Build Coastguard Worker	bool
729*b9411a12SAndroid Build Coastguard Worker	default y if !BOOT_DEVICE_NOT_SPI_FLASH
730*b9411a12SAndroid Build Coastguard Worker	default n
731*b9411a12SAndroid Build Coastguard Worker
732*b9411a12SAndroid Build Coastguard Workerconfig BOOT_DEVICE_MEMORY_MAPPED
733*b9411a12SAndroid Build Coastguard Worker	bool
734*b9411a12SAndroid Build Coastguard Worker	default y if ARCH_X86 && BOOT_DEVICE_SPI_FLASH
735*b9411a12SAndroid Build Coastguard Worker	default n
736*b9411a12SAndroid Build Coastguard Worker	help
737*b9411a12SAndroid Build Coastguard Worker	  Inform system if SPI is memory-mapped or not.
738*b9411a12SAndroid Build Coastguard Worker
739*b9411a12SAndroid Build Coastguard Workerconfig BOOT_DEVICE_SUPPORTS_WRITES
740*b9411a12SAndroid Build Coastguard Worker	bool
741*b9411a12SAndroid Build Coastguard Worker	default n
742*b9411a12SAndroid Build Coastguard Worker	help
743*b9411a12SAndroid Build Coastguard Worker	  Indicate that the platform has writable boot device
744*b9411a12SAndroid Build Coastguard Worker	  support.
745*b9411a12SAndroid Build Coastguard Worker
746*b9411a12SAndroid Build Coastguard Workerconfig RTC
747*b9411a12SAndroid Build Coastguard Worker	bool
748*b9411a12SAndroid Build Coastguard Worker	default n
749*b9411a12SAndroid Build Coastguard Worker
750*b9411a12SAndroid Build Coastguard Workerconfig HEAP_SIZE
751*b9411a12SAndroid Build Coastguard Worker	hex
752*b9411a12SAndroid Build Coastguard Worker	default 0x100000
753*b9411a12SAndroid Build Coastguard Worker
754*b9411a12SAndroid Build Coastguard Workerconfig STACK_SIZE
755*b9411a12SAndroid Build Coastguard Worker	hex
756*b9411a12SAndroid Build Coastguard Worker	default 0x2000 if ARCH_X86
757*b9411a12SAndroid Build Coastguard Worker	default 0x0
758*b9411a12SAndroid Build Coastguard Worker
759*b9411a12SAndroid Build Coastguard Workerconfig MAX_CPUS
760*b9411a12SAndroid Build Coastguard Worker	int
761*b9411a12SAndroid Build Coastguard Worker	default 1
762*b9411a12SAndroid Build Coastguard Worker
763*b9411a12SAndroid Build Coastguard Workersource "src/console/Kconfig"
764*b9411a12SAndroid Build Coastguard Worker
765*b9411a12SAndroid Build Coastguard Workerconfig ACPI_S1_NOT_SUPPORTED
766*b9411a12SAndroid Build Coastguard Worker	bool
767*b9411a12SAndroid Build Coastguard Worker	default n
768*b9411a12SAndroid Build Coastguard Worker	help
769*b9411a12SAndroid Build Coastguard Worker	  Set this to 'y' on platforms that do not support ACPI S1 state.
770*b9411a12SAndroid Build Coastguard Worker
771*b9411a12SAndroid Build Coastguard Workerconfig HAVE_ACPI_RESUME
772*b9411a12SAndroid Build Coastguard Worker	bool
773*b9411a12SAndroid Build Coastguard Worker	default n
774*b9411a12SAndroid Build Coastguard Worker
775*b9411a12SAndroid Build Coastguard Workerconfig DISABLE_ACPI_HIBERNATE
776*b9411a12SAndroid Build Coastguard Worker	bool
777*b9411a12SAndroid Build Coastguard Worker	default n
778*b9411a12SAndroid Build Coastguard Worker	help
779*b9411a12SAndroid Build Coastguard Worker	  Removes S4 from the available sleepstates
780*b9411a12SAndroid Build Coastguard Worker
781*b9411a12SAndroid Build Coastguard Workerconfig RESUME_PATH_SAME_AS_BOOT
782*b9411a12SAndroid Build Coastguard Worker	bool
783*b9411a12SAndroid Build Coastguard Worker	default y if ARCH_X86
784*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_ACPI_RESUME
785*b9411a12SAndroid Build Coastguard Worker	help
786*b9411a12SAndroid Build Coastguard Worker	  This option indicates that when a system resumes it takes the
787*b9411a12SAndroid Build Coastguard Worker	  same path as a regular boot. e.g. an x86 system runs from the
788*b9411a12SAndroid Build Coastguard Worker	  reset vector at 0xfffffff0 on both resume and warm/cold boot.
789*b9411a12SAndroid Build Coastguard Worker
790*b9411a12SAndroid Build Coastguard Workerconfig NO_MONOTONIC_TIMER
791*b9411a12SAndroid Build Coastguard Worker	def_bool n
792*b9411a12SAndroid Build Coastguard Worker
793*b9411a12SAndroid Build Coastguard Workerconfig HAVE_MONOTONIC_TIMER
794*b9411a12SAndroid Build Coastguard Worker	bool
795*b9411a12SAndroid Build Coastguard Worker	depends on !NO_MONOTONIC_TIMER
796*b9411a12SAndroid Build Coastguard Worker	default y
797*b9411a12SAndroid Build Coastguard Worker	help
798*b9411a12SAndroid Build Coastguard Worker	 The board/chipset provides a monotonic timer.
799*b9411a12SAndroid Build Coastguard Worker
800*b9411a12SAndroid Build Coastguard Workerconfig GENERIC_UDELAY
801*b9411a12SAndroid Build Coastguard Worker	bool
802*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_MONOTONIC_TIMER
803*b9411a12SAndroid Build Coastguard Worker	default y if !ARCH_X86
804*b9411a12SAndroid Build Coastguard Worker	help
805*b9411a12SAndroid Build Coastguard Worker	 The board/chipset uses a generic udelay function utilizing the
806*b9411a12SAndroid Build Coastguard Worker	 monotonic timer.
807*b9411a12SAndroid Build Coastguard Worker
808*b9411a12SAndroid Build Coastguard Workerconfig TIMER_QUEUE
809*b9411a12SAndroid Build Coastguard Worker	def_bool n
810*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_MONOTONIC_TIMER
811*b9411a12SAndroid Build Coastguard Worker	help
812*b9411a12SAndroid Build Coastguard Worker	  Provide a timer queue for performing time-based callbacks.
813*b9411a12SAndroid Build Coastguard Worker
814*b9411a12SAndroid Build Coastguard Workerconfig COOP_MULTITASKING
815*b9411a12SAndroid Build Coastguard Worker	def_bool n
816*b9411a12SAndroid Build Coastguard Worker	select TIMER_QUEUE
817*b9411a12SAndroid Build Coastguard Worker	depends on ARCH_X86
818*b9411a12SAndroid Build Coastguard Worker	help
819*b9411a12SAndroid Build Coastguard Worker	  Cooperative multitasking allows callbacks to be multiplexed on the
820*b9411a12SAndroid Build Coastguard Worker	  main thread. With this enabled it allows for multiple execution paths
821*b9411a12SAndroid Build Coastguard Worker	  to take place when they have udelay() calls within their code.
822*b9411a12SAndroid Build Coastguard Worker
823*b9411a12SAndroid Build Coastguard Workerconfig NUM_THREADS
824*b9411a12SAndroid Build Coastguard Worker	int
825*b9411a12SAndroid Build Coastguard Worker	default 4
826*b9411a12SAndroid Build Coastguard Worker	depends on COOP_MULTITASKING
827*b9411a12SAndroid Build Coastguard Worker	help
828*b9411a12SAndroid Build Coastguard Worker	  How many execution threads to cooperatively multitask with.
829*b9411a12SAndroid Build Coastguard Worker
830*b9411a12SAndroid Build Coastguard Workerconfig HAVE_MAINBOARD_SPECIFIC_OPTION_BACKEND
831*b9411a12SAndroid Build Coastguard Worker	bool
832*b9411a12SAndroid Build Coastguard Worker	help
833*b9411a12SAndroid Build Coastguard Worker	  Selected by mainboards which implement a mainboard-specific mechanism
834*b9411a12SAndroid Build Coastguard Worker	  to access the values for runtime-configurable options. For example, a
835*b9411a12SAndroid Build Coastguard Worker	  custom BMC interface or an EEPROM with an externally-imposed layout.
836*b9411a12SAndroid Build Coastguard Worker
837*b9411a12SAndroid Build Coastguard Workerconfig HAVE_OPTION_TABLE
838*b9411a12SAndroid Build Coastguard Worker	bool
839*b9411a12SAndroid Build Coastguard Worker	default n
840*b9411a12SAndroid Build Coastguard Worker	help
841*b9411a12SAndroid Build Coastguard Worker	  This variable specifies whether a given board has a cmos.layout
842*b9411a12SAndroid Build Coastguard Worker	  file containing NVRAM/CMOS bit definitions.
843*b9411a12SAndroid Build Coastguard Worker	  It defaults to 'n' but can be selected in mainboard/*/Kconfig.
844*b9411a12SAndroid Build Coastguard Worker
845*b9411a12SAndroid Build Coastguard Workerconfig CMOS_LAYOUT_FILE
846*b9411a12SAndroid Build Coastguard Worker	string
847*b9411a12SAndroid Build Coastguard Worker	default "src/mainboard/\$(MAINBOARDDIR)/cmos.layout"
848*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_OPTION_TABLE
849*b9411a12SAndroid Build Coastguard Worker
850*b9411a12SAndroid Build Coastguard Workerconfig PCI_IO_CFG_EXT
851*b9411a12SAndroid Build Coastguard Worker	bool
852*b9411a12SAndroid Build Coastguard Worker	default n
853*b9411a12SAndroid Build Coastguard Worker
854*b9411a12SAndroid Build Coastguard Workerconfig IOAPIC
855*b9411a12SAndroid Build Coastguard Worker	bool
856*b9411a12SAndroid Build Coastguard Worker	default y if SMP
857*b9411a12SAndroid Build Coastguard Worker	default n
858*b9411a12SAndroid Build Coastguard Worker
859*b9411a12SAndroid Build Coastguard Workerconfig USE_WATCHDOG_ON_BOOT
860*b9411a12SAndroid Build Coastguard Worker	bool
861*b9411a12SAndroid Build Coastguard Worker	default n
862*b9411a12SAndroid Build Coastguard Worker
863*b9411a12SAndroid Build Coastguard Workerconfig GFXUMA
864*b9411a12SAndroid Build Coastguard Worker	bool
865*b9411a12SAndroid Build Coastguard Worker	default n
866*b9411a12SAndroid Build Coastguard Worker	help
867*b9411a12SAndroid Build Coastguard Worker	  Enable Unified Memory Architecture for graphics.
868*b9411a12SAndroid Build Coastguard Worker
869*b9411a12SAndroid Build Coastguard Workerconfig HAVE_MP_TABLE
870*b9411a12SAndroid Build Coastguard Worker	bool
871*b9411a12SAndroid Build Coastguard Worker	help
872*b9411a12SAndroid Build Coastguard Worker	  This variable specifies whether a given board has MP table support.
873*b9411a12SAndroid Build Coastguard Worker	  It is usually set in mainboard/*/Kconfig.
874*b9411a12SAndroid Build Coastguard Worker	  Whether or not the MP table is actually generated by coreboot
875*b9411a12SAndroid Build Coastguard Worker	  is configurable by the user via GENERATE_MP_TABLE.
876*b9411a12SAndroid Build Coastguard Worker
877*b9411a12SAndroid Build Coastguard Workerconfig HAVE_PIRQ_TABLE
878*b9411a12SAndroid Build Coastguard Worker	bool
879*b9411a12SAndroid Build Coastguard Worker	help
880*b9411a12SAndroid Build Coastguard Worker	  This variable specifies whether a given board has PIRQ table support.
881*b9411a12SAndroid Build Coastguard Worker	  It is usually set in mainboard/*/Kconfig.
882*b9411a12SAndroid Build Coastguard Worker	  Whether or not the PIRQ table is actually generated by coreboot
883*b9411a12SAndroid Build Coastguard Worker	  is configurable by the user via GENERATE_PIRQ_TABLE.
884*b9411a12SAndroid Build Coastguard Worker
885*b9411a12SAndroid Build Coastguard Workerconfig ACPI_NHLT
886*b9411a12SAndroid Build Coastguard Worker	bool
887*b9411a12SAndroid Build Coastguard Worker	default n
888*b9411a12SAndroid Build Coastguard Worker	help
889*b9411a12SAndroid Build Coastguard Worker	  Build support for NHLT (non HD Audio) ACPI table generation.
890*b9411a12SAndroid Build Coastguard Worker
891*b9411a12SAndroid Build Coastguard Worker#These Options are here to avoid "undefined" warnings.
892*b9411a12SAndroid Build Coastguard Worker#The actual selection and help texts are in the following menu.
893*b9411a12SAndroid Build Coastguard Worker
894*b9411a12SAndroid Build Coastguard Workermenu "System tables"
895*b9411a12SAndroid Build Coastguard Worker
896*b9411a12SAndroid Build Coastguard Workerconfig GENERATE_MP_TABLE
897*b9411a12SAndroid Build Coastguard Worker	prompt "Generate an MP table" if HAVE_MP_TABLE
898*b9411a12SAndroid Build Coastguard Worker	bool
899*b9411a12SAndroid Build Coastguard Worker	depends on !ECAM_MMCONF_SUPPORT || ECAM_MMCONF_BUS_NUMBER <= 256
900*b9411a12SAndroid Build Coastguard Worker	default HAVE_MP_TABLE
901*b9411a12SAndroid Build Coastguard Worker	help
902*b9411a12SAndroid Build Coastguard Worker	  Generate an MP table (conforming to the Intel MultiProcessor
903*b9411a12SAndroid Build Coastguard Worker	  specification 1.4) for this board.
904*b9411a12SAndroid Build Coastguard Worker
905*b9411a12SAndroid Build Coastguard Worker	  If unsure, say Y.
906*b9411a12SAndroid Build Coastguard Worker
907*b9411a12SAndroid Build Coastguard Workerconfig GENERATE_PIRQ_TABLE
908*b9411a12SAndroid Build Coastguard Worker	prompt "Generate a PIRQ table" if HAVE_PIRQ_TABLE
909*b9411a12SAndroid Build Coastguard Worker	bool
910*b9411a12SAndroid Build Coastguard Worker	default HAVE_PIRQ_TABLE
911*b9411a12SAndroid Build Coastguard Worker	help
912*b9411a12SAndroid Build Coastguard Worker	  Generate a PIRQ table for this board.
913*b9411a12SAndroid Build Coastguard Worker
914*b9411a12SAndroid Build Coastguard Worker	  If unsure, say Y.
915*b9411a12SAndroid Build Coastguard Worker
916*b9411a12SAndroid Build Coastguard Workerconfig GENERATE_SMBIOS_TABLES
917*b9411a12SAndroid Build Coastguard Worker	depends on ARCH_X86 || ARCH_ARM64
918*b9411a12SAndroid Build Coastguard Worker	bool "Generate SMBIOS tables"
919*b9411a12SAndroid Build Coastguard Worker	default n if ARCH_ARM64
920*b9411a12SAndroid Build Coastguard Worker	default y
921*b9411a12SAndroid Build Coastguard Worker	help
922*b9411a12SAndroid Build Coastguard Worker	  Generate SMBIOS tables for this board.
923*b9411a12SAndroid Build Coastguard Worker
924*b9411a12SAndroid Build Coastguard Worker	  If unsure, say Y.
925*b9411a12SAndroid Build Coastguard Worker
926*b9411a12SAndroid Build Coastguard Workerconfig SMBIOS_TYPE41_PROVIDED_BY_DEVTREE
927*b9411a12SAndroid Build Coastguard Worker	bool
928*b9411a12SAndroid Build Coastguard Worker	depends on ARCH_X86
929*b9411a12SAndroid Build Coastguard Worker	help
930*b9411a12SAndroid Build Coastguard Worker	  If enabled, only generate SMBIOS Type 41 entries for PCI devices in
931*b9411a12SAndroid Build Coastguard Worker	  the devicetree for which Type 41 information is provided, e.g. with
932*b9411a12SAndroid Build Coastguard Worker	  the `smbios_dev_info` devicetree syntax. This is useful to manually
933*b9411a12SAndroid Build Coastguard Worker	  assign specific instance IDs to onboard devices irrespective of the
934*b9411a12SAndroid Build Coastguard Worker	  device traversal order. It is assumed that instance IDs for devices
935*b9411a12SAndroid Build Coastguard Worker	  of the same class are unique.
936*b9411a12SAndroid Build Coastguard Worker	  When disabled, coreboot autogenerates SMBIOS Type 41 entries for all
937*b9411a12SAndroid Build Coastguard Worker	  appropriate PCI devices in the devicetree. Instance IDs are assigned
938*b9411a12SAndroid Build Coastguard Worker	  successive numbers from a monotonically increasing counter, with one
939*b9411a12SAndroid Build Coastguard Worker	  counter for each device class.
940*b9411a12SAndroid Build Coastguard Worker
941*b9411a12SAndroid Build Coastguard Workerconfig SMBIOS_PROVIDED_BY_MOBO
942*b9411a12SAndroid Build Coastguard Worker	bool
943*b9411a12SAndroid Build Coastguard Worker	default n
944*b9411a12SAndroid Build Coastguard Worker
945*b9411a12SAndroid Build Coastguard Workerif GENERATE_SMBIOS_TABLES
946*b9411a12SAndroid Build Coastguard Worker
947*b9411a12SAndroid Build Coastguard Workerconfig BIOS_VENDOR
948*b9411a12SAndroid Build Coastguard Worker	prompt "SMBIOS BIOS Vendor name"
949*b9411a12SAndroid Build Coastguard Worker	string
950*b9411a12SAndroid Build Coastguard Worker	default "coreboot"
951*b9411a12SAndroid Build Coastguard Worker	help
952*b9411a12SAndroid Build Coastguard Worker	  The BIOS Vendor name to store in the SMBIOS Type0 table.
953*b9411a12SAndroid Build Coastguard Worker
954*b9411a12SAndroid Build Coastguard Workerconfig MAINBOARD_SERIAL_NUMBER
955*b9411a12SAndroid Build Coastguard Worker	prompt "SMBIOS Serial Number" if !SMBIOS_PROVIDED_BY_MOBO
956*b9411a12SAndroid Build Coastguard Worker	string
957*b9411a12SAndroid Build Coastguard Worker	default "123456789"
958*b9411a12SAndroid Build Coastguard Worker	help
959*b9411a12SAndroid Build Coastguard Worker	  The Serial Number to store in SMBIOS structures.
960*b9411a12SAndroid Build Coastguard Worker
961*b9411a12SAndroid Build Coastguard Workerconfig MAINBOARD_VERSION
962*b9411a12SAndroid Build Coastguard Worker	prompt "SMBIOS Version Number" if !SMBIOS_PROVIDED_BY_MOBO
963*b9411a12SAndroid Build Coastguard Worker	string
964*b9411a12SAndroid Build Coastguard Worker	default "1.0"
965*b9411a12SAndroid Build Coastguard Worker	help
966*b9411a12SAndroid Build Coastguard Worker	  The Version Number to store in SMBIOS structures.
967*b9411a12SAndroid Build Coastguard Worker
968*b9411a12SAndroid Build Coastguard Workerconfig MAINBOARD_SMBIOS_MANUFACTURER
969*b9411a12SAndroid Build Coastguard Worker	prompt "SMBIOS Manufacturer" if !SMBIOS_PROVIDED_BY_MOBO
970*b9411a12SAndroid Build Coastguard Worker	string
971*b9411a12SAndroid Build Coastguard Worker	default MAINBOARD_VENDOR
972*b9411a12SAndroid Build Coastguard Worker	help
973*b9411a12SAndroid Build Coastguard Worker	  Override the default Manufacturer stored in SMBIOS structures.
974*b9411a12SAndroid Build Coastguard Worker
975*b9411a12SAndroid Build Coastguard Workerconfig MAINBOARD_SMBIOS_PRODUCT_NAME
976*b9411a12SAndroid Build Coastguard Worker	prompt "SMBIOS Product name" if !SMBIOS_PROVIDED_BY_MOBO
977*b9411a12SAndroid Build Coastguard Worker	string
978*b9411a12SAndroid Build Coastguard Worker	default MAINBOARD_PART_NUMBER
979*b9411a12SAndroid Build Coastguard Worker	help
980*b9411a12SAndroid Build Coastguard Worker	  Override the default Product name stored in SMBIOS structures.
981*b9411a12SAndroid Build Coastguard Worker
982*b9411a12SAndroid Build Coastguard Workerconfig VPD_SMBIOS_VERSION
983*b9411a12SAndroid Build Coastguard Worker	bool "Populates SMBIOS type 0 version from the VPD_RO variable 'firmware_version'"
984*b9411a12SAndroid Build Coastguard Worker	default n
985*b9411a12SAndroid Build Coastguard Worker	depends on VPD
986*b9411a12SAndroid Build Coastguard Worker	help
987*b9411a12SAndroid Build Coastguard Worker	  Selecting this option will read firmware_version from
988*b9411a12SAndroid Build Coastguard Worker	  VPD_RO and override SMBIOS type 0 version. One special
989*b9411a12SAndroid Build Coastguard Worker	  scenario of using this feature is to assign a BIOS version
990*b9411a12SAndroid Build Coastguard Worker	  to a coreboot image without the need to rebuild from source.
991*b9411a12SAndroid Build Coastguard Worker
992*b9411a12SAndroid Build Coastguard Workerendif
993*b9411a12SAndroid Build Coastguard Worker
994*b9411a12SAndroid Build Coastguard Workerendmenu
995*b9411a12SAndroid Build Coastguard Worker
996*b9411a12SAndroid Build Coastguard Workersource "payloads/Kconfig"
997*b9411a12SAndroid Build Coastguard Worker
998*b9411a12SAndroid Build Coastguard Workermenu "Debugging"
999*b9411a12SAndroid Build Coastguard Worker
1000*b9411a12SAndroid Build Coastguard Workercomment "CPU Debug Settings"
1001*b9411a12SAndroid Build Coastguard Workersource "src/cpu/*/Kconfig.debug_cpu"
1002*b9411a12SAndroid Build Coastguard Worker
1003*b9411a12SAndroid Build Coastguard Workercomment "Vendorcode Debug Settings"
1004*b9411a12SAndroid Build Coastguard Worker	source "src/vendorcode/*/*/Kconfig.debug"
1005*b9411a12SAndroid Build Coastguard Worker
1006*b9411a12SAndroid Build Coastguard Workercomment "BLOB Debug Settings"
1007*b9411a12SAndroid Build Coastguard Workersource "src/drivers/intel/fsp*/Kconfig.debug_blob"
1008*b9411a12SAndroid Build Coastguard Worker
1009*b9411a12SAndroid Build Coastguard Workercomment "General Debug Settings"
1010*b9411a12SAndroid Build Coastguard Worker
1011*b9411a12SAndroid Build Coastguard Worker# TODO: Better help text and detailed instructions.
1012*b9411a12SAndroid Build Coastguard Workerconfig GDB_STUB
1013*b9411a12SAndroid Build Coastguard Worker	bool "GDB debugging support"
1014*b9411a12SAndroid Build Coastguard Worker	default n
1015*b9411a12SAndroid Build Coastguard Worker# FIXME Not implemented in long mode
1016*b9411a12SAndroid Build Coastguard Worker	depends on DRIVERS_UART && !USE_X86_64_SUPPORT
1017*b9411a12SAndroid Build Coastguard Worker	help
1018*b9411a12SAndroid Build Coastguard Worker	  If enabled, you will be able to set breakpoints for gdb debugging.
1019*b9411a12SAndroid Build Coastguard Worker	  See src/arch/x86/c_start.S for details.
1020*b9411a12SAndroid Build Coastguard Worker
1021*b9411a12SAndroid Build Coastguard Workerconfig GDB_WAIT
1022*b9411a12SAndroid Build Coastguard Worker	bool "Wait for a GDB connection in the ramstage"
1023*b9411a12SAndroid Build Coastguard Worker	default n
1024*b9411a12SAndroid Build Coastguard Worker	depends on GDB_STUB
1025*b9411a12SAndroid Build Coastguard Worker	help
1026*b9411a12SAndroid Build Coastguard Worker	  If enabled, coreboot will wait for a GDB connection in the ramstage.
1027*b9411a12SAndroid Build Coastguard Worker
1028*b9411a12SAndroid Build Coastguard Worker
1029*b9411a12SAndroid Build Coastguard Workerconfig FATAL_ASSERTS
1030*b9411a12SAndroid Build Coastguard Worker	bool "Halt when hitting a BUG() or assertion error"
1031*b9411a12SAndroid Build Coastguard Worker	default n
1032*b9411a12SAndroid Build Coastguard Worker	help
1033*b9411a12SAndroid Build Coastguard Worker	  If enabled, coreboot will call hlt() on a BUG() or failed ASSERT().
1034*b9411a12SAndroid Build Coastguard Worker
1035*b9411a12SAndroid Build Coastguard Workerconfig HAVE_DEBUG_GPIO
1036*b9411a12SAndroid Build Coastguard Worker	bool
1037*b9411a12SAndroid Build Coastguard Worker
1038*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_GPIO
1039*b9411a12SAndroid Build Coastguard Worker	bool "Output verbose GPIO debug messages"
1040*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_DEBUG_GPIO
1041*b9411a12SAndroid Build Coastguard Worker
1042*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_CBFS
1043*b9411a12SAndroid Build Coastguard Worker	bool "Output verbose CBFS debug messages"
1044*b9411a12SAndroid Build Coastguard Worker	default n
1045*b9411a12SAndroid Build Coastguard Worker	help
1046*b9411a12SAndroid Build Coastguard Worker	  This option enables additional CBFS related debug messages.
1047*b9411a12SAndroid Build Coastguard Worker
1048*b9411a12SAndroid Build Coastguard Workerconfig HAVE_DEBUG_RAM_SETUP
1049*b9411a12SAndroid Build Coastguard Worker	def_bool n
1050*b9411a12SAndroid Build Coastguard Worker
1051*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_RAM_SETUP
1052*b9411a12SAndroid Build Coastguard Worker	bool "Output verbose RAM init debug messages"
1053*b9411a12SAndroid Build Coastguard Worker	default n
1054*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_DEBUG_RAM_SETUP
1055*b9411a12SAndroid Build Coastguard Worker	help
1056*b9411a12SAndroid Build Coastguard Worker	  This option enables additional RAM init related debug messages.
1057*b9411a12SAndroid Build Coastguard Worker	  It is recommended to enable this when debugging issues on your
1058*b9411a12SAndroid Build Coastguard Worker	  board which might be RAM init related.
1059*b9411a12SAndroid Build Coastguard Worker
1060*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1061*b9411a12SAndroid Build Coastguard Worker
1062*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1063*b9411a12SAndroid Build Coastguard Worker
1064*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_PIRQ
1065*b9411a12SAndroid Build Coastguard Worker	bool "Check PIRQ table consistency"
1066*b9411a12SAndroid Build Coastguard Worker	default n
1067*b9411a12SAndroid Build Coastguard Worker	depends on GENERATE_PIRQ_TABLE
1068*b9411a12SAndroid Build Coastguard Worker	help
1069*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1070*b9411a12SAndroid Build Coastguard Worker
1071*b9411a12SAndroid Build Coastguard Workerconfig HAVE_DEBUG_SMBUS
1072*b9411a12SAndroid Build Coastguard Worker	def_bool n
1073*b9411a12SAndroid Build Coastguard Worker
1074*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_SMBUS
1075*b9411a12SAndroid Build Coastguard Worker	bool "Output verbose SMBus debug messages"
1076*b9411a12SAndroid Build Coastguard Worker	default n
1077*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_DEBUG_SMBUS
1078*b9411a12SAndroid Build Coastguard Worker	help
1079*b9411a12SAndroid Build Coastguard Worker	  This option enables additional SMBus (and SPD) debug messages.
1080*b9411a12SAndroid Build Coastguard Worker
1081*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1082*b9411a12SAndroid Build Coastguard Worker
1083*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1084*b9411a12SAndroid Build Coastguard Worker
1085*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_SMI
1086*b9411a12SAndroid Build Coastguard Worker	bool "Output verbose SMI debug messages"
1087*b9411a12SAndroid Build Coastguard Worker	default n
1088*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_SMI_HANDLER
1089*b9411a12SAndroid Build Coastguard Worker	select SPI_FLASH_SMM if EM100PRO_SPI_CONSOLE || CONSOLE_SPI_FLASH
1090*b9411a12SAndroid Build Coastguard Worker	help
1091*b9411a12SAndroid Build Coastguard Worker	  This option enables additional SMI related debug messages.
1092*b9411a12SAndroid Build Coastguard Worker
1093*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1094*b9411a12SAndroid Build Coastguard Worker
1095*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1096*b9411a12SAndroid Build Coastguard Worker
1097*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_PERIODIC_SMI
1098*b9411a12SAndroid Build Coastguard Worker	bool "Trigger SMI periodically"
1099*b9411a12SAndroid Build Coastguard Worker	depends on DEBUG_SMI
1100*b9411a12SAndroid Build Coastguard Worker
1101*b9411a12SAndroid Build Coastguard Worker# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
1102*b9411a12SAndroid Build Coastguard Worker# printk(BIOS_DEBUG, ...) calls.
1103*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_MALLOC
1104*b9411a12SAndroid Build Coastguard Worker	prompt "Output verbose malloc debug messages" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8 || CONSOLE_OVERRIDE_LOGLEVEL
1105*b9411a12SAndroid Build Coastguard Worker	bool
1106*b9411a12SAndroid Build Coastguard Worker	default n
1107*b9411a12SAndroid Build Coastguard Worker	help
1108*b9411a12SAndroid Build Coastguard Worker	  This option enables additional malloc related debug messages.
1109*b9411a12SAndroid Build Coastguard Worker
1110*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1111*b9411a12SAndroid Build Coastguard Worker
1112*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1113*b9411a12SAndroid Build Coastguard Worker
1114*b9411a12SAndroid Build Coastguard Worker# Only visible if DEBUG_SPEW (8) is set.
1115*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_RESOURCES
1116*b9411a12SAndroid Build Coastguard Worker	bool "Output verbose PCI MEM and IO resource debug messages" if DEFAULT_CONSOLE_LOGLEVEL_8 || CONSOLE_OVERRIDE_LOGLEVEL
1117*b9411a12SAndroid Build Coastguard Worker	default n
1118*b9411a12SAndroid Build Coastguard Worker	help
1119*b9411a12SAndroid Build Coastguard Worker	  This option enables additional PCI memory and IO debug messages.
1120*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1121*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1122*b9411a12SAndroid Build Coastguard Worker
1123*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_CONSOLE_INIT
1124*b9411a12SAndroid Build Coastguard Worker	bool "Debug console initialisation code"
1125*b9411a12SAndroid Build Coastguard Worker	default n
1126*b9411a12SAndroid Build Coastguard Worker	help
1127*b9411a12SAndroid Build Coastguard Worker	  With this option printk()'s are attempted before console hardware
1128*b9411a12SAndroid Build Coastguard Worker	  initialisation has been completed. Your mileage may vary.
1129*b9411a12SAndroid Build Coastguard Worker
1130*b9411a12SAndroid Build Coastguard Worker	  Typically you will need to modify source in console_hw_init() such
1131*b9411a12SAndroid Build Coastguard Worker	  that a working console appears before the one you want to debug.
1132*b9411a12SAndroid Build Coastguard Worker
1133*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1134*b9411a12SAndroid Build Coastguard Worker
1135*b9411a12SAndroid Build Coastguard Worker# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
1136*b9411a12SAndroid Build Coastguard Worker# printk(BIOS_DEBUG, ...) calls.
1137*b9411a12SAndroid Build Coastguard Workerconfig REALMODE_DEBUG
1138*b9411a12SAndroid Build Coastguard Worker	prompt "Enable debug messages for option ROM execution" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8 || CONSOLE_OVERRIDE_LOGLEVEL
1139*b9411a12SAndroid Build Coastguard Worker	bool
1140*b9411a12SAndroid Build Coastguard Worker	default n
1141*b9411a12SAndroid Build Coastguard Worker	depends on PCI_OPTION_ROM_RUN_REALMODE
1142*b9411a12SAndroid Build Coastguard Worker	help
1143*b9411a12SAndroid Build Coastguard Worker	  This option enables additional x86emu related debug messages.
1144*b9411a12SAndroid Build Coastguard Worker
1145*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the time to emulate a ROM.
1146*b9411a12SAndroid Build Coastguard Worker
1147*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1148*b9411a12SAndroid Build Coastguard Worker
1149*b9411a12SAndroid Build Coastguard Workerconfig X86EMU_DEBUG
1150*b9411a12SAndroid Build Coastguard Worker	bool "Output verbose x86emu debug messages"
1151*b9411a12SAndroid Build Coastguard Worker	default n
1152*b9411a12SAndroid Build Coastguard Worker	depends on PCI_OPTION_ROM_RUN_YABEL
1153*b9411a12SAndroid Build Coastguard Worker	help
1154*b9411a12SAndroid Build Coastguard Worker	  This option enables additional x86emu related debug messages.
1155*b9411a12SAndroid Build Coastguard Worker
1156*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1157*b9411a12SAndroid Build Coastguard Worker
1158*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1159*b9411a12SAndroid Build Coastguard Worker
1160*b9411a12SAndroid Build Coastguard Workerif X86EMU_DEBUG
1161*b9411a12SAndroid Build Coastguard Worker
1162*b9411a12SAndroid Build Coastguard Workerconfig X86EMU_DEBUG_JMP
1163*b9411a12SAndroid Build Coastguard Worker	bool "Trace JMP/RETF"
1164*b9411a12SAndroid Build Coastguard Worker	default n
1165*b9411a12SAndroid Build Coastguard Worker	help
1166*b9411a12SAndroid Build Coastguard Worker	  Print information about JMP and RETF opcodes from x86emu.
1167*b9411a12SAndroid Build Coastguard Worker
1168*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1169*b9411a12SAndroid Build Coastguard Worker
1170*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1171*b9411a12SAndroid Build Coastguard Worker
1172*b9411a12SAndroid Build Coastguard Workerconfig X86EMU_DEBUG_TRACE
1173*b9411a12SAndroid Build Coastguard Worker	bool "Trace all opcodes"
1174*b9411a12SAndroid Build Coastguard Worker	default n
1175*b9411a12SAndroid Build Coastguard Worker	help
1176*b9411a12SAndroid Build Coastguard Worker	  Print _all_ opcodes that are executed by x86emu.
1177*b9411a12SAndroid Build Coastguard Worker
1178*b9411a12SAndroid Build Coastguard Worker	  WARNING: This will produce a LOT of output and take a long time.
1179*b9411a12SAndroid Build Coastguard Worker
1180*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1181*b9411a12SAndroid Build Coastguard Worker
1182*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1183*b9411a12SAndroid Build Coastguard Worker
1184*b9411a12SAndroid Build Coastguard Workerconfig X86EMU_DEBUG_PNP
1185*b9411a12SAndroid Build Coastguard Worker	bool "Log Plug&Play accesses"
1186*b9411a12SAndroid Build Coastguard Worker	default n
1187*b9411a12SAndroid Build Coastguard Worker	help
1188*b9411a12SAndroid Build Coastguard Worker	  Print Plug And Play accesses made by option ROMs.
1189*b9411a12SAndroid Build Coastguard Worker
1190*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1191*b9411a12SAndroid Build Coastguard Worker
1192*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1193*b9411a12SAndroid Build Coastguard Worker
1194*b9411a12SAndroid Build Coastguard Workerconfig X86EMU_DEBUG_DISK
1195*b9411a12SAndroid Build Coastguard Worker	bool "Log Disk I/O"
1196*b9411a12SAndroid Build Coastguard Worker	default n
1197*b9411a12SAndroid Build Coastguard Worker	help
1198*b9411a12SAndroid Build Coastguard Worker	  Print Disk I/O related messages.
1199*b9411a12SAndroid Build Coastguard Worker
1200*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1201*b9411a12SAndroid Build Coastguard Worker
1202*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1203*b9411a12SAndroid Build Coastguard Worker
1204*b9411a12SAndroid Build Coastguard Workerconfig X86EMU_DEBUG_PMM
1205*b9411a12SAndroid Build Coastguard Worker	bool "Log PMM"
1206*b9411a12SAndroid Build Coastguard Worker	default n
1207*b9411a12SAndroid Build Coastguard Worker	help
1208*b9411a12SAndroid Build Coastguard Worker	  Print messages related to POST Memory Manager (PMM).
1209*b9411a12SAndroid Build Coastguard Worker
1210*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1211*b9411a12SAndroid Build Coastguard Worker
1212*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1213*b9411a12SAndroid Build Coastguard Worker
1214*b9411a12SAndroid Build Coastguard Worker
1215*b9411a12SAndroid Build Coastguard Workerconfig X86EMU_DEBUG_VBE
1216*b9411a12SAndroid Build Coastguard Worker	bool "Debug VESA BIOS Extensions"
1217*b9411a12SAndroid Build Coastguard Worker	default n
1218*b9411a12SAndroid Build Coastguard Worker	help
1219*b9411a12SAndroid Build Coastguard Worker	  Print messages related to VESA BIOS Extension (VBE) functions.
1220*b9411a12SAndroid Build Coastguard Worker
1221*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1222*b9411a12SAndroid Build Coastguard Worker
1223*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1224*b9411a12SAndroid Build Coastguard Worker
1225*b9411a12SAndroid Build Coastguard Workerconfig X86EMU_DEBUG_INT10
1226*b9411a12SAndroid Build Coastguard Worker	bool "Redirect INT10 output to console"
1227*b9411a12SAndroid Build Coastguard Worker	default n
1228*b9411a12SAndroid Build Coastguard Worker	help
1229*b9411a12SAndroid Build Coastguard Worker	  Let INT10 (i.e. character output) calls print messages to debug output.
1230*b9411a12SAndroid Build Coastguard Worker
1231*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1232*b9411a12SAndroid Build Coastguard Worker
1233*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1234*b9411a12SAndroid Build Coastguard Worker
1235*b9411a12SAndroid Build Coastguard Workerconfig X86EMU_DEBUG_INTERRUPTS
1236*b9411a12SAndroid Build Coastguard Worker	bool "Log intXX calls"
1237*b9411a12SAndroid Build Coastguard Worker	default n
1238*b9411a12SAndroid Build Coastguard Worker	help
1239*b9411a12SAndroid Build Coastguard Worker	  Print messages related to interrupt handling.
1240*b9411a12SAndroid Build Coastguard Worker
1241*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1242*b9411a12SAndroid Build Coastguard Worker
1243*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1244*b9411a12SAndroid Build Coastguard Worker
1245*b9411a12SAndroid Build Coastguard Workerconfig X86EMU_DEBUG_CHECK_VMEM_ACCESS
1246*b9411a12SAndroid Build Coastguard Worker	bool "Log special memory accesses"
1247*b9411a12SAndroid Build Coastguard Worker	default n
1248*b9411a12SAndroid Build Coastguard Worker	help
1249*b9411a12SAndroid Build Coastguard Worker	  Print messages related to accesses to certain areas of the virtual
1250*b9411a12SAndroid Build Coastguard Worker	  memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
1251*b9411a12SAndroid Build Coastguard Worker
1252*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1253*b9411a12SAndroid Build Coastguard Worker
1254*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1255*b9411a12SAndroid Build Coastguard Worker
1256*b9411a12SAndroid Build Coastguard Workerconfig X86EMU_DEBUG_MEM
1257*b9411a12SAndroid Build Coastguard Worker	bool "Log all memory accesses"
1258*b9411a12SAndroid Build Coastguard Worker	default n
1259*b9411a12SAndroid Build Coastguard Worker	help
1260*b9411a12SAndroid Build Coastguard Worker	  Print memory accesses made by option ROM.
1261*b9411a12SAndroid Build Coastguard Worker	  Note: This also includes accesses to fetch instructions.
1262*b9411a12SAndroid Build Coastguard Worker
1263*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1264*b9411a12SAndroid Build Coastguard Worker
1265*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1266*b9411a12SAndroid Build Coastguard Worker
1267*b9411a12SAndroid Build Coastguard Workerconfig X86EMU_DEBUG_IO
1268*b9411a12SAndroid Build Coastguard Worker	bool "Log IO accesses"
1269*b9411a12SAndroid Build Coastguard Worker	default n
1270*b9411a12SAndroid Build Coastguard Worker	help
1271*b9411a12SAndroid Build Coastguard Worker	  Print I/O accesses made by option ROM.
1272*b9411a12SAndroid Build Coastguard Worker
1273*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1274*b9411a12SAndroid Build Coastguard Worker
1275*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1276*b9411a12SAndroid Build Coastguard Worker
1277*b9411a12SAndroid Build Coastguard Workerconfig X86EMU_DEBUG_TIMINGS
1278*b9411a12SAndroid Build Coastguard Worker	bool "Output timing information"
1279*b9411a12SAndroid Build Coastguard Worker	default n
1280*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_MONOTONIC_TIMER
1281*b9411a12SAndroid Build Coastguard Worker	help
1282*b9411a12SAndroid Build Coastguard Worker	  Print timing information needed by i915tool.
1283*b9411a12SAndroid Build Coastguard Worker
1284*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1285*b9411a12SAndroid Build Coastguard Worker
1286*b9411a12SAndroid Build Coastguard Workerendif
1287*b9411a12SAndroid Build Coastguard Worker
1288*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_SPI_FLASH
1289*b9411a12SAndroid Build Coastguard Worker	bool "Output verbose SPI flash debug messages"
1290*b9411a12SAndroid Build Coastguard Worker	default n
1291*b9411a12SAndroid Build Coastguard Worker	depends on SPI_FLASH
1292*b9411a12SAndroid Build Coastguard Worker	help
1293*b9411a12SAndroid Build Coastguard Worker	  This option enables additional SPI flash related debug messages.
1294*b9411a12SAndroid Build Coastguard Worker
1295*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_IPMI
1296*b9411a12SAndroid Build Coastguard Worker	bool "Output verbose IPMI debug messages"
1297*b9411a12SAndroid Build Coastguard Worker	default n
1298*b9411a12SAndroid Build Coastguard Worker	depends on IPMI_KCS
1299*b9411a12SAndroid Build Coastguard Worker	help
1300*b9411a12SAndroid Build Coastguard Worker	  This option enables additional IPMI related debug messages.
1301*b9411a12SAndroid Build Coastguard Worker
1302*b9411a12SAndroid Build Coastguard Workerif SOUTHBRIDGE_INTEL_BD82X6X && DEFAULT_CONSOLE_LOGLEVEL_8
1303*b9411a12SAndroid Build Coastguard Worker# Only visible with the right southbridge and loglevel.
1304*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_INTEL_ME
1305*b9411a12SAndroid Build Coastguard Worker	bool "Verbose logging for Intel Management Engine"
1306*b9411a12SAndroid Build Coastguard Worker	default n
1307*b9411a12SAndroid Build Coastguard Worker	help
1308*b9411a12SAndroid Build Coastguard Worker	  Enable verbose logging for Intel Management Engine driver that
1309*b9411a12SAndroid Build Coastguard Worker	  is present on Intel 6-series chipsets.
1310*b9411a12SAndroid Build Coastguard Workerendif
1311*b9411a12SAndroid Build Coastguard Worker
1312*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_FUNC
1313*b9411a12SAndroid Build Coastguard Worker	bool "Enable function entry and exit reporting macros" if DEFAULT_CONSOLE_LOGLEVEL_8 || CONSOLE_OVERRIDE_LOGLEVEL
1314*b9411a12SAndroid Build Coastguard Worker	default n
1315*b9411a12SAndroid Build Coastguard Worker	help
1316*b9411a12SAndroid Build Coastguard Worker	  This option enables additional function entry and exit debug messages
1317*b9411a12SAndroid Build Coastguard Worker	  for select functions.
1318*b9411a12SAndroid Build Coastguard Worker	  Note: This option will increase the size of the coreboot image.
1319*b9411a12SAndroid Build Coastguard Worker	  If unsure, say N.
1320*b9411a12SAndroid Build Coastguard Worker
1321*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_COVERAGE
1322*b9411a12SAndroid Build Coastguard Worker	bool "Debug code coverage"
1323*b9411a12SAndroid Build Coastguard Worker	default n
1324*b9411a12SAndroid Build Coastguard Worker	depends on COVERAGE
1325*b9411a12SAndroid Build Coastguard Worker	help
1326*b9411a12SAndroid Build Coastguard Worker	  If enabled, the code coverage hooks in coreboot will output some
1327*b9411a12SAndroid Build Coastguard Worker	  information about the coverage data that is dumped.
1328*b9411a12SAndroid Build Coastguard Worker
1329*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_BOOT_STATE
1330*b9411a12SAndroid Build Coastguard Worker	bool "Debug boot state machine"
1331*b9411a12SAndroid Build Coastguard Worker	default n
1332*b9411a12SAndroid Build Coastguard Worker	help
1333*b9411a12SAndroid Build Coastguard Worker	  Control debugging of the boot state machine.  When selected displays
1334*b9411a12SAndroid Build Coastguard Worker	  the state boundaries in ramstage.
1335*b9411a12SAndroid Build Coastguard Worker
1336*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_ADA_CODE
1337*b9411a12SAndroid Build Coastguard Worker	bool "Compile debug code in Ada sources"
1338*b9411a12SAndroid Build Coastguard Worker	default n
1339*b9411a12SAndroid Build Coastguard Worker	help
1340*b9411a12SAndroid Build Coastguard Worker	  Add the compiler switch `-gnata` to compile code guarded by
1341*b9411a12SAndroid Build Coastguard Worker	  `pragma Debug`.
1342*b9411a12SAndroid Build Coastguard Worker
1343*b9411a12SAndroid Build Coastguard Workerconfig HAVE_EM100_SUPPORT
1344*b9411a12SAndroid Build Coastguard Worker	bool
1345*b9411a12SAndroid Build Coastguard Worker	help
1346*b9411a12SAndroid Build Coastguard Worker	  This is enabled by platforms which can support using the EM100.
1347*b9411a12SAndroid Build Coastguard Worker
1348*b9411a12SAndroid Build Coastguard Workerconfig EM100
1349*b9411a12SAndroid Build Coastguard Worker	bool "Configure image for EM100 usage"
1350*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_EM100_SUPPORT
1351*b9411a12SAndroid Build Coastguard Worker	help
1352*b9411a12SAndroid Build Coastguard Worker	  The Dediprog EM100 SPI emulator allows fast loading of new SPI images
1353*b9411a12SAndroid Build Coastguard Worker	  over USB. However it only supports a maximum SPI clock of 20MHz and
1354*b9411a12SAndroid Build Coastguard Worker	  single data output. Enable this option to use a 20MHz SPI clock and
1355*b9411a12SAndroid Build Coastguard Worker	  disable "Dual Output Fast Read" Support.
1356*b9411a12SAndroid Build Coastguard Worker
1357*b9411a12SAndroid Build Coastguard Worker	  On AMD platforms this changes the SPI speed at run-time if the
1358*b9411a12SAndroid Build Coastguard Worker	  mainboard code supports this. On supported Intel platforms this works
1359*b9411a12SAndroid Build Coastguard Worker	  by changing the settings in the descriptor.bin file.
1360*b9411a12SAndroid Build Coastguard Worker
1361*b9411a12SAndroid Build Coastguard Workerconfig DEBUG_ACPICA_COMPATIBLE
1362*b9411a12SAndroid Build Coastguard Worker	bool "Print out ACPI tables in ACPICA compatible format"
1363*b9411a12SAndroid Build Coastguard Worker	depends on HAVE_ACPI_TABLES
1364*b9411a12SAndroid Build Coastguard Worker	help
1365*b9411a12SAndroid Build Coastguard Worker	  Select this to print out ACPI tables in an ACPICA compatible
1366*b9411a12SAndroid Build Coastguard Worker	  format. Set the console loglevel to verbosity 'SPEW'.
1367*b9411a12SAndroid Build Coastguard Worker	  To analyze ACPI tables capture the coreboot log between
1368*b9411a12SAndroid Build Coastguard Worker	  "Printing ACPI in ACPICA compatible table" and "Done printing
1369*b9411a12SAndroid Build Coastguard Worker	  ACPI in ACPICA compatible table".
1370*b9411a12SAndroid Build Coastguard Worker	  Remove the prefix "[SPEW ]  " and then issue 'acpixtract -a dump'
1371*b9411a12SAndroid Build Coastguard Worker	  to extract all the tables. Then use 'iasl -d' on the .dat files
1372*b9411a12SAndroid Build Coastguard Worker	  to decompile the tables.
1373*b9411a12SAndroid Build Coastguard Worker
1374*b9411a12SAndroid Build Coastguard Workerendmenu
1375*b9411a12SAndroid Build Coastguard Worker
1376*b9411a12SAndroid Build Coastguard Worker###############################################################################
1377*b9411a12SAndroid Build Coastguard Worker# Set variables with no prompt - these can be set anywhere, and putting at
1378*b9411a12SAndroid Build Coastguard Worker# the end of this file gives the most flexibility.
1379*b9411a12SAndroid Build Coastguard Worker
1380*b9411a12SAndroid Build Coastguard Workersource "src/lib/Kconfig"
1381*b9411a12SAndroid Build Coastguard Worker
1382*b9411a12SAndroid Build Coastguard Workerconfig WARNINGS_ARE_ERRORS
1383*b9411a12SAndroid Build Coastguard Worker	bool
1384*b9411a12SAndroid Build Coastguard Worker	default y
1385*b9411a12SAndroid Build Coastguard Worker
1386*b9411a12SAndroid Build Coastguard Worker# The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
1387*b9411a12SAndroid Build Coastguard Worker# POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
1388*b9411a12SAndroid Build Coastguard Worker# mutually exclusive. One of these options must be selected in the
1389*b9411a12SAndroid Build Coastguard Worker# mainboard Kconfig if the chipset supports enabling and disabling of
1390*b9411a12SAndroid Build Coastguard Worker# the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
1391*b9411a12SAndroid Build Coastguard Worker# in mainboard/Kconfig to know if the button should be enabled or not.
1392*b9411a12SAndroid Build Coastguard Worker
1393*b9411a12SAndroid Build Coastguard Workerconfig POWER_BUTTON_DEFAULT_ENABLE
1394*b9411a12SAndroid Build Coastguard Worker	def_bool n
1395*b9411a12SAndroid Build Coastguard Worker	help
1396*b9411a12SAndroid Build Coastguard Worker	  Select when the board has a power button which can optionally be
1397*b9411a12SAndroid Build Coastguard Worker	  disabled by the user.
1398*b9411a12SAndroid Build Coastguard Worker
1399*b9411a12SAndroid Build Coastguard Workerconfig POWER_BUTTON_DEFAULT_DISABLE
1400*b9411a12SAndroid Build Coastguard Worker	def_bool n
1401*b9411a12SAndroid Build Coastguard Worker	help
1402*b9411a12SAndroid Build Coastguard Worker	  Select when the board has a power button which can optionally be
1403*b9411a12SAndroid Build Coastguard Worker	  enabled by the user, e.g. when the board ships with a jumper over
1404*b9411a12SAndroid Build Coastguard Worker	  the power switch contacts.
1405*b9411a12SAndroid Build Coastguard Worker
1406*b9411a12SAndroid Build Coastguard Workerconfig POWER_BUTTON_FORCE_ENABLE
1407*b9411a12SAndroid Build Coastguard Worker	def_bool n
1408*b9411a12SAndroid Build Coastguard Worker	help
1409*b9411a12SAndroid Build Coastguard Worker	  Select when the board requires that the power button is always
1410*b9411a12SAndroid Build Coastguard Worker	  enabled.
1411*b9411a12SAndroid Build Coastguard Worker
1412*b9411a12SAndroid Build Coastguard Workerconfig POWER_BUTTON_FORCE_DISABLE
1413*b9411a12SAndroid Build Coastguard Worker	def_bool n
1414*b9411a12SAndroid Build Coastguard Worker	help
1415*b9411a12SAndroid Build Coastguard Worker	  Select when the board requires that the power button is always
1416*b9411a12SAndroid Build Coastguard Worker	  disabled, e.g. when it has been hardwired to ground.
1417*b9411a12SAndroid Build Coastguard Worker
1418*b9411a12SAndroid Build Coastguard Workerconfig POWER_BUTTON_IS_OPTIONAL
1419*b9411a12SAndroid Build Coastguard Worker	bool
1420*b9411a12SAndroid Build Coastguard Worker	default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
1421*b9411a12SAndroid Build Coastguard Worker	default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
1422*b9411a12SAndroid Build Coastguard Worker	help
1423*b9411a12SAndroid Build Coastguard Worker	  Internal option that controls ENABLE_POWER_BUTTON visibility.
1424*b9411a12SAndroid Build Coastguard Worker
1425*b9411a12SAndroid Build Coastguard Workerconfig REG_SCRIPT
1426*b9411a12SAndroid Build Coastguard Worker	bool
1427*b9411a12SAndroid Build Coastguard Worker	default n
1428*b9411a12SAndroid Build Coastguard Worker	help
1429*b9411a12SAndroid Build Coastguard Worker	  Internal option that controls whether we compile in register scripts.
1430*b9411a12SAndroid Build Coastguard Worker
1431*b9411a12SAndroid Build Coastguard Workerconfig MAX_REBOOT_CNT
1432*b9411a12SAndroid Build Coastguard Worker	int
1433*b9411a12SAndroid Build Coastguard Worker	default 3
1434*b9411a12SAndroid Build Coastguard Worker	help
1435*b9411a12SAndroid Build Coastguard Worker	  Internal option that sets the maximum number of bootblock executions allowed
1436*b9411a12SAndroid Build Coastguard Worker	  with the normal image enabled before assuming the normal image is defective
1437*b9411a12SAndroid Build Coastguard Worker	  and switching to the fallback image.
1438*b9411a12SAndroid Build Coastguard Worker
1439*b9411a12SAndroid Build Coastguard Workerconfig UNCOMPRESSED_RAMSTAGE
1440*b9411a12SAndroid Build Coastguard Worker	bool
1441*b9411a12SAndroid Build Coastguard Worker
1442*b9411a12SAndroid Build Coastguard Workerconfig NO_XIP_EARLY_STAGES
1443*b9411a12SAndroid Build Coastguard Worker	bool
1444*b9411a12SAndroid Build Coastguard Worker	default n if ARCH_X86
1445*b9411a12SAndroid Build Coastguard Worker	default y
1446*b9411a12SAndroid Build Coastguard Worker	help
1447*b9411a12SAndroid Build Coastguard Worker	  Identify if early stages are eXecute-In-Place(XIP).
1448*b9411a12SAndroid Build Coastguard Worker
1449*b9411a12SAndroid Build Coastguard Workerconfig EARLY_CBMEM_LIST
1450*b9411a12SAndroid Build Coastguard Worker	bool
1451*b9411a12SAndroid Build Coastguard Worker	default n
1452*b9411a12SAndroid Build Coastguard Worker	help
1453*b9411a12SAndroid Build Coastguard Worker	  Enable display of CBMEM during romstage and postcar.
1454*b9411a12SAndroid Build Coastguard Worker
1455*b9411a12SAndroid Build Coastguard Workerconfig RELOCATABLE_MODULES
1456*b9411a12SAndroid Build Coastguard Worker	bool
1457*b9411a12SAndroid Build Coastguard Worker	help
1458*b9411a12SAndroid Build Coastguard Worker	  If RELOCATABLE_MODULES is selected then support is enabled for
1459*b9411a12SAndroid Build Coastguard Worker	  building relocatable modules in the RAM stage. Those modules can be
1460*b9411a12SAndroid Build Coastguard Worker	  loaded anywhere and all the relocations are handled automatically.
1461*b9411a12SAndroid Build Coastguard Worker
1462*b9411a12SAndroid Build Coastguard Workerconfig GENERIC_GPIO_LIB
1463*b9411a12SAndroid Build Coastguard Worker	bool
1464*b9411a12SAndroid Build Coastguard Worker	help
1465*b9411a12SAndroid Build Coastguard Worker	  If enabled, compile the generic GPIO library. A "generic" GPIO
1466*b9411a12SAndroid Build Coastguard Worker	  implies configurability usually found on SoCs, particularly the
1467*b9411a12SAndroid Build Coastguard Worker	  ability to control internal pull resistors.
1468*b9411a12SAndroid Build Coastguard Worker
1469*b9411a12SAndroid Build Coastguard Workerconfig BOOTBLOCK_CUSTOM
1470*b9411a12SAndroid Build Coastguard Worker	# To be selected by arch, SoC or mainboard if it does not want use the normal
1471*b9411a12SAndroid Build Coastguard Worker	# src/lib/bootblock.c#main() C entry point.
1472*b9411a12SAndroid Build Coastguard Worker	bool
1473*b9411a12SAndroid Build Coastguard Worker
1474*b9411a12SAndroid Build Coastguard Workerconfig BOOTBLOCK_IN_CBFS
1475*b9411a12SAndroid Build Coastguard Worker	bool
1476*b9411a12SAndroid Build Coastguard Worker	default y if ARCH_X86
1477*b9411a12SAndroid Build Coastguard Worker	help
1478*b9411a12SAndroid Build Coastguard Worker	  Select this on platforms that have a top aligned bootblock inside cbfs.
1479*b9411a12SAndroid Build Coastguard Worker
1480*b9411a12SAndroid Build Coastguard Workerconfig MEMLAYOUT_LD_FILE
1481*b9411a12SAndroid Build Coastguard Worker	string
1482*b9411a12SAndroid Build Coastguard Worker	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/memlayout.ld"
1483*b9411a12SAndroid Build Coastguard Worker	help
1484*b9411a12SAndroid Build Coastguard Worker	  This variable allows SoC/mainboard to supply in a custom linker file
1485*b9411a12SAndroid Build Coastguard Worker	  if required. This determines the linker file used for all the stages
1486*b9411a12SAndroid Build Coastguard Worker	  (bootblock, romstage, verstage, ramstage, postcar) in
1487*b9411a12SAndroid Build Coastguard Worker	  src/arch/${ARCH}/Makefile.mk.
1488*b9411a12SAndroid Build Coastguard Worker
1489*b9411a12SAndroid Build Coastguard Worker###############################################################################
1490*b9411a12SAndroid Build Coastguard Worker# Set default values for symbols created before mainboards.  This allows the
1491*b9411a12SAndroid Build Coastguard Worker# option to be displayed in the general menu, but the default to be loaded in
1492*b9411a12SAndroid Build Coastguard Worker# the mainboard if desired.
1493*b9411a12SAndroid Build Coastguard Workerconfig COMPRESS_PRERAM_STAGES
1494*b9411a12SAndroid Build Coastguard Worker	depends on (HAVE_ROMSTAGE || HAVE_VERSTAGE) && NO_XIP_EARLY_STAGES
1495*b9411a12SAndroid Build Coastguard Worker	default y
1496*b9411a12SAndroid Build Coastguard Worker
1497*b9411a12SAndroid Build Coastguard Workerconfig INCLUDE_CONFIG_FILE
1498*b9411a12SAndroid Build Coastguard Worker	default y
1499*b9411a12SAndroid Build Coastguard Worker
1500*b9411a12SAndroid Build Coastguard Workerconfig BOOTSPLASH_FILE
1501*b9411a12SAndroid Build Coastguard Worker	depends on BOOTSPLASH_IMAGE
1502*b9411a12SAndroid Build Coastguard Worker	default "bootsplash.jpg"
1503*b9411a12SAndroid Build Coastguard Worker
1504*b9411a12SAndroid Build Coastguard Workerconfig BOOTSPLASH_CONVERT_QUALITY
1505*b9411a12SAndroid Build Coastguard Worker	depends on BOOTSPLASH_CONVERT
1506*b9411a12SAndroid Build Coastguard Worker	default 80
1507*b9411a12SAndroid Build Coastguard Worker
1508*b9411a12SAndroid Build Coastguard Workerconfig BOOTSPLASH_CONVERT_RESOLUTION
1509*b9411a12SAndroid Build Coastguard Worker	depends on BOOTSPLASH_CONVERT_RESIZE
1510*b9411a12SAndroid Build Coastguard Worker	default "1024x768"
1511*b9411a12SAndroid Build Coastguard Worker
1512*b9411a12SAndroid Build Coastguard Workerconfig CBFS_SIZE
1513*b9411a12SAndroid Build Coastguard Worker	default ROM_SIZE
1514*b9411a12SAndroid Build Coastguard Worker
1515*b9411a12SAndroid Build Coastguard Workerconfig HAVE_BOOTBLOCK
1516*b9411a12SAndroid Build Coastguard Worker	bool
1517*b9411a12SAndroid Build Coastguard Worker	default y
1518*b9411a12SAndroid Build Coastguard Worker
1519*b9411a12SAndroid Build Coastguard Workerconfig HAVE_VERSTAGE
1520*b9411a12SAndroid Build Coastguard Worker	bool
1521*b9411a12SAndroid Build Coastguard Worker	depends on VBOOT_SEPARATE_VERSTAGE
1522*b9411a12SAndroid Build Coastguard Worker	default y
1523*b9411a12SAndroid Build Coastguard Worker
1524*b9411a12SAndroid Build Coastguard Workerconfig HAVE_ROMSTAGE
1525*b9411a12SAndroid Build Coastguard Worker	bool
1526*b9411a12SAndroid Build Coastguard Worker	depends on SEPARATE_ROMSTAGE
1527*b9411a12SAndroid Build Coastguard Worker	default y
1528*b9411a12SAndroid Build Coastguard Worker
1529*b9411a12SAndroid Build Coastguard Workerconfig HAVE_RAMSTAGE
1530*b9411a12SAndroid Build Coastguard Worker	bool
1531*b9411a12SAndroid Build Coastguard Worker	default n if RAMPAYLOAD
1532*b9411a12SAndroid Build Coastguard Worker	default y
1533*b9411a12SAndroid Build Coastguard Worker
1534*b9411a12SAndroid Build Coastguard Workerconfig SEPARATE_ROMSTAGE
1535*b9411a12SAndroid Build Coastguard Worker	default y
1536