0a9265d73327248b85a71cbbeec24c9e51bfe3b7
[coreboot.git] / payloads / libpayload / Config.in
1 ##
2 ## This file is part of the libpayload project.
3 ##
4 ## Copyright (C) 2008 Advanced Micro Devices, Inc.
5 ## Copyright (C) 2008 coresystems GmbH
6 ##
7 ## Redistribution and use in source and binary forms, with or without
8 ## modification, are permitted provided that the following conditions
9 ## are met:
10 ## 1. Redistributions of source code must retain the above copyright
11 ##    notice, this list of conditions and the following disclaimer.
12 ## 2. Redistributions in binary form must reproduce the above copyright
13 ##    notice, this list of conditions and the following disclaimer in the
14 ##    documentation and/or other materials provided with the distribution.
15 ## 3. The name of the author may not be used to endorse or promote products
16 ##    derived from this software without specific prior written permission.
17 ##
18 ## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19 ## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 ## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 ## ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22 ## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 ## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 ## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 ## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 ## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 ## SUCH DAMAGE.
29 ##
30
31 mainmenu "Libpayload Configuration"
32
33 menu "Generic Options"
34
35 config EXPERIMENTAL
36         bool "Experimental Options"
37         default n
38         help
39           Prompt for experimental functionality. Attention: This is not likely
40           to work without problems
41
42 config OBSOLETE
43         bool "Obsolete Options"
44         default n
45         help
46           Prompt for obsolete options. These options are for old, unsupported
47           features and are likely to go away in the future.
48
49 config DEVELOPER
50         bool "Developer Options"
51         default n
52         help
53           Prompt for developer options. These options are only interesting for
54           libpayload developers.
55
56 endmenu
57
58 menu "Architecture Options"
59
60 choice
61         prompt "Target Architecture"
62         default TARGET_I386
63
64 config TARGET_I386
65         bool "x86"
66         help
67           Support the x86 architecture
68
69 config TARGET_POWERPC
70         bool "PowerPC"
71         help
72           Support the PowerPC architecture
73
74 endchoice
75
76 config MULTIBOOT
77         bool "Multiboot header support"
78         depends on TARGET_I386
79         default y
80
81 endmenu
82
83 menu "Standard Libraries"
84
85 config LIBC
86         bool "Enable C library support"
87         default y
88
89 config TINYCURSES
90         bool "Enable tinycurses support"
91         default y
92
93 config LAR
94         bool "LAR support"
95         default n
96         depends on OBSOLETE
97         help
98           LAR is the archive format of (obsolete) coreboot v3
99
100 config CBFS
101         bool "CBFS support"
102         default y
103         help
104           CBFS is the archive format of (obsolete) coreboot v3
105 endmenu
106
107 menu "Console Options"
108
109 config SERIAL_CONSOLE
110         bool "See output on the serial port console"
111         default y
112
113 config SERIAL_IOBASE
114         hex "I/O base for the serial port (default 0x3f8)"
115         depends on SERIAL_CONSOLE
116         default 0x3f8
117
118 config SERIAL_SET_SPEED
119         bool "Override the serial console baud rate"
120         default n
121         depends on SERIAL_CONSOLE
122
123 config SERIAL_BAUD_RATE
124         int "Serial console baud rate (default 115200)"
125         depends on SERIAL_SET_SPEED
126         default 115200
127
128 config SERIAL_ACS_FALLBACK
129         bool "Use plain ASCII characters for ACS"
130         default n
131         depends on SERIAL_CONSOLE
132         help
133           The alternate character set (ACS) is used for drawing lines and
134           displaying a couple of other special graphics characters.  The
135           ACS characters generally look good on screen, but can be difficult
136           to cut and paste from a terminal window to a text editor.
137
138           Say 'y' here if you want to always use plain ASCII characters to
139           approximate the appearance of ACS characters on the serial port
140           console.
141
142 config VIDEO_CONSOLE
143         bool "See output on a video console"
144         default y
145
146 config VGA_VIDEO_CONSOLE
147         bool "VGA video console driver"
148         depends on VIDEO_CONSOLE
149         default y
150
151 config GEODELX_VIDEO_CONSOLE
152         bool "Geode LX video console driver"
153         depends on VIDEO_CONSOLE
154         default n
155
156 config COREBOOT_VIDEO_CONSOLE
157         bool "coreboot video console driver"
158         depends on VIDEO_CONSOLE && !GEODELX_VIDEO_CONSOLE
159         default n
160         help
161           Say Y here if coreboot switched to a graphics mode and
162           your payload wants to use it.
163
164 config PC_KEYBOARD
165         bool "Allow input from a PC keyboard"
166         default y
167
168 config PC_KEYBOARD_LAYOUT_US
169         bool "English (US) keyboard layout"
170         depends on PC_KEYBOARD
171         default y
172
173 config PC_KEYBOARD_LAYOUT_DE
174         bool "German keyboard layout"
175         depends on PC_KEYBOARD
176         default n
177
178 endmenu
179
180 menu "Drivers"
181
182 config PCI
183         bool "Support for PCI devices"
184         default y
185
186 config NVRAM
187         bool "Support for reading/writing NVRAM bytes"
188         default y
189
190 config RTC_PORT_EXTENDED_VIA
191         bool "Extended RTC ports are 0x74/0x75"
192         default n
193         help
194           For recent chipsets with 256 NVRAM bytes, you have to access the
195           upper 128 bytes (128-255) using two different I/O ports,
196           usually 0x72/0x73.
197
198           On some chipsets this can be a different set of ports, though.
199           The VIA VT8237R for example only recognizes the ports 0x74/0x75
200           for accessing the high 128 NVRAM bytes (as seems to be the case for
201           multiple VIA chipsets).
202
203           If you want to read or write CMOS bytes on computers with one of
204           these chipsets, say 'y' here.
205
206 config SPEAKER
207         bool "Support for PC speaker"
208         default y
209
210 config USB
211         bool "USB Support"
212         default n
213
214 config USB_UHCI
215         bool "Support for USB UHCI controllers"
216         depends on USB
217         help
218           Select this option if you are going to use USB 1.1 on an Intel based
219           system.
220
221 config USB_OHCI
222         bool "Support for USB OHCI controllers"
223         depends on USB
224         help
225           Select this option if you are going to use USB 1.1 on an AMD based
226           system.
227
228 config USB_EHCI
229         bool "Support for USB EHCI controllers"
230         depends on USB
231         help
232           Select this option if you want to use USB 2.0
233
234 config USB_XHCI
235         bool "Support for USB xHCI controllers"
236         depends on USB
237         help
238           Select this option if you want to use USB 3.0
239           NOTE: This option is not (fully) implemented yet
240
241 config USB_HID
242         bool "Support for USB keyboards"
243         depends on USB
244         default y
245         help
246           Select this option if you want to use devices complying to the
247           USB HID (Human Interface Device) standard. Such devices are for
248           example keyboards and mice. Currently only keyboards are supported.
249           Say Y here unless you know exactly what you are doing.
250
251 config USB_HUB
252         bool "Support for USB hubs"
253         depends on USB
254         default y
255         help
256           Select this option if you want to compile in support for USB hubs.
257           Say Y here unless you know exactly what you are doing.
258
259 config USB_MSC
260         bool "Support for USB storage"
261         depends on USB
262         default y
263         help
264           Select this option if you want to compile in support for USB mass
265           storage devices (USB memory sticks, hard drives, CDROM/DVD drives)
266           Say Y here unless you know exactly what you are doing.
267
268 endmenu
269
270 menu "Debugging"
271         depends on DEVELOPER
272
273 config DEBUG_MALLOC
274         bool "Debug memory allocator"
275         depends on USB
276         default n
277         help
278           Select this option if you want to debug the memory allocator. This
279           option logs all uses of the following functions:
280
281             void free(void *ptr);
282             void *malloc(size_t size);
283             void *calloc(size_t nmemb, size_t size);
284             void *realloc(void *ptr, size_t size);
285             void *memalign(size_t align, size_t size);
286
287           Say N here unless you are debugging memory allocator problems.
288
289 endmenu
290