]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - arch/x86/Kconfig
aaceaef8b5e9f438370d32718c8e22f982167e47
[karo-tx-uboot.git] / arch / x86 / Kconfig
1 menu "x86 architecture"
2         depends on X86
3
4 config SYS_ARCH
5         default "x86"
6
7 config USE_PRIVATE_LIBGCC
8         default y
9
10 config SYS_VSNPRINTF
11         default y
12
13 choice
14         prompt "Target select"
15
16 config TARGET_COREBOOT
17         bool "Support coreboot"
18         help
19           This target is used for running U-Boot on top of Coreboot. In
20           this case Coreboot does the early inititalisation, and U-Boot
21           takes over once the RAM, video and CPU are fully running.
22           U-Boot is loaded as a fallback payload from Coreboot, in
23           Coreboot terminology. This method was used for the Chromebook
24           Pixel when launched.
25
26 config TARGET_CHROMEBOOK_LINK
27         bool "Support Chromebook link"
28         help
29           This is the Chromebook Pixel released in 2013. It uses an Intel
30           i5 Ivybridge which is a die-shrink of Sandybridge, with 4GB of
31           SDRAM. It has a Panther Point platform controller hub, PCIe
32           WiFi and Bluetooth. It also includes a 720p webcam, USB SD
33           reader, microphone and speakers, display port and 32GB SATA
34           solid state drive. There is a Chrome OS EC connected on LPC,
35           and it provides a 2560x1700 high resolution touch-enabled LCD
36           display.
37
38 config TARGET_CHROMEBOX_PANTHER
39         bool "Support Chromebox panther (not available)"
40         select n
41         help
42           Note: At present this must be used with Coreboot. See README.x86
43           for instructions.
44
45           This is the Asus Chromebox CN60 released in 2014. It uses an Intel
46           Haswell Celeron 2955U Dual Core CPU with 2GB of SDRAM. It has a
47           Lynx Point platform controller hub, PCIe WiFi and Bluetooth. It also
48           includes a USB SD reader, four USB3 ports, display port and HDMI
49           video output and a 16GB SATA solid state drive. There is no Chrome
50           OS EC on this model.
51
52 config TARGET_CROWNBAY
53         bool "Support Intel Crown Bay CRB"
54         help
55           This is the Intel Crown Bay Customer Reference Board. It contains
56           the Intel Atom Processor E6xx populated on the COM Express module
57           with 1GB DDR2 soldered down memory and a carrier board with the
58           Intel Platform Controller Hub EG20T, other system components and
59           peripheral connectors for PCIe/SATA/USB/LAN/SD/UART/Audio/LVDS.
60
61 config TARGET_MINNOWMAX
62         bool "Support Intel Minnowboard MAX"
63         help
64           This is the Intel Minnowboard MAX. It contains an Atom E3800
65           processor in a small form factor with Ethernet, micro-SD, USB 2,
66           USB 3, SATA, serial console, some GPIOs and HDMI 1.3 video out.
67           It requires some binary blobs - see README.x86 for details.
68
69           Note that PCIE_ECAM_BASE is set up by the FSP so the value used
70           by U-Boot matches that value.
71
72 config TARGET_GALILEO
73         bool "Support Intel Galileo"
74         help
75           This is the Intel Galileo board, which is the first in a family of
76           Arduino-certified development and prototyping boards based on Intel
77           architecture. It includes an Intel Quark SoC X1000 processor, a 32-bit
78           single-core, single-thread, Intel Pentium processor instrunction set
79           architecture (ISA) compatible, operating at speeds up to 400Mhz,
80           along with 256MB DDR3 memory. It supports a wide range of industry
81           standard I/O interfaces, including a full-sized mini-PCIe slot,
82           one 100Mb Ethernet port, a microSD card slot, a USB host port and
83           a USB client port.
84
85 endchoice
86
87 config DM_SPI
88         default y
89
90 config DM_SPI_FLASH
91         default y
92
93 config SYS_MALLOC_F_LEN
94         default 0x800
95
96 config RAMBASE
97         hex
98         default 0x100000
99
100 config XIP_ROM_SIZE
101         hex
102         depends on X86_RESET_VECTOR
103         default ROM_SIZE
104
105 config CPU_ADDR_BITS
106         int
107         default 36
108
109 config HPET_ADDRESS
110         hex
111         default 0xfed00000 if !HPET_ADDRESS_OVERRIDE
112
113 config SMM_TSEG
114         bool
115         default n
116
117 config SMM_TSEG_SIZE
118         hex
119
120 config X86_RESET_VECTOR
121         bool
122         default n
123
124 config SYS_X86_START16
125         hex
126         depends on X86_RESET_VECTOR
127         default 0xfffff800
128
129 config BOARD_ROMSIZE_KB_512
130         bool
131 config BOARD_ROMSIZE_KB_1024
132         bool
133 config BOARD_ROMSIZE_KB_2048
134         bool
135 config BOARD_ROMSIZE_KB_4096
136         bool
137 config BOARD_ROMSIZE_KB_8192
138         bool
139 config BOARD_ROMSIZE_KB_16384
140         bool
141
142 choice
143         prompt "ROM chip size"
144         depends on X86_RESET_VECTOR
145         default UBOOT_ROMSIZE_KB_512 if BOARD_ROMSIZE_KB_512
146         default UBOOT_ROMSIZE_KB_1024 if BOARD_ROMSIZE_KB_1024
147         default UBOOT_ROMSIZE_KB_2048 if BOARD_ROMSIZE_KB_2048
148         default UBOOT_ROMSIZE_KB_4096 if BOARD_ROMSIZE_KB_4096
149         default UBOOT_ROMSIZE_KB_8192 if BOARD_ROMSIZE_KB_8192
150         default UBOOT_ROMSIZE_KB_16384 if BOARD_ROMSIZE_KB_16384
151         help
152           Select the size of the ROM chip you intend to flash U-Boot on.
153
154           The build system will take care of creating a u-boot.rom file
155           of the matching size.
156
157 config UBOOT_ROMSIZE_KB_512
158         bool "512 KB"
159         help
160           Choose this option if you have a 512 KB ROM chip.
161
162 config UBOOT_ROMSIZE_KB_1024
163         bool "1024 KB (1 MB)"
164         help
165           Choose this option if you have a 1024 KB (1 MB) ROM chip.
166
167 config UBOOT_ROMSIZE_KB_2048
168         bool "2048 KB (2 MB)"
169         help
170           Choose this option if you have a 2048 KB (2 MB) ROM chip.
171
172 config UBOOT_ROMSIZE_KB_4096
173         bool "4096 KB (4 MB)"
174         help
175           Choose this option if you have a 4096 KB (4 MB) ROM chip.
176
177 config UBOOT_ROMSIZE_KB_8192
178         bool "8192 KB (8 MB)"
179         help
180           Choose this option if you have a 8192 KB (8 MB) ROM chip.
181
182 config UBOOT_ROMSIZE_KB_16384
183         bool "16384 KB (16 MB)"
184         help
185           Choose this option if you have a 16384 KB (16 MB) ROM chip.
186
187 endchoice
188
189 # Map the config names to an integer (KB).
190 config UBOOT_ROMSIZE_KB
191         int
192         default 512 if UBOOT_ROMSIZE_KB_512
193         default 1024 if UBOOT_ROMSIZE_KB_1024
194         default 2048 if UBOOT_ROMSIZE_KB_2048
195         default 4096 if UBOOT_ROMSIZE_KB_4096
196         default 8192 if UBOOT_ROMSIZE_KB_8192
197         default 16384 if UBOOT_ROMSIZE_KB_16384
198
199 # Map the config names to a hex value (bytes).
200 config ROM_SIZE
201         hex
202         default 0x80000 if UBOOT_ROMSIZE_KB_512
203         default 0x100000 if UBOOT_ROMSIZE_KB_1024
204         default 0x200000 if UBOOT_ROMSIZE_KB_2048
205         default 0x400000 if UBOOT_ROMSIZE_KB_4096
206         default 0x800000 if UBOOT_ROMSIZE_KB_8192
207         default 0xc00000 if UBOOT_ROMSIZE_KB_12288
208         default 0x1000000 if UBOOT_ROMSIZE_KB_16384
209
210 config HAVE_INTEL_ME
211         bool "Platform requires Intel Management Engine"
212         help
213           Newer higher-end devices have an Intel Management Engine (ME)
214           which is a very large binary blob (typically 1.5MB) which is
215           required for the platform to work. This enforces a particular
216           SPI flash format. You will need to supply the me.bin file in
217           your board directory.
218
219 config X86_RAMTEST
220         bool "Perform a simple RAM test after SDRAM initialisation"
221         help
222           If there is something wrong with SDRAM then the platform will
223           often crash within U-Boot or the kernel. This option enables a
224           very simple RAM test that quickly checks whether the SDRAM seems
225           to work correctly. It is not exhaustive but can save time by
226           detecting obvious failures.
227
228 config MARK_GRAPHICS_MEM_WRCOMB
229         bool "Mark graphics memory as write-combining."
230         default n
231         help
232          The graphics performance may increase if the graphics
233          memory is set as write-combining cache type. This option
234          enables marking the graphics memory as write-combining.
235
236 menu "Display"
237
238 config FRAMEBUFFER_SET_VESA_MODE
239         prompt "Set framebuffer graphics resolution"
240         bool
241         help
242           Set VESA/native framebuffer mode (needed for bootsplash and graphical framebuffer console)
243
244 choice
245         prompt "framebuffer graphics resolution"
246         default FRAMEBUFFER_VESA_MODE_117
247         depends on FRAMEBUFFER_SET_VESA_MODE
248         help
249           This option sets the resolution used for the coreboot framebuffer (and
250           bootsplash screen).
251
252 config FRAMEBUFFER_VESA_MODE_100
253         bool "640x400 256-color"
254
255 config FRAMEBUFFER_VESA_MODE_101
256         bool "640x480 256-color"
257
258 config FRAMEBUFFER_VESA_MODE_102
259         bool "800x600 16-color"
260
261 config FRAMEBUFFER_VESA_MODE_103
262         bool "800x600 256-color"
263
264 config FRAMEBUFFER_VESA_MODE_104
265         bool "1024x768 16-color"
266
267 config FRAMEBUFFER_VESA_MODE_105
268         bool "1024x7686 256-color"
269
270 config FRAMEBUFFER_VESA_MODE_106
271         bool "1280x1024 16-color"
272
273 config FRAMEBUFFER_VESA_MODE_107
274         bool "1280x1024 256-color"
275
276 config FRAMEBUFFER_VESA_MODE_108
277         bool "80x60 text"
278
279 config FRAMEBUFFER_VESA_MODE_109
280         bool "132x25 text"
281
282 config FRAMEBUFFER_VESA_MODE_10A
283         bool "132x43 text"
284
285 config FRAMEBUFFER_VESA_MODE_10B
286         bool "132x50 text"
287
288 config FRAMEBUFFER_VESA_MODE_10C
289         bool "132x60 text"
290
291 config FRAMEBUFFER_VESA_MODE_10D
292         bool "320x200 32k-color (1:5:5:5)"
293
294 config FRAMEBUFFER_VESA_MODE_10E
295         bool "320x200 64k-color (5:6:5)"
296
297 config FRAMEBUFFER_VESA_MODE_10F
298         bool "320x200 16.8M-color (8:8:8)"
299
300 config FRAMEBUFFER_VESA_MODE_110
301         bool "640x480 32k-color (1:5:5:5)"
302
303 config FRAMEBUFFER_VESA_MODE_111
304         bool "640x480 64k-color (5:6:5)"
305
306 config FRAMEBUFFER_VESA_MODE_112
307         bool "640x480 16.8M-color (8:8:8)"
308
309 config FRAMEBUFFER_VESA_MODE_113
310         bool "800x600 32k-color (1:5:5:5)"
311
312 config FRAMEBUFFER_VESA_MODE_114
313         bool "800x600 64k-color (5:6:5)"
314
315 config FRAMEBUFFER_VESA_MODE_115
316         bool "800x600 16.8M-color (8:8:8)"
317
318 config FRAMEBUFFER_VESA_MODE_116
319         bool "1024x768 32k-color (1:5:5:5)"
320
321 config FRAMEBUFFER_VESA_MODE_117
322         bool "1024x768 64k-color (5:6:5)"
323
324 config FRAMEBUFFER_VESA_MODE_118
325         bool "1024x768 16.8M-color (8:8:8)"
326
327 config FRAMEBUFFER_VESA_MODE_119
328         bool "1280x1024 32k-color (1:5:5:5)"
329
330 config FRAMEBUFFER_VESA_MODE_11A
331         bool "1280x1024 64k-color (5:6:5)"
332
333 config FRAMEBUFFER_VESA_MODE_11B
334         bool "1280x1024 16.8M-color (8:8:8)"
335
336 config FRAMEBUFFER_VESA_MODE_USER
337         bool "Manually select VESA mode"
338
339 endchoice
340
341 # Map the config names to an integer (KB).
342 config FRAMEBUFFER_VESA_MODE
343         prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
344         hex
345         default 0x100 if FRAMEBUFFER_VESA_MODE_100
346         default 0x101 if FRAMEBUFFER_VESA_MODE_101
347         default 0x102 if FRAMEBUFFER_VESA_MODE_102
348         default 0x103 if FRAMEBUFFER_VESA_MODE_103
349         default 0x104 if FRAMEBUFFER_VESA_MODE_104
350         default 0x105 if FRAMEBUFFER_VESA_MODE_105
351         default 0x106 if FRAMEBUFFER_VESA_MODE_106
352         default 0x107 if FRAMEBUFFER_VESA_MODE_107
353         default 0x108 if FRAMEBUFFER_VESA_MODE_108
354         default 0x109 if FRAMEBUFFER_VESA_MODE_109
355         default 0x10A if FRAMEBUFFER_VESA_MODE_10A
356         default 0x10B if FRAMEBUFFER_VESA_MODE_10B
357         default 0x10C if FRAMEBUFFER_VESA_MODE_10C
358         default 0x10D if FRAMEBUFFER_VESA_MODE_10D
359         default 0x10E if FRAMEBUFFER_VESA_MODE_10E
360         default 0x10F if FRAMEBUFFER_VESA_MODE_10F
361         default 0x110 if FRAMEBUFFER_VESA_MODE_110
362         default 0x111 if FRAMEBUFFER_VESA_MODE_111
363         default 0x112 if FRAMEBUFFER_VESA_MODE_112
364         default 0x113 if FRAMEBUFFER_VESA_MODE_113
365         default 0x114 if FRAMEBUFFER_VESA_MODE_114
366         default 0x115 if FRAMEBUFFER_VESA_MODE_115
367         default 0x116 if FRAMEBUFFER_VESA_MODE_116
368         default 0x117 if FRAMEBUFFER_VESA_MODE_117
369         default 0x118 if FRAMEBUFFER_VESA_MODE_118
370         default 0x119 if FRAMEBUFFER_VESA_MODE_119
371         default 0x11A if FRAMEBUFFER_VESA_MODE_11A
372         default 0x11B if FRAMEBUFFER_VESA_MODE_11B
373         default 0x117 if FRAMEBUFFER_VESA_MODE_USER
374
375 endmenu
376
377 config HAVE_FSP
378         bool "Add an Firmware Support Package binary"
379         help
380           Select this option to add an Firmware Support Package binary to
381           the resulting U-Boot image. It is a binary blob which U-Boot uses
382           to set up SDRAM and other chipset specific initialization.
383
384           Note: Without this binary U-Boot will not be able to set up its
385           SDRAM so will not boot.
386
387 config FSP_FILE
388         string "Firmware Support Package binary filename"
389         depends on HAVE_FSP
390         default "fsp.bin"
391         help
392           The filename of the file to use as Firmware Support Package binary
393           in the board directory.
394
395 config FSP_ADDR
396         hex "Firmware Support Package binary location"
397         depends on HAVE_FSP
398         default 0xfffc0000
399         help
400           FSP is not Position Independent Code (PIC) and the whole FSP has to
401           be rebased if it is placed at a location which is different from the
402           perferred base address specified during the FSP build. Use Intel's
403           Binary Configuration Tool (BCT) to do the rebase.
404
405           The default base address of 0xfffc0000 indicates that the binary must
406           be located at offset 0xc0000 from the beginning of a 1MB flash device.
407
408 config FSP_TEMP_RAM_ADDR
409         hex
410         default 0x2000000
411         help
412           Stack top address which is used in FspInit after DRAM is ready and
413           CAR is disabled.
414
415 source "arch/x86/cpu/baytrail/Kconfig"
416
417 source "arch/x86/cpu/coreboot/Kconfig"
418
419 source "arch/x86/cpu/ivybridge/Kconfig"
420
421 source "arch/x86/cpu/quark/Kconfig"
422
423 source "arch/x86/cpu/queensbay/Kconfig"
424
425 config TSC_CALIBRATION_BYPASS
426         bool "Bypass Time-Stamp Counter (TSC) calibration"
427         default n
428         help
429           By default U-Boot automatically calibrates Time-Stamp Counter (TSC)
430           running frequency via Model-Specific Register (MSR) and Programmable
431           Interval Timer (PIT). If the calibration does not work on your board,
432           select this option and provide a hardcoded TSC running frequency with
433           CONFIG_TSC_FREQ_IN_MHZ below.
434
435           Normally this option should be turned on in a simulation environment
436           like qemu.
437
438 config TSC_FREQ_IN_MHZ
439         int "Time-Stamp Counter (TSC) running frequency in MHz"
440         depends on TSC_CALIBRATION_BYPASS
441         default 1000
442         help
443           The running frequency in MHz of Time-Stamp Counter (TSC).
444
445 menu "System tables"
446
447 config GENERATE_PIRQ_TABLE
448         bool "Generate a PIRQ table"
449         default n
450         help
451           Generate a PIRQ routing table for this board. The PIRQ routing table
452           is generated by U-Boot in the system memory from 0xf0000 to 0xfffff
453           at every 16-byte boundary with a PCI IRQ routing signature ("$PIR").
454           It specifies the interrupt router information as well how all the PCI
455           devices' interrupt pins are wired to PIRQs.
456
457 endmenu
458
459 config MAX_PIRQ_LINKS
460         int
461         default 8
462         help
463           This variable specifies the number of PIRQ interrupt links which are
464           routable. On most older chipsets, this is 4, PIRQA through PIRQD.
465           Some newer chipsets offer more than four links, commonly up to PIRQH.
466
467 config IRQ_SLOT_COUNT
468         int
469         default 128
470         help
471           U-Boot can support up to 254 IRQ slot info in the PIRQ routing table
472           which in turns forms a table of exact 4KiB. The default value 128
473           should be enough for most boards. If this does not fit your board,
474           change it according to your needs.
475
476 source "board/coreboot/coreboot/Kconfig"
477
478 source "board/google/chromebook_link/Kconfig"
479
480 source "board/google/chromebox_panther/Kconfig"
481
482 source "board/intel/crownbay/Kconfig"
483
484 source "board/intel/minnowmax/Kconfig"
485
486 source "board/intel/galileo/Kconfig"
487
488 config PCIE_ECAM_BASE
489         hex
490         default 0xe0000000
491         help
492           This is the memory-mapped address of PCI configuration space, which
493           is only available through the Enhanced Configuration Access
494           Mechanism (ECAM) with PCI Express. It can be set up almost
495           anywhere. Before it is set up, it is possible to access PCI
496           configuration space through I/O access, but memory access is more
497           convenient. Using this, PCI can be scanned and configured. This
498           should be set to a region that does not conflict with memory
499           assigned to PCI devices - i.e. the memory and prefetch regions, as
500           passed to pci_set_region().
501
502 config BOOTSTAGE
503         default y
504
505 config BOOTSTAGE_REPORT
506         default y
507
508 config CMD_BOOTSTAGE
509         default y
510
511 endmenu