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