blob: c3cc144d9ced3bb1c213c13846ea6c6455261f6b [file] [log] [blame]
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001menu "x86 architecture"
2 depends on X86
3
4config SYS_ARCH
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09005 default "x86"
6
Masahiro Yamada9520b712014-10-24 01:30:43 +09007config USE_PRIVATE_LIBGCC
8 default y
9
Simon Glass4f3b9d12015-03-06 13:19:02 -070010config SYS_VSNPRINTF
11 default y
12
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090013choice
Bin Meng03b341b2015-04-27 23:22:24 +080014 prompt "Mainboard vendor"
15 default VENDOR_COREBOOT
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090016
Bin Meng03b341b2015-04-27 23:22:24 +080017config VENDOR_COREBOOT
18 bool "coreboot"
Simon Glass4a56f102015-01-27 22:13:47 -070019
Bin Meng03b341b2015-04-27 23:22:24 +080020config VENDOR_GOOGLE
21 bool "Google"
Simon Glass4a56f102015-01-27 22:13:47 -070022
Bin Meng03b341b2015-04-27 23:22:24 +080023config VENDOR_INTEL
24 bool "Intel"
Bin Meng8ba49fe2015-02-02 22:35:29 +080025
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090026endchoice
27
Bin Meng03b341b2015-04-27 23:22:24 +080028# board-specific options below
29source "board/coreboot/Kconfig"
30source "board/google/Kconfig"
31source "board/intel/Kconfig"
32
Simon Glass35f15f62015-03-26 09:29:26 -060033config DM_SPI
34 default y
35
36config DM_SPI_FLASH
37 default y
38
Simon Glass838723b2015-02-11 16:32:59 -070039config SYS_MALLOC_F_LEN
40 default 0x800
41
Simon Glass98f139b2014-11-12 22:42:10 -070042config RAMBASE
43 hex
44 default 0x100000
45
Simon Glass98f139b2014-11-12 22:42:10 -070046config XIP_ROM_SIZE
47 hex
Bin Meng4cf0b472015-01-06 22:14:16 +080048 depends on X86_RESET_VECTOR
Simon Glassd9b083e2015-01-01 16:17:54 -070049 default ROM_SIZE
Simon Glass98f139b2014-11-12 22:42:10 -070050
51config CPU_ADDR_BITS
52 int
53 default 36
54
Simon Glass268eefd2014-11-12 22:42:28 -070055config HPET_ADDRESS
56 hex
57 default 0xfed00000 if !HPET_ADDRESS_OVERRIDE
58
59config SMM_TSEG
60 bool
61 default n
62
63config SMM_TSEG_SIZE
64 hex
65
Bin Menga11937c2015-01-06 22:14:15 +080066config X86_RESET_VECTOR
67 bool
68 default n
69
70config SYS_X86_START16
71 hex
72 depends on X86_RESET_VECTOR
73 default 0xfffff800
74
Bin Mengc191ab72014-12-12 21:05:19 +080075config BOARD_ROMSIZE_KB_512
76 bool
77config BOARD_ROMSIZE_KB_1024
78 bool
79config BOARD_ROMSIZE_KB_2048
80 bool
81config BOARD_ROMSIZE_KB_4096
82 bool
83config BOARD_ROMSIZE_KB_8192
84 bool
85config BOARD_ROMSIZE_KB_16384
86 bool
87
88choice
89 prompt "ROM chip size"
Bin Meng4cf0b472015-01-06 22:14:16 +080090 depends on X86_RESET_VECTOR
Bin Mengc191ab72014-12-12 21:05:19 +080091 default UBOOT_ROMSIZE_KB_512 if BOARD_ROMSIZE_KB_512
92 default UBOOT_ROMSIZE_KB_1024 if BOARD_ROMSIZE_KB_1024
93 default UBOOT_ROMSIZE_KB_2048 if BOARD_ROMSIZE_KB_2048
94 default UBOOT_ROMSIZE_KB_4096 if BOARD_ROMSIZE_KB_4096
95 default UBOOT_ROMSIZE_KB_8192 if BOARD_ROMSIZE_KB_8192
96 default UBOOT_ROMSIZE_KB_16384 if BOARD_ROMSIZE_KB_16384
97 help
98 Select the size of the ROM chip you intend to flash U-Boot on.
99
100 The build system will take care of creating a u-boot.rom file
101 of the matching size.
102
103config UBOOT_ROMSIZE_KB_512
104 bool "512 KB"
105 help
106 Choose this option if you have a 512 KB ROM chip.
107
108config UBOOT_ROMSIZE_KB_1024
109 bool "1024 KB (1 MB)"
110 help
111 Choose this option if you have a 1024 KB (1 MB) ROM chip.
112
113config UBOOT_ROMSIZE_KB_2048
114 bool "2048 KB (2 MB)"
115 help
116 Choose this option if you have a 2048 KB (2 MB) ROM chip.
117
118config UBOOT_ROMSIZE_KB_4096
119 bool "4096 KB (4 MB)"
120 help
121 Choose this option if you have a 4096 KB (4 MB) ROM chip.
122
123config UBOOT_ROMSIZE_KB_8192
124 bool "8192 KB (8 MB)"
125 help
126 Choose this option if you have a 8192 KB (8 MB) ROM chip.
127
128config UBOOT_ROMSIZE_KB_16384
129 bool "16384 KB (16 MB)"
130 help
131 Choose this option if you have a 16384 KB (16 MB) ROM chip.
132
133endchoice
134
135# Map the config names to an integer (KB).
136config UBOOT_ROMSIZE_KB
137 int
138 default 512 if UBOOT_ROMSIZE_KB_512
139 default 1024 if UBOOT_ROMSIZE_KB_1024
140 default 2048 if UBOOT_ROMSIZE_KB_2048
141 default 4096 if UBOOT_ROMSIZE_KB_4096
142 default 8192 if UBOOT_ROMSIZE_KB_8192
143 default 16384 if UBOOT_ROMSIZE_KB_16384
144
145# Map the config names to a hex value (bytes).
Simon Glass6622b342014-11-12 22:42:08 -0700146config ROM_SIZE
147 hex
Bin Mengc191ab72014-12-12 21:05:19 +0800148 default 0x80000 if UBOOT_ROMSIZE_KB_512
149 default 0x100000 if UBOOT_ROMSIZE_KB_1024
150 default 0x200000 if UBOOT_ROMSIZE_KB_2048
151 default 0x400000 if UBOOT_ROMSIZE_KB_4096
152 default 0x800000 if UBOOT_ROMSIZE_KB_8192
153 default 0xc00000 if UBOOT_ROMSIZE_KB_12288
154 default 0x1000000 if UBOOT_ROMSIZE_KB_16384
Simon Glass6622b342014-11-12 22:42:08 -0700155
156config HAVE_INTEL_ME
157 bool "Platform requires Intel Management Engine"
158 help
159 Newer higher-end devices have an Intel Management Engine (ME)
160 which is a very large binary blob (typically 1.5MB) which is
161 required for the platform to work. This enforces a particular
162 SPI flash format. You will need to supply the me.bin file in
163 your board directory.
164
Simon Glass268eefd2014-11-12 22:42:28 -0700165config X86_RAMTEST
166 bool "Perform a simple RAM test after SDRAM initialisation"
167 help
168 If there is something wrong with SDRAM then the platform will
169 often crash within U-Boot or the kernel. This option enables a
170 very simple RAM test that quickly checks whether the SDRAM seems
171 to work correctly. It is not exhaustive but can save time by
172 detecting obvious failures.
173
Simon Glass5ecb8472014-11-14 20:56:30 -0700174config MARK_GRAPHICS_MEM_WRCOMB
175 bool "Mark graphics memory as write-combining."
176 default n
177 help
178 The graphics performance may increase if the graphics
179 memory is set as write-combining cache type. This option
180 enables marking the graphics memory as write-combining.
181
182menu "Display"
183
184config FRAMEBUFFER_SET_VESA_MODE
185 prompt "Set framebuffer graphics resolution"
186 bool
187 help
188 Set VESA/native framebuffer mode (needed for bootsplash and graphical framebuffer console)
189
190choice
191 prompt "framebuffer graphics resolution"
192 default FRAMEBUFFER_VESA_MODE_117
193 depends on FRAMEBUFFER_SET_VESA_MODE
194 help
195 This option sets the resolution used for the coreboot framebuffer (and
196 bootsplash screen).
197
198config FRAMEBUFFER_VESA_MODE_100
199 bool "640x400 256-color"
200
201config FRAMEBUFFER_VESA_MODE_101
202 bool "640x480 256-color"
203
204config FRAMEBUFFER_VESA_MODE_102
205 bool "800x600 16-color"
206
207config FRAMEBUFFER_VESA_MODE_103
208 bool "800x600 256-color"
209
210config FRAMEBUFFER_VESA_MODE_104
211 bool "1024x768 16-color"
212
213config FRAMEBUFFER_VESA_MODE_105
214 bool "1024x7686 256-color"
215
216config FRAMEBUFFER_VESA_MODE_106
217 bool "1280x1024 16-color"
218
219config FRAMEBUFFER_VESA_MODE_107
220 bool "1280x1024 256-color"
221
222config FRAMEBUFFER_VESA_MODE_108
223 bool "80x60 text"
224
225config FRAMEBUFFER_VESA_MODE_109
226 bool "132x25 text"
227
228config FRAMEBUFFER_VESA_MODE_10A
229 bool "132x43 text"
230
231config FRAMEBUFFER_VESA_MODE_10B
232 bool "132x50 text"
233
234config FRAMEBUFFER_VESA_MODE_10C
235 bool "132x60 text"
236
237config FRAMEBUFFER_VESA_MODE_10D
238 bool "320x200 32k-color (1:5:5:5)"
239
240config FRAMEBUFFER_VESA_MODE_10E
241 bool "320x200 64k-color (5:6:5)"
242
243config FRAMEBUFFER_VESA_MODE_10F
244 bool "320x200 16.8M-color (8:8:8)"
245
246config FRAMEBUFFER_VESA_MODE_110
247 bool "640x480 32k-color (1:5:5:5)"
248
249config FRAMEBUFFER_VESA_MODE_111
250 bool "640x480 64k-color (5:6:5)"
251
252config FRAMEBUFFER_VESA_MODE_112
253 bool "640x480 16.8M-color (8:8:8)"
254
255config FRAMEBUFFER_VESA_MODE_113
256 bool "800x600 32k-color (1:5:5:5)"
257
258config FRAMEBUFFER_VESA_MODE_114
259 bool "800x600 64k-color (5:6:5)"
260
261config FRAMEBUFFER_VESA_MODE_115
262 bool "800x600 16.8M-color (8:8:8)"
263
264config FRAMEBUFFER_VESA_MODE_116
265 bool "1024x768 32k-color (1:5:5:5)"
266
267config FRAMEBUFFER_VESA_MODE_117
268 bool "1024x768 64k-color (5:6:5)"
269
270config FRAMEBUFFER_VESA_MODE_118
271 bool "1024x768 16.8M-color (8:8:8)"
272
273config FRAMEBUFFER_VESA_MODE_119
274 bool "1280x1024 32k-color (1:5:5:5)"
275
276config FRAMEBUFFER_VESA_MODE_11A
277 bool "1280x1024 64k-color (5:6:5)"
278
279config FRAMEBUFFER_VESA_MODE_11B
280 bool "1280x1024 16.8M-color (8:8:8)"
281
282config FRAMEBUFFER_VESA_MODE_USER
283 bool "Manually select VESA mode"
284
285endchoice
286
287# Map the config names to an integer (KB).
288config FRAMEBUFFER_VESA_MODE
289 prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
290 hex
291 default 0x100 if FRAMEBUFFER_VESA_MODE_100
292 default 0x101 if FRAMEBUFFER_VESA_MODE_101
293 default 0x102 if FRAMEBUFFER_VESA_MODE_102
294 default 0x103 if FRAMEBUFFER_VESA_MODE_103
295 default 0x104 if FRAMEBUFFER_VESA_MODE_104
296 default 0x105 if FRAMEBUFFER_VESA_MODE_105
297 default 0x106 if FRAMEBUFFER_VESA_MODE_106
298 default 0x107 if FRAMEBUFFER_VESA_MODE_107
299 default 0x108 if FRAMEBUFFER_VESA_MODE_108
300 default 0x109 if FRAMEBUFFER_VESA_MODE_109
301 default 0x10A if FRAMEBUFFER_VESA_MODE_10A
302 default 0x10B if FRAMEBUFFER_VESA_MODE_10B
303 default 0x10C if FRAMEBUFFER_VESA_MODE_10C
304 default 0x10D if FRAMEBUFFER_VESA_MODE_10D
305 default 0x10E if FRAMEBUFFER_VESA_MODE_10E
306 default 0x10F if FRAMEBUFFER_VESA_MODE_10F
307 default 0x110 if FRAMEBUFFER_VESA_MODE_110
308 default 0x111 if FRAMEBUFFER_VESA_MODE_111
309 default 0x112 if FRAMEBUFFER_VESA_MODE_112
310 default 0x113 if FRAMEBUFFER_VESA_MODE_113
311 default 0x114 if FRAMEBUFFER_VESA_MODE_114
312 default 0x115 if FRAMEBUFFER_VESA_MODE_115
313 default 0x116 if FRAMEBUFFER_VESA_MODE_116
314 default 0x117 if FRAMEBUFFER_VESA_MODE_117
315 default 0x118 if FRAMEBUFFER_VESA_MODE_118
316 default 0x119 if FRAMEBUFFER_VESA_MODE_119
317 default 0x11A if FRAMEBUFFER_VESA_MODE_11A
318 default 0x11B if FRAMEBUFFER_VESA_MODE_11B
319 default 0x117 if FRAMEBUFFER_VESA_MODE_USER
320
321endmenu
322
Simon Glass45c083b2015-01-27 22:13:41 -0700323config HAVE_FSP
324 bool "Add an Firmware Support Package binary"
325 help
326 Select this option to add an Firmware Support Package binary to
327 the resulting U-Boot image. It is a binary blob which U-Boot uses
328 to set up SDRAM and other chipset specific initialization.
329
330 Note: Without this binary U-Boot will not be able to set up its
331 SDRAM so will not boot.
332
333config FSP_FILE
334 string "Firmware Support Package binary filename"
335 depends on HAVE_FSP
336 default "fsp.bin"
337 help
338 The filename of the file to use as Firmware Support Package binary
339 in the board directory.
340
341config FSP_ADDR
342 hex "Firmware Support Package binary location"
343 depends on HAVE_FSP
344 default 0xfffc0000
345 help
346 FSP is not Position Independent Code (PIC) and the whole FSP has to
347 be rebased if it is placed at a location which is different from the
348 perferred base address specified during the FSP build. Use Intel's
349 Binary Configuration Tool (BCT) to do the rebase.
350
351 The default base address of 0xfffc0000 indicates that the binary must
352 be located at offset 0xc0000 from the beginning of a 1MB flash device.
353
354config FSP_TEMP_RAM_ADDR
355 hex
356 default 0x2000000
357 help
358 Stack top address which is used in FspInit after DRAM is ready and
359 CAR is disabled.
360
Simon Glass4a56f102015-01-27 22:13:47 -0700361source "arch/x86/cpu/baytrail/Kconfig"
362
Bin Meng5d710a52015-01-06 22:14:18 +0800363source "arch/x86/cpu/coreboot/Kconfig"
364
Simon Glass0b36ecd2014-11-12 22:42:07 -0700365source "arch/x86/cpu/ivybridge/Kconfig"
366
Bin Meng8ba49fe2015-02-02 22:35:29 +0800367source "arch/x86/cpu/quark/Kconfig"
368
Bin Meng2f326222014-12-17 15:50:40 +0800369source "arch/x86/cpu/queensbay/Kconfig"
370
Bin Meng059f1f82015-02-05 23:42:20 +0800371config TSC_CALIBRATION_BYPASS
372 bool "Bypass Time-Stamp Counter (TSC) calibration"
373 default n
374 help
375 By default U-Boot automatically calibrates Time-Stamp Counter (TSC)
376 running frequency via Model-Specific Register (MSR) and Programmable
377 Interval Timer (PIT). If the calibration does not work on your board,
378 select this option and provide a hardcoded TSC running frequency with
379 CONFIG_TSC_FREQ_IN_MHZ below.
380
381 Normally this option should be turned on in a simulation environment
382 like qemu.
383
384config TSC_FREQ_IN_MHZ
385 int "Time-Stamp Counter (TSC) running frequency in MHz"
386 depends on TSC_CALIBRATION_BYPASS
387 default 1000
388 help
389 The running frequency in MHz of Time-Stamp Counter (TSC).
390
Bin Meng45236ad2015-04-24 18:10:05 +0800391menu "System tables"
392
393config GENERATE_PIRQ_TABLE
394 bool "Generate a PIRQ table"
395 default n
396 help
397 Generate a PIRQ routing table for this board. The PIRQ routing table
398 is generated by U-Boot in the system memory from 0xf0000 to 0xfffff
399 at every 16-byte boundary with a PCI IRQ routing signature ("$PIR").
400 It specifies the interrupt router information as well how all the PCI
401 devices' interrupt pins are wired to PIRQs.
402
403endmenu
404
405config MAX_PIRQ_LINKS
406 int
407 default 8
408 help
409 This variable specifies the number of PIRQ interrupt links which are
410 routable. On most older chipsets, this is 4, PIRQA through PIRQD.
411 Some newer chipsets offer more than four links, commonly up to PIRQH.
412
413config IRQ_SLOT_COUNT
414 int
415 default 128
416 help
417 U-Boot can support up to 254 IRQ slot info in the PIRQ routing table
418 which in turns forms a table of exact 4KiB. The default value 128
419 should be enough for most boards. If this does not fit your board,
420 change it according to your needs.
421
Simon Glass461cebf2015-01-27 22:13:33 -0700422config PCIE_ECAM_BASE
423 hex
Bin Mengd11c1b22015-02-02 21:25:09 +0800424 default 0xe0000000
Simon Glass461cebf2015-01-27 22:13:33 -0700425 help
426 This is the memory-mapped address of PCI configuration space, which
427 is only available through the Enhanced Configuration Access
428 Mechanism (ECAM) with PCI Express. It can be set up almost
429 anywhere. Before it is set up, it is possible to access PCI
430 configuration space through I/O access, but memory access is more
431 convenient. Using this, PCI can be scanned and configured. This
432 should be set to a region that does not conflict with memory
433 assigned to PCI devices - i.e. the memory and prefetch regions, as
434 passed to pci_set_region().
435
Simon Glass5322d622015-03-02 17:04:37 -0700436config BOOTSTAGE
437 default y
438
439config BOOTSTAGE_REPORT
440 default y
441
442config CMD_BOOTSTAGE
443 default y
444
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900445endmenu