blob: 5e0262426b0ef00a727fdba662a57113ac76a87f [file] [log] [blame]
Uwe Hermann661e3802008-03-21 18:37:23 +00001##
2## This file is part of the libpayload project.
3##
4## Copyright (C) 2008 Advanced Micro Devices, Inc.
Stefan Reinauer69863582008-08-08 13:45:03 +00005## Copyright (C) 2008 coresystems GmbH
Uwe Hermann661e3802008-03-21 18:37:23 +00006##
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##
Jordan Crousef6145c32008-03-19 23:56:58 +000030
31mainmenu "Libpayload Configuration"
32
Stefan Reinauere5d30b72010-03-25 22:15:19 +000033menu "Generic Options"
34
Julius Werner22adcd62014-06-11 14:16:35 -070035config GPL
36 bool "GPLv2-licensed Options"
37 default n
38 help
39 Prompt for options that will build code licensed under the GNU General
40 Public License (version 2). This will subject the whole payload to the
41 terms of this license (including its provision to release all sources,
42 please see the LICENSE_GPL file for details).
43
Stefan Reinauere5d30b72010-03-25 22:15:19 +000044config EXPERIMENTAL
45 bool "Experimental Options"
46 default n
47 help
48 Prompt for experimental functionality. Attention: This is not likely
49 to work without problems
50
Stefan Reinauere5d30b72010-03-25 22:15:19 +000051config DEVELOPER
52 bool "Developer Options"
53 default n
54 help
55 Prompt for developer options. These options are only interesting for
56 libpayload developers.
57
Patrick Georgib7d8f262015-07-06 09:04:42 +000058choice
59 prompt "Compiler to use"
60 default COMPILER_GCC
61 help
62 This option allows you to select the compiler.
63
64config COMPILER_GCC
65 bool "GCC"
66 help
67 Use the GNU Compiler Collection (GCC).
68
69config COMPILER_LLVM_CLANG
70 bool "LLVM/clang"
71 help
72 Use LLVM/clang.
73
74endchoice
75
Julius Werner50a81742014-05-15 11:57:38 -070076config REMOTEGDB
77 bool "Remote GDB stub"
78 default n
79 depends on GPL
80 help
81 Enable Remote GDB debugging support.
82
Gabe Blackd3890cc2012-03-11 01:57:53 -080083config CHROMEOS
84 bool "ChromeOS specific features"
85 default n
86 help
87 Enable ChromeOS specific features.
88
Stefan Reinauere5d30b72010-03-25 22:15:19 +000089endmenu
90
Jordan Crouse20c9cf12008-10-20 16:51:43 +000091menu "Architecture Options"
92
Patrick Georgid385ed22009-05-21 10:02:52 +000093choice
94 prompt "Target Architecture"
David Hendricks4b6be982012-11-30 13:56:31 -080095 default ARCH_X86
Patrick Georgid385ed22009-05-21 10:02:52 +000096
Gabe Black51edd542013-09-30 23:00:33 -070097config ARCH_ARM
98 bool "ARM"
Stefan Reinauer8af0d032012-12-14 13:05:21 -080099 help
Gabe Black51edd542013-09-30 23:00:33 -0700100 Support the ARM architecture
Stefan Reinauer8af0d032012-12-14 13:05:21 -0800101
David Hendricks4b6be982012-11-30 13:56:31 -0800102config ARCH_X86
Patrick Georgid385ed22009-05-21 10:02:52 +0000103 bool "x86"
104 help
105 Support the x86 architecture
106
Furquan Shaikh8c8c3772014-02-19 11:35:30 -0800107config ARCH_ARM64
108 bool "ARM64"
109 help
110 Support the ARM64 architecture
111
Ionela Voinescuce22c022014-09-24 17:05:33 +0100112config ARCH_MIPS
113 bool "MIPS"
114 help
115 Support the MIPS architecture
116
Patrick Georgid385ed22009-05-21 10:02:52 +0000117endchoice
118
Patrick Georgi7f965832011-04-21 18:57:16 +0200119config MEMMAP_RAM_ONLY
120 bool "Only consider RAM entries in memory map for further processing"
121 default n
122
Jordan Crouse20c9cf12008-10-20 16:51:43 +0000123config MULTIBOOT
124 bool "Multiboot header support"
David Hendricks4b6be982012-11-30 13:56:31 -0800125 depends on ARCH_X86
Jordan Crouse20c9cf12008-10-20 16:51:43 +0000126 default y
127
128endmenu
129
Stefan Reinauer69863582008-08-08 13:45:03 +0000130menu "Standard Libraries"
131
132config LIBC
133 bool "Enable C library support"
134 default y
135
Patrick Georgi3b77b722011-07-07 15:41:53 +0200136config CURSES
137 bool "Build a curses library"
Stefan Reinauer69863582008-08-08 13:45:03 +0000138 default y
139
Patrick Georgi3b77b722011-07-07 15:41:53 +0200140choice
141 prompt "Curses implementation"
142 default PDCURSES
143 depends on CURSES
144
145config TINYCURSES
Paul Menzeldc1b3c12015-09-26 12:30:08 +0200146 bool "TinyCurses"
Patrick Georgi3b77b722011-07-07 15:41:53 +0200147 help
Paul Menzeldc1b3c12015-09-26 12:30:08 +0200148 TinyCurses was the first curses implementation for libpayload.
Patrick Georgi3b77b722011-07-07 15:41:53 +0200149 It features low memory consumption, static allocation of larger
150 data structures (so few or no memory allocation calls) and a
151 reduced feature set.
152
153config PDCURSES
154 bool "PDCurses"
Patrick Georgi3b77b722011-07-07 15:41:53 +0200155 help
156 libpayload's PDCurses port provides a full features curses
157 implementation, including libpanel, libmenu and libform (which
158 are taken from ncurses).
159 It requires more system resources, in particularily heap memory.
160
161endchoice
162
Stefan Reinauere5d30b72010-03-25 22:15:19 +0000163config CBFS
164 bool "CBFS support"
165 default y
166 help
Patrick Georgi6de1ee4a2011-07-21 15:43:14 +0200167 CBFS is the archive format of coreboot
168
169config LZMA
170 bool "LZMA decoder"
171 default y
172 help
173 LZMA decoder implementation, usable eg. by CBFS,
174 but also externally.
Julius Wernerbf273912015-06-30 10:30:30 -0700175
176config LZ4
177 bool "LZ4 decoder"
178 default y
179 help
180 Decoder implementation for the LZ4 compression algorithm.
181 Adds standalone functions (CBFS support coming soon).
Stefan Reinauer69863582008-08-08 13:45:03 +0000182endmenu
183
184menu "Console Options"
Uwe Hermann2d758b82008-03-31 15:21:24 +0000185
Gabe Black4bb07312012-10-05 11:43:39 -0700186config SKIP_CONSOLE_INIT
187 bool "Skip initializing the consoles at startup"
188 default n
189 help
190 Normally, libpayload will initialize console input/output on startup
191 before the payload itself gets control. This option disables that
192 behavior and leaves console initialization up to the payload.
193
Gabe Blacka54b6a62012-09-29 00:21:27 -0700194config CBMEM_CONSOLE
195 bool "Send output to the in memory CBMEM console"
196 default y
197
Jordan Crousef6145c32008-03-19 23:56:58 +0000198config SERIAL_CONSOLE
Uwe Hermann2d758b82008-03-31 15:21:24 +0000199 bool "See output on the serial port console"
200 default y
Jordan Crousef6145c32008-03-19 23:56:58 +0000201
Gabe Black9135cb42013-09-26 16:13:08 -0700202config 8250_SERIAL_CONSOLE
Alexandru Gagniuc4d5317e2015-11-23 16:18:12 -0800203 bool "8250-compatible serial port driver (including IO and MMIO)"
Gabe Black9135cb42013-09-26 16:13:08 -0700204 depends on SERIAL_CONSOLE
Alexandru Gagniuc4d5317e2015-11-23 16:18:12 -0800205 default y
Ronald G. Minnich7b694542013-02-15 08:13:29 -0800206
Gabe Blacka6aecc42014-04-10 01:07:28 -0700207config S5P_SERIAL_CONSOLE
208 bool "Exynos SOC, S5P compatible serial port driver"
209 depends on SERIAL_CONSOLE
210 default n
211
Vadim Bendebury897123a2014-05-27 18:28:59 -0700212config IPQ806X_SERIAL_CONSOLE
213 bool "IPQ806x SOC compatible serial port driver"
214 depends on SERIAL_CONSOLE
215 default n
216
Daisuke Nojirif8c87032014-10-09 09:56:43 -0700217config BG4CD_SERIAL_CONSOLE
218 bool "Serial port driver for Marvell's BG4CD"
219 depends on SERIAL_CONSOLE
220 default n
221
Marcelo Povoa558e9b52014-02-18 14:17:38 -0800222config PL011_SERIAL_CONSOLE
223 bool "PL011 compatible serial port driver"
224 depends on 8250_SERIAL_CONSOLE
225 default n
226
Jordan Crousef6145c32008-03-19 23:56:58 +0000227config SERIAL_IOBASE
Gabe Black9135cb42013-09-26 16:13:08 -0700228 ## This default is currently not used on non-x86 systems.
229 hex "Default I/O base for the serial port (default 0x3f8)"
230 depends on SERIAL_CONSOLE && ARCH_X86
Uwe Hermann2d758b82008-03-31 15:21:24 +0000231 default 0x3f8
232
Jordan Crousef6145c32008-03-19 23:56:58 +0000233config SERIAL_SET_SPEED
234 bool "Override the serial console baud rate"
235 default n
Uwe Hermannfad8c2b2008-04-11 18:01:50 +0000236 depends on SERIAL_CONSOLE
Jordan Crousef6145c32008-03-19 23:56:58 +0000237
238config SERIAL_BAUD_RATE
239 int "Serial console baud rate (default 115200)"
Uwe Hermannfad8c2b2008-04-11 18:01:50 +0000240 depends on SERIAL_SET_SPEED
Jordan Crousef6145c32008-03-19 23:56:58 +0000241 default 115200
242
Ulf Jordan2aea11f2008-08-18 19:29:41 +0000243config SERIAL_ACS_FALLBACK
244 bool "Use plain ASCII characters for ACS"
245 default n
246 depends on SERIAL_CONSOLE
247 help
248 The alternate character set (ACS) is used for drawing lines and
249 displaying a couple of other special graphics characters. The
250 ACS characters generally look good on screen, but can be difficult
251 to cut and paste from a terminal window to a text editor.
Stefan Reinauer14e22772010-04-27 06:56:47 +0000252
Ulf Jordan2aea11f2008-08-18 19:29:41 +0000253 Say 'y' here if you want to always use plain ASCII characters to
Stefan Reinauer14e22772010-04-27 06:56:47 +0000254 approximate the appearance of ACS characters on the serial port
Ulf Jordan2aea11f2008-08-18 19:29:41 +0000255 console.
256
Jordan Crouse30939bd2008-04-10 22:49:02 +0000257config VIDEO_CONSOLE
258 bool "See output on a video console"
259 default y
260
261config VGA_VIDEO_CONSOLE
262 bool "VGA video console driver"
Stefan Reinauer8af0d032012-12-14 13:05:21 -0800263 depends on ARCH_X86 && VIDEO_CONSOLE
Uwe Hermann2d758b82008-03-31 15:21:24 +0000264 default y
Jordan Crousef6145c32008-03-19 23:56:58 +0000265
Peter Stuge4b1971c2008-10-08 14:47:41 +0000266config GEODELX_VIDEO_CONSOLE
267 bool "Geode LX video console driver"
Stefan Reinauer8af0d032012-12-14 13:05:21 -0800268 depends on ARCH_X86 && VIDEO_CONSOLE
Jordan Crouse54315532008-04-11 15:48:21 +0000269 default n
270
Stefan Reinauerb7002542010-03-25 18:56:26 +0000271config COREBOOT_VIDEO_CONSOLE
272 bool "coreboot video console driver"
273 depends on VIDEO_CONSOLE && !GEODELX_VIDEO_CONSOLE
274 default n
275 help
276 Say Y here if coreboot switched to a graphics mode and
277 your payload wants to use it.
278
Jordan Crousef6145c32008-03-19 23:56:58 +0000279config PC_KEYBOARD
Uwe Hermann2d758b82008-03-31 15:21:24 +0000280 bool "Allow input from a PC keyboard"
Marc Jones019bacb42014-12-23 15:22:30 -0700281 default y if ARCH_X86 # uses IO
282 default n
Jordan Crousef6145c32008-03-19 23:56:58 +0000283
Stefan Reinauerd84ef1e2008-09-26 18:37:26 +0000284config PC_KEYBOARD_LAYOUT_US
285 bool "English (US) keyboard layout"
286 depends on PC_KEYBOARD
287 default y
288
289config PC_KEYBOARD_LAYOUT_DE
290 bool "German keyboard layout"
291 depends on PC_KEYBOARD
292 default n
293
Stefan Reinauer69863582008-08-08 13:45:03 +0000294endmenu
295
296menu "Drivers"
297
298config PCI
299 bool "Support for PCI devices"
Stefan Reinauer8af0d032012-12-14 13:05:21 -0800300 depends on ARCH_X86 # for now
Stefan Reinauer69863582008-08-08 13:45:03 +0000301 default y
302
Uwe Hermannc16d24e2008-03-31 15:17:39 +0000303config NVRAM
Uwe Hermann2d758b82008-03-31 15:21:24 +0000304 bool "Support for reading/writing NVRAM bytes"
Stefan Reinauer8af0d032012-12-14 13:05:21 -0800305 depends on ARCH_X86 # for now
Uwe Hermann2d758b82008-03-31 15:21:24 +0000306 default y
Uwe Hermann8cc38d22008-03-27 23:26:40 +0000307
Uwe Hermann30d789b2008-03-31 20:21:49 +0000308config RTC_PORT_EXTENDED_VIA
309 bool "Extended RTC ports are 0x74/0x75"
310 default n
311 help
312 For recent chipsets with 256 NVRAM bytes, you have to access the
313 upper 128 bytes (128-255) using two different I/O ports,
314 usually 0x72/0x73.
Stefan Reinauer14e22772010-04-27 06:56:47 +0000315
Uwe Hermann30d789b2008-03-31 20:21:49 +0000316 On some chipsets this can be a different set of ports, though.
317 The VIA VT8237R for example only recognizes the ports 0x74/0x75
318 for accessing the high 128 NVRAM bytes (as seems to be the case for
319 multiple VIA chipsets).
Stefan Reinauer14e22772010-04-27 06:56:47 +0000320
Uwe Hermann30d789b2008-03-31 20:21:49 +0000321 If you want to read or write CMOS bytes on computers with one of
322 these chipsets, say 'y' here.
323
Stefan Reinauer69863582008-08-08 13:45:03 +0000324config SPEAKER
325 bool "Support for PC speaker"
Stefan Reinauer8af0d032012-12-14 13:05:21 -0800326 depends on ARCH_X86
Uwe Hermann2d758b82008-03-31 15:21:24 +0000327 default y
Jordan Crousef6145c32008-03-19 23:56:58 +0000328
Nico Huber1f6bd942012-08-30 15:36:57 +0200329config STORAGE
330 bool "Support for storage devices"
331 default y
332 help
333 Select this option if you want support for storage devices (like
334 hard drives, memory sticks or optical drives).
335
336config STORAGE_64BIT_LBA
337 bool "Use 64-bit integers to address sectors"
338 depends on STORAGE
339 default n
340 help
341 If this is selected, sectors will be addressed by an 64-bit integer.
342 Select this to support LBA-48 for ATA drives.
343
344config STORAGE_ATA
345 bool "Support ATA drives (i.e. hard drives)"
346 depends on STORAGE
347 default y
348 help
349 Select this option if you want support for ATA storage devices
350 (i.e. hard drives).
351
352config STORAGE_ATAPI
353 bool "Support ATAPI drives (i.e. optical drives)"
354 depends on STORAGE
355 default y
356 select STORAGE_ATA
357 help
358 Select this option if you want support for ATAPI storage devices
359 (i.e. optical drives like CD or DVD drives).
360
361config STORAGE_AHCI
362 bool "Support for AHCI host controllers"
363 depends on STORAGE && (STORAGE_ATA || STORAGE_ATAPI) && PCI
364 default y
365 help
366 Select this option if you want support for SATA controllers in
367 AHCI mode.
368
369config STORAGE_AHCI_ONLY_TESTED
370 bool "Only enable tested controllers"
371 depends on STORAGE_AHCI
372 default y
373 help
374 If this option is selected only AHCI controllers which are known
375 to work will be used.
376
Gabe Blackd4d29a12014-04-10 02:36:49 -0700377config TIMER_RDTSC
378 bool
379 default y
380 depends on ARCH_X86
381
382choice
383 prompt "Timer driver"
384 default TIMER_NONE
385 depends on !ARCH_X86
386
387config TIMER_NONE
388 bool "None"
389 help
390 The timer driver is provided by the payload itself.
391
392config TIMER_MCT
393 bool "Exynos MCT"
394
395config TIMER_TEGRA_1US
396 bool "Tegra 1us"
397
Vadim Bendebury8ec74a32014-05-21 16:28:57 -0700398config TIMER_IPQ806X
399 bool "Timer for ipq806x platforms"
400
huang linab699842014-06-20 11:34:46 +0800401config TIMER_RK
402 bool "Timer for Rockchip"
Ionela Voinescuce22c022014-09-24 17:05:33 +0100403
404config TIMER_BG4CD
405 bool "Marvell BG4CD"
406
Daisuke Nojirie18c38e32015-02-02 13:40:22 -0800407config TIMER_CYGNUS
408 bool "Timer for Cygnus"
409
Ionela Voinescuce22c022014-09-24 17:05:33 +0100410config TIMER_IMG_PISTACHIO
411 bool "Timer for IMG Pistachio"
412
Yidi Lin7267ccb2015-02-09 16:34:44 +0800413config TIMER_MTK
414 bool "Timer for MediaTek MT8173"
415
Gabe Blackd4d29a12014-04-10 02:36:49 -0700416endchoice
417
418config TIMER_MCT_HZ
419 int "Exynos MCT frequency"
420 depends on TIMER_MCT
421 default 24000000
422
423config TIMER_MCT_ADDRESS
424 hex "Exynos MCT base address"
425 depends on TIMER_MCT
426 default 0x101c0000
427
huang linab699842014-06-20 11:34:46 +0800428config TIMER_RK_ADDRESS
429 hex "Rockchip timer base address"
430 depends on TIMER_RK
431 default 0xff810020
432
Gabe Blackd4d29a12014-04-10 02:36:49 -0700433config TIMER_TEGRA_1US_ADDRESS
434 hex "Tegra u1s timer base address"
435 depends on TIMER_TEGRA_1US
436 default 0x60005010
437
Vadim Bendebury8ec74a32014-05-21 16:28:57 -0700438config IPQ806X_TIMER_FREQ
439 int "Hardware timer frequency"
440 default 32000
441 depends on TIMER_IPQ806X
442 help
443 IPQ hardware presently provides a single timer running at 32KHz, a
444 finer granulariry timer is available but is not yet enabled.
445
446config IPQ806X_TIMER_REG
447 hex "Timer register address"
448 default 0x0200A008
449 depends on TIMER_IPQ806X
450 help
451 Address of the register to read a free running timer value.
452
Daisuke Nojiri7ab46f82015-02-18 16:41:26 -0800453config IPROC_PERIPH_GLB_TIM_REG_BASE
454 hex "Cygnus timer base address"
455 depends on TIMER_CYGNUS
456 default 0x19020200
457
Yidi Lin7267ccb2015-02-09 16:34:44 +0800458config TIMER_MTK_HZ
459 int "MediaTek GPT frequency"
460 depends on TIMER_MTK
461 default 13000000
462 help
463 Clock frequency of MediaTek General Purpose Timer.
464
465config TIMER_MTK_ADDRESS
466 hex "MTK GPT register address"
467 depends on TIMER_MTK
468 default 0x10008048
469 help
470 Address of GPT4's counter register to read the FREERUN-mode timer value.
471
Patrick Georgid21f68b2008-09-02 16:06:22 +0000472config USB
473 bool "USB Support"
474 default n
475
476config USB_UHCI
477 bool "Support for USB UHCI controllers"
Stefan Reinauer8992e532013-05-02 16:16:41 -0700478 depends on USB && ARCH_X86
Patrick Georgid21f68b2008-09-02 16:06:22 +0000479 help
480 Select this option if you are going to use USB 1.1 on an Intel based
481 system.
482
483config USB_OHCI
484 bool "Support for USB OHCI controllers"
485 depends on USB
486 help
Stefan Reinauer8992e532013-05-02 16:16:41 -0700487 Select this option if you are going to use USB 1.1 on a non-Intel based
Patrick Georgid21f68b2008-09-02 16:06:22 +0000488 system.
Patrick Georgid21f68b2008-09-02 16:06:22 +0000489
490config USB_EHCI
491 bool "Support for USB EHCI controllers"
492 depends on USB
493 help
494 Select this option if you want to use USB 2.0
Patrick Georgid21f68b2008-09-02 16:06:22 +0000495
Patrick Georgi6615ef32010-08-13 09:18:58 +0000496config USB_XHCI
497 bool "Support for USB xHCI controllers"
498 depends on USB
499 help
500 Select this option if you want to use USB 3.0
501 NOTE: This option is not (fully) implemented yet
502
Yidi Lind42ee152015-05-07 15:36:04 +0800503config USB_XHCI_MTK_QUIRK
504 bool "Support for USB xHCI controllers on MTK SoC"
505 depends on USB_XHCI
506 help
507 Select this option if you want to use USB 3.0 on MTK platform.
508
huang lin365250e2014-08-06 16:43:43 +0800509config USB_DWC2
510 bool "Support for USB DesignWare HCD controllers"
David Hendricks75daee52015-08-06 14:08:55 -0700511 depends on USB
huang lin365250e2014-08-06 16:43:43 +0800512 help
513 Select this option if you want to use DesignWare USB 2.0 host controller
514
Patrick Georgid21f68b2008-09-02 16:06:22 +0000515config USB_HID
Stefan Reinauere5d30b72010-03-25 22:15:19 +0000516 bool "Support for USB keyboards"
Patrick Georgid21f68b2008-09-02 16:06:22 +0000517 depends on USB
Stefan Reinauere5d30b72010-03-25 22:15:19 +0000518 default y
519 help
520 Select this option if you want to use devices complying to the
521 USB HID (Human Interface Device) standard. Such devices are for
522 example keyboards and mice. Currently only keyboards are supported.
523 Say Y here unless you know exactly what you are doing.
Patrick Georgid21f68b2008-09-02 16:06:22 +0000524
525config USB_HUB
Stefan Reinauere5d30b72010-03-25 22:15:19 +0000526 bool "Support for USB hubs"
Patrick Georgid21f68b2008-09-02 16:06:22 +0000527 depends on USB
Stefan Reinauere5d30b72010-03-25 22:15:19 +0000528 default y
529 help
530 Select this option if you want to compile in support for USB hubs.
531 Say Y here unless you know exactly what you are doing.
Patrick Georgid21f68b2008-09-02 16:06:22 +0000532
Jim Lin654cf9c2014-09-26 19:12:41 +0800533config USB_EHCI_HOSTPC_ROOT_HUB_TT
534 bool "Support for USB EHCI ROOT HUB that has TT"
535 depends on USB_EHCI
536 default n
537 help
538 Select this option if USB EHCI root hub supports TT (Transaction
539 Translator).
540 To support this TT feature we read port-speed from non-standard
541 register HOSTPC (offset 84h of Operational Register base).
542
Patrick Georgid21f68b2008-09-02 16:06:22 +0000543config USB_MSC
544 bool "Support for USB storage"
545 depends on USB
Stefan Reinauere5d30b72010-03-25 22:15:19 +0000546 default y
547 help
548 Select this option if you want to compile in support for USB mass
549 storage devices (USB memory sticks, hard drives, CDROM/DVD drives)
550 Say Y here unless you know exactly what you are doing.
Patrick Georgid21f68b2008-09-02 16:06:22 +0000551
Nico Huber0b78de22013-05-29 15:01:17 +0200552config USB_GEN_HUB
553 bool
Nico Huber90292652013-06-13 14:37:15 +0200554 default n if (!USB_HUB && !USB_XHCI)
555 default y if (USB_HUB || USB_XHCI)
Stefan Reinauer8992e532013-05-02 16:16:41 -0700556config USB_PCI
Julius Wernerd7c25b32013-09-04 17:20:32 -0700557 bool "Auto-scan PCI bus for USB host controllers"
558 depends on USB
Stefan Reinauer8992e532013-05-02 16:16:41 -0700559 default y if ARCH_X86
560 default n
561
Patrick Georgi1bd30502015-01-26 20:17:49 +0100562config UDC
563 bool "USB device mode support"
564 default n
565 help
566 Select this option to add support for running as
567 a USB device.
568
569config UDC_CI
570 bool "ChipIdea driver for USB device mode"
571 depends on UDC
572 default n
573 help
574 Select this option to add the driver for ChipIdea
575 USB device controller.
576
huang lin41e24992015-05-20 17:27:10 +0800577config UDC_DWC2
578 bool "Designware driver for USB device mode"
579 depends on UDC
580 default n
581 help
582 Select this option to add the driver for Designware
583 USB device controller.
584
Stefan Reinauere5d30b72010-03-25 22:15:19 +0000585endmenu
586
587menu "Debugging"
588 depends on DEVELOPER
589
590config DEBUG_MALLOC
591 bool "Debug memory allocator"
592 depends on USB
593 default n
594 help
595 Select this option if you want to debug the memory allocator. This
596 option logs all uses of the following functions:
597
598 void free(void *ptr);
599 void *malloc(size_t size);
600 void *calloc(size_t nmemb, size_t size);
601 void *realloc(void *ptr, size_t size);
602 void *memalign(size_t align, size_t size);
603
604 Say N here unless you are debugging memory allocator problems.
Patrick Georgid21f68b2008-09-02 16:06:22 +0000605
Jordan Crousef6145c32008-03-19 23:56:58 +0000606endmenu
Stefan Reinauer69863582008-08-08 13:45:03 +0000607
Gabe Black0af03d22012-03-19 03:06:46 -0700608config BIG_ENDIAN
609 default n
610 bool
611
612config LITTLE_ENDIAN
613 default n
614 bool
615
Gabe Blackd2679872013-01-18 15:49:00 -0800616# Whether the target system has an IO address space.
617config IO_ADDRESS_SPACE
618 default n
619 bool
620
Stefan Reinauerdee44202015-06-11 14:33:11 -0700621source "arch/arm/Kconfig"
622source "arch/arm64/Kconfig"
623source "arch/mips/Kconfig"
624source "arch/x86/Kconfig"