Martin Roth | 969b700 | 2024-02-16 10:29:01 -0700 | [diff] [blame] | 1 | ## SPDX-License-Identifier: GPL-2.0-only |
| 2 | |
Uwe Hermann | 661e380 | 2008-03-21 18:37:23 +0000 | [diff] [blame] | 3 | ## |
Uwe Hermann | 661e380 | 2008-03-21 18:37:23 +0000 | [diff] [blame] | 4 | ## |
| 5 | ## Copyright (C) 2008 Advanced Micro Devices, Inc. |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 6 | ## Copyright (C) 2008 coresystems GmbH |
Uwe Hermann | 661e380 | 2008-03-21 18:37:23 +0000 | [diff] [blame] | 7 | ## |
| 8 | ## Redistribution and use in source and binary forms, with or without |
| 9 | ## modification, are permitted provided that the following conditions |
| 10 | ## are met: |
| 11 | ## 1. Redistributions of source code must retain the above copyright |
| 12 | ## notice, this list of conditions and the following disclaimer. |
| 13 | ## 2. Redistributions in binary form must reproduce the above copyright |
| 14 | ## notice, this list of conditions and the following disclaimer in the |
| 15 | ## documentation and/or other materials provided with the distribution. |
| 16 | ## 3. The name of the author may not be used to endorse or promote products |
| 17 | ## derived from this software without specific prior written permission. |
| 18 | ## |
| 19 | ## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND |
| 20 | ## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| 21 | ## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| 22 | ## ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE |
| 23 | ## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| 24 | ## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
| 25 | ## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| 26 | ## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
| 27 | ## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
| 28 | ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| 29 | ## SUCH DAMAGE. |
| 30 | ## |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 31 | |
| 32 | mainmenu "Libpayload Configuration" |
| 33 | |
Stefan Reinauer | e5d30b7 | 2010-03-25 22:15:19 +0000 | [diff] [blame] | 34 | menu "Generic Options" |
| 35 | |
Julius Werner | 22adcd6 | 2014-06-11 14:16:35 -0700 | [diff] [blame] | 36 | config GPL |
| 37 | bool "GPLv2-licensed Options" |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 38 | default y if CHROMEOS |
Julius Werner | 22adcd6 | 2014-06-11 14:16:35 -0700 | [diff] [blame] | 39 | default n |
| 40 | help |
| 41 | Prompt for options that will build code licensed under the GNU General |
| 42 | Public License (version 2). This will subject the whole payload to the |
| 43 | terms of this license (including its provision to release all sources, |
| 44 | please see the LICENSE_GPL file for details). |
| 45 | |
Stefan Reinauer | e5d30b7 | 2010-03-25 22:15:19 +0000 | [diff] [blame] | 46 | config EXPERIMENTAL |
| 47 | bool "Experimental Options" |
| 48 | default n |
| 49 | help |
| 50 | Prompt for experimental functionality. Attention: This is not likely |
| 51 | to work without problems |
| 52 | |
Stefan Reinauer | e5d30b7 | 2010-03-25 22:15:19 +0000 | [diff] [blame] | 53 | config DEVELOPER |
| 54 | bool "Developer Options" |
| 55 | default n |
| 56 | help |
| 57 | Prompt for developer options. These options are only interesting for |
| 58 | libpayload developers. |
| 59 | |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 60 | config CHROMEOS |
Jon Murphy | c4e9045 | 2022-06-28 10:36:23 -0600 | [diff] [blame] | 61 | bool "ChromeOS Options" |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 62 | default n |
| 63 | help |
Jon Murphy | c4e9045 | 2022-06-28 10:36:23 -0600 | [diff] [blame] | 64 | Select configuration defaults appropriate for ChromeOS boards. |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 65 | |
Patrick Georgi | b7d8f26 | 2015-07-06 09:04:42 +0000 | [diff] [blame] | 66 | choice |
| 67 | prompt "Compiler to use" |
| 68 | default COMPILER_GCC |
| 69 | help |
| 70 | This option allows you to select the compiler. |
| 71 | |
| 72 | config COMPILER_GCC |
| 73 | bool "GCC" |
| 74 | help |
| 75 | Use the GNU Compiler Collection (GCC). |
| 76 | |
| 77 | config COMPILER_LLVM_CLANG |
| 78 | bool "LLVM/clang" |
| 79 | help |
| 80 | Use LLVM/clang. |
| 81 | |
| 82 | endchoice |
| 83 | |
Jacob Garber | 04540f1 | 2019-10-02 18:55:07 -0600 | [diff] [blame] | 84 | config LTO |
| 85 | bool "Use link time optimization (LTO)" |
| 86 | default n |
| 87 | depends on COMPILER_GCC |
| 88 | help |
| 89 | Compile with link time optimization. This can often decrease the |
| 90 | final binary size, but may increase compilation time. |
| 91 | |
Julius Werner | 50a8174 | 2014-05-15 11:57:38 -0700 | [diff] [blame] | 92 | config REMOTEGDB |
| 93 | bool "Remote GDB stub" |
| 94 | default n |
| 95 | depends on GPL |
| 96 | help |
| 97 | Enable Remote GDB debugging support. |
| 98 | |
Stefan Reinauer | 1e6b86b | 2016-03-12 12:14:46 -0800 | [diff] [blame] | 99 | config MEMMAP_RAM_ONLY |
| 100 | bool "Only consider RAM entries in memory map for further processing" |
| 101 | default n |
| 102 | |
Stefan Reinauer | e5d30b7 | 2010-03-25 22:15:19 +0000 | [diff] [blame] | 103 | endmenu |
| 104 | |
Jordan Crouse | 20c9cf1 | 2008-10-20 16:51:43 +0000 | [diff] [blame] | 105 | menu "Architecture Options" |
| 106 | |
Patrick Georgi | d385ed2 | 2009-05-21 10:02:52 +0000 | [diff] [blame] | 107 | choice |
| 108 | prompt "Target Architecture" |
David Hendricks | 4b6be98 | 2012-11-30 13:56:31 -0800 | [diff] [blame] | 109 | default ARCH_X86 |
Patrick Georgi | d385ed2 | 2009-05-21 10:02:52 +0000 | [diff] [blame] | 110 | |
Gabe Black | 51edd54 | 2013-09-30 23:00:33 -0700 | [diff] [blame] | 111 | config ARCH_ARM |
| 112 | bool "ARM" |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 113 | help |
Gabe Black | 51edd54 | 2013-09-30 23:00:33 -0700 | [diff] [blame] | 114 | Support the ARM architecture |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 115 | |
David Hendricks | 4b6be98 | 2012-11-30 13:56:31 -0800 | [diff] [blame] | 116 | config ARCH_X86 |
Patrick Georgi | d385ed2 | 2009-05-21 10:02:52 +0000 | [diff] [blame] | 117 | bool "x86" |
| 118 | help |
| 119 | Support the x86 architecture |
| 120 | |
Furquan Shaikh | 8c8c377 | 2014-02-19 11:35:30 -0800 | [diff] [blame] | 121 | config ARCH_ARM64 |
| 122 | bool "ARM64" |
| 123 | help |
| 124 | Support the ARM64 architecture |
| 125 | |
Jakub Czapiga | 3d91b47 | 2021-09-15 14:52:45 +0200 | [diff] [blame] | 126 | config ARCH_MOCK |
| 127 | bool "Mock architecture (for unit tests)" |
| 128 | help |
| 129 | This enables the mock architecture (for unit tests) that is intended |
| 130 | to be used for testing purposes, to either test payloads or libpayload itself. |
| 131 | It provides necessary headers, but requires mocking (providing implementation |
| 132 | for) arch-specific functions. |
| 133 | |
Patrick Georgi | d385ed2 | 2009-05-21 10:02:52 +0000 | [diff] [blame] | 134 | endchoice |
| 135 | |
Jordan Crouse | 20c9cf1 | 2008-10-20 16:51:43 +0000 | [diff] [blame] | 136 | config MULTIBOOT |
| 137 | bool "Multiboot header support" |
David Hendricks | 4b6be98 | 2012-11-30 13:56:31 -0800 | [diff] [blame] | 138 | depends on ARCH_X86 |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 139 | default y if !CHROMEOS |
Jordan Crouse | 20c9cf1 | 2008-10-20 16:51:43 +0000 | [diff] [blame] | 140 | |
Stefan Reinauer | 8218445 | 2016-03-12 16:18:17 -0800 | [diff] [blame] | 141 | config HEAP_SIZE |
| 142 | int "Heap size" |
| 143 | default 131072 |
| 144 | help |
| 145 | This is the heap size (malloc'able size) available |
| 146 | to the payload. |
| 147 | |
| 148 | If unsure, set to 131072 (128K) |
| 149 | |
| 150 | config STACK_SIZE |
| 151 | int "Stack size" |
| 152 | default 16384 |
| 153 | help |
| 154 | This is the stack size available to the payload. |
| 155 | |
| 156 | If unsure, set to 16384 (16K) |
| 157 | |
| 158 | config BASE_ADDRESS |
| 159 | hex "Base address" |
| 160 | default 0x04000000 if ARCH_ARM |
| 161 | default 0x80100000 if ARCH_ARM64 |
Stefan Reinauer | 8218445 | 2016-03-12 16:18:17 -0800 | [diff] [blame] | 162 | default 0x00100000 if ARCH_X86 |
Jakub Czapiga | 3d91b47 | 2021-09-15 14:52:45 +0200 | [diff] [blame] | 163 | default 0x00000000 if ARCH_MOCK |
Stefan Reinauer | 8218445 | 2016-03-12 16:18:17 -0800 | [diff] [blame] | 164 | help |
| 165 | This is the base address for the payload. |
| 166 | |
Julius Werner | f96d905 | 2019-08-16 15:35:39 -0700 | [diff] [blame] | 167 | If unsure, set to 0x00100000 on x86, |
Stefan Reinauer | 8218445 | 2016-03-12 16:18:17 -0800 | [diff] [blame] | 168 | 0x04000000 on ARM or 0x80100000 on ARM64. |
| 169 | |
Jordan Crouse | 20c9cf1 | 2008-10-20 16:51:43 +0000 | [diff] [blame] | 170 | endmenu |
| 171 | |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 172 | menu "Standard Libraries" |
| 173 | |
| 174 | config LIBC |
| 175 | bool "Enable C library support" |
| 176 | default y |
| 177 | |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 178 | config CURSES |
| 179 | bool "Build a curses library" |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 180 | default y if !CHROMEOS |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 181 | |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 182 | choice |
| 183 | prompt "Curses implementation" |
| 184 | default PDCURSES |
| 185 | depends on CURSES |
| 186 | |
| 187 | config TINYCURSES |
Paul Menzel | dc1b3c1 | 2015-09-26 12:30:08 +0200 | [diff] [blame] | 188 | bool "TinyCurses" |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 189 | help |
Paul Menzel | dc1b3c1 | 2015-09-26 12:30:08 +0200 | [diff] [blame] | 190 | TinyCurses was the first curses implementation for libpayload. |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 191 | It features low memory consumption, static allocation of larger |
| 192 | data structures (so few or no memory allocation calls) and a |
| 193 | reduced feature set. |
| 194 | |
| 195 | config PDCURSES |
| 196 | bool "PDCurses" |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 197 | help |
| 198 | libpayload's PDCurses port provides a full features curses |
| 199 | implementation, including libpanel, libmenu and libform (which |
| 200 | are taken from ncurses). |
| 201 | It requires more system resources, in particularily heap memory. |
| 202 | |
| 203 | endchoice |
| 204 | |
Jakub Czapiga | 63e5427 | 2021-11-15 08:36:07 +0000 | [diff] [blame] | 205 | source "libcbfs/Kconfig" |
Patrick Georgi | 6de1ee4a | 2011-07-21 15:43:14 +0200 | [diff] [blame] | 206 | |
| 207 | config LZMA |
| 208 | bool "LZMA decoder" |
| 209 | default y |
| 210 | help |
| 211 | LZMA decoder implementation, usable eg. by CBFS, |
| 212 | but also externally. |
Julius Werner | bf27391 | 2015-06-30 10:30:30 -0700 | [diff] [blame] | 213 | |
| 214 | config LZ4 |
| 215 | bool "LZ4 decoder" |
| 216 | default y |
| 217 | help |
| 218 | Decoder implementation for the LZ4 compression algorithm. |
| 219 | Adds standalone functions (CBFS support coming soon). |
Jakub Czapiga | 1fa3da4 | 2021-12-06 09:01:50 +0000 | [diff] [blame] | 220 | |
| 221 | source "vboot/Kconfig" |
| 222 | |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 223 | endmenu |
| 224 | |
| 225 | menu "Console Options" |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 226 | |
Gabe Black | 4bb0731 | 2012-10-05 11:43:39 -0700 | [diff] [blame] | 227 | config SKIP_CONSOLE_INIT |
| 228 | bool "Skip initializing the consoles at startup" |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 229 | default y if CHROMEOS |
Gabe Black | 4bb0731 | 2012-10-05 11:43:39 -0700 | [diff] [blame] | 230 | default n |
| 231 | help |
| 232 | Normally, libpayload will initialize console input/output on startup |
| 233 | before the payload itself gets control. This option disables that |
| 234 | behavior and leaves console initialization up to the payload. |
| 235 | |
Gabe Black | a54b6a6 | 2012-09-29 00:21:27 -0700 | [diff] [blame] | 236 | config CBMEM_CONSOLE |
| 237 | bool "Send output to the in memory CBMEM console" |
| 238 | default y |
| 239 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 240 | config SERIAL_CONSOLE |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 241 | bool "See output on the serial port console" |
| 242 | default y |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 243 | |
Gabe Black | 9135cb4 | 2013-09-26 16:13:08 -0700 | [diff] [blame] | 244 | config 8250_SERIAL_CONSOLE |
Alexandru Gagniuc | 4d5317e | 2015-11-23 16:18:12 -0800 | [diff] [blame] | 245 | bool "8250-compatible serial port driver (including IO and MMIO)" |
Gabe Black | 9135cb4 | 2013-09-26 16:13:08 -0700 | [diff] [blame] | 246 | depends on SERIAL_CONSOLE |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 247 | default y if ARCH_X86 |
Ronald G. Minnich | 7b69454 | 2013-02-15 08:13:29 -0800 | [diff] [blame] | 248 | |
Gabe Black | a6aecc4 | 2014-04-10 01:07:28 -0700 | [diff] [blame] | 249 | config S5P_SERIAL_CONSOLE |
| 250 | bool "Exynos SOC, S5P compatible serial port driver" |
| 251 | depends on SERIAL_CONSOLE |
| 252 | default n |
| 253 | |
Vadim Bendebury | 897123a | 2014-05-27 18:28:59 -0700 | [diff] [blame] | 254 | config IPQ806X_SERIAL_CONSOLE |
| 255 | bool "IPQ806x SOC compatible serial port driver" |
| 256 | depends on SERIAL_CONSOLE |
| 257 | default n |
| 258 | |
Varadarajan Narayanan | c1ae7e9 | 2016-02-01 11:32:12 +0530 | [diff] [blame] | 259 | config IPQ40XX_SERIAL_CONSOLE |
| 260 | bool "IPQ40xx SOC compatible serial port driver" |
| 261 | depends on SERIAL_CONSOLE |
| 262 | default n |
| 263 | |
Prudhvi Yarlagadda | 1b05479 | 2019-03-22 12:38:20 +0530 | [diff] [blame] | 264 | config QCS405_SERIAL_CONSOLE |
| 265 | bool "QCS405 SOC compatible serial port driver" |
| 266 | depends on SERIAL_CONSOLE |
| 267 | default n |
| 268 | |
T Michael Turney | 45473dd | 2019-10-10 12:26:15 -0700 | [diff] [blame] | 269 | config QUALCOMM_QUPV3_SERIAL_CONSOLE |
| 270 | bool "Qualcomm QUPV3 serial port driver" |
| 271 | depends on SERIAL_CONSOLE |
| 272 | default n |
| 273 | |
Marcelo Povoa | 558e9b5 | 2014-02-18 14:17:38 -0800 | [diff] [blame] | 274 | config PL011_SERIAL_CONSOLE |
| 275 | bool "PL011 compatible serial port driver" |
| 276 | depends on 8250_SERIAL_CONSOLE |
| 277 | default n |
| 278 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 279 | config SERIAL_IOBASE |
Gabe Black | 9135cb4 | 2013-09-26 16:13:08 -0700 | [diff] [blame] | 280 | ## This default is currently not used on non-x86 systems. |
| 281 | hex "Default I/O base for the serial port (default 0x3f8)" |
| 282 | depends on SERIAL_CONSOLE && ARCH_X86 |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 283 | default 0x3f8 |
| 284 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 285 | config SERIAL_SET_SPEED |
| 286 | bool "Override the serial console baud rate" |
| 287 | default n |
Uwe Hermann | fad8c2b | 2008-04-11 18:01:50 +0000 | [diff] [blame] | 288 | depends on SERIAL_CONSOLE |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 289 | |
| 290 | config SERIAL_BAUD_RATE |
| 291 | int "Serial console baud rate (default 115200)" |
Uwe Hermann | fad8c2b | 2008-04-11 18:01:50 +0000 | [diff] [blame] | 292 | depends on SERIAL_SET_SPEED |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 293 | default 115200 |
| 294 | |
Ulf Jordan | 2aea11f | 2008-08-18 19:29:41 +0000 | [diff] [blame] | 295 | config SERIAL_ACS_FALLBACK |
| 296 | bool "Use plain ASCII characters for ACS" |
| 297 | default n |
| 298 | depends on SERIAL_CONSOLE |
| 299 | help |
| 300 | The alternate character set (ACS) is used for drawing lines and |
| 301 | displaying a couple of other special graphics characters. The |
| 302 | ACS characters generally look good on screen, but can be difficult |
| 303 | to cut and paste from a terminal window to a text editor. |
Stefan Reinauer | 14e2277 | 2010-04-27 06:56:47 +0000 | [diff] [blame] | 304 | |
Ulf Jordan | 2aea11f | 2008-08-18 19:29:41 +0000 | [diff] [blame] | 305 | Say 'y' here if you want to always use plain ASCII characters to |
Stefan Reinauer | 14e2277 | 2010-04-27 06:56:47 +0000 | [diff] [blame] | 306 | approximate the appearance of ACS characters on the serial port |
Ulf Jordan | 2aea11f | 2008-08-18 19:29:41 +0000 | [diff] [blame] | 307 | console. |
| 308 | |
Jordan Crouse | 30939bd | 2008-04-10 22:49:02 +0000 | [diff] [blame] | 309 | config VIDEO_CONSOLE |
| 310 | bool "See output on a video console" |
| 311 | default y |
| 312 | |
| 313 | config VGA_VIDEO_CONSOLE |
| 314 | bool "VGA video console driver" |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 315 | depends on ARCH_X86 && VIDEO_CONSOLE |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 316 | default y if !CHROMEOS |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 317 | |
Peter Stuge | 4b1971c | 2008-10-08 14:47:41 +0000 | [diff] [blame] | 318 | config GEODELX_VIDEO_CONSOLE |
| 319 | bool "Geode LX video console driver" |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 320 | depends on ARCH_X86 && VIDEO_CONSOLE |
Jordan Crouse | 5431553 | 2008-04-11 15:48:21 +0000 | [diff] [blame] | 321 | default n |
| 322 | |
Stefan Reinauer | b700254 | 2010-03-25 18:56:26 +0000 | [diff] [blame] | 323 | config COREBOOT_VIDEO_CONSOLE |
| 324 | bool "coreboot video console driver" |
| 325 | depends on VIDEO_CONSOLE && !GEODELX_VIDEO_CONSOLE |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 326 | default y if CHROMEOS |
Stefan Reinauer | b700254 | 2010-03-25 18:56:26 +0000 | [diff] [blame] | 327 | default n |
| 328 | help |
| 329 | Say Y here if coreboot switched to a graphics mode and |
| 330 | your payload wants to use it. |
| 331 | |
Nico Huber | de74842 | 2020-01-23 13:23:09 +0100 | [diff] [blame] | 332 | config COREBOOT_VIDEO_CENTERED |
| 333 | bool "Center a classic 80x25 console on bigger screens" |
| 334 | depends on COREBOOT_VIDEO_CONSOLE |
| 335 | help |
| 336 | Say 'y' here if your payload is hardcoded to a 80x25 console. Otherwise |
| 337 | its output would look squeezed into the upper-left corner of the screen. |
| 338 | |
Paul Kocialkowski | d85e485 | 2017-07-23 16:05:47 +0300 | [diff] [blame] | 339 | config FONT_SCALE_FACTOR |
| 340 | int "Scale factor for the included font" |
| 341 | depends on GEODELX_VIDEO_CONSOLE || COREBOOT_VIDEO_CONSOLE |
| 342 | default 0 |
| 343 | help |
| 344 | By default (value of 0), the scale factor is automatically |
| 345 | calculated to ensure at least 130 columns (when possible). |
| 346 | |
Julius Werner | 7f87812 | 2020-06-24 19:43:36 -0700 | [diff] [blame] | 347 | config CBGFX_FAST_RESAMPLE |
| 348 | bool "CBGFX: use faster (less pretty) image scaling" |
| 349 | default n |
| 350 | help |
| 351 | When payloads use the CBGFX library to draw .BMPs on the screen, |
| 352 | they will be resampled with an anti-aliasing filter to scale to the |
| 353 | requested output size. The default implementation should normally be |
| 354 | fast enough, but if desired this option can make it about 50-100% |
| 355 | faster at the cost of quality. (It changes the 'a' parameter in the |
| 356 | Lanczos resampling algorithm from 3 to 2.) |
| 357 | |
| 358 | Only affects .BMPs that aren't already provided at the right size. |
| 359 | |
Patrick Rudolph | e6a3821 | 2017-03-01 19:07:37 +0100 | [diff] [blame] | 360 | config PC_I8042 |
| 361 | bool "A common PC i8042 driver" |
Patrick Rudolph | 5afc293 | 2017-02-06 15:26:58 +0100 | [diff] [blame] | 362 | default y if PC_KEYBOARD || PC_MOUSE |
Patrick Rudolph | e6a3821 | 2017-03-01 19:07:37 +0100 | [diff] [blame] | 363 | default n |
| 364 | help |
| 365 | To be used by PC_KEYBOARD and PC_MOUSE. |
| 366 | |
Patrick Rudolph | 5afc293 | 2017-02-06 15:26:58 +0100 | [diff] [blame] | 367 | config PC_MOUSE |
| 368 | bool "Allow input from a PC mouse" |
Patrick Georgi | e8604b8 | 2018-05-17 17:57:14 +0200 | [diff] [blame] | 369 | default n if CHROMEOS |
Patrick Rudolph | 5afc293 | 2017-02-06 15:26:58 +0100 | [diff] [blame] | 370 | default y if ARCH_X86 # uses IO |
| 371 | default n |
| 372 | help |
| 373 | PS/2 mouse driver on top of PC_I8042. |
| 374 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 375 | config PC_KEYBOARD |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 376 | bool "Allow input from a PC keyboard" |
Marc Jones | 019bacb4 | 2014-12-23 15:22:30 -0700 | [diff] [blame] | 377 | default y if ARCH_X86 # uses IO |
| 378 | default n |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 379 | |
Stefan Reinauer | d84ef1e | 2008-09-26 18:37:26 +0000 | [diff] [blame] | 380 | config PC_KEYBOARD_LAYOUT_US |
| 381 | bool "English (US) keyboard layout" |
| 382 | depends on PC_KEYBOARD |
| 383 | default y |
| 384 | |
| 385 | config PC_KEYBOARD_LAYOUT_DE |
| 386 | bool "German keyboard layout" |
| 387 | depends on PC_KEYBOARD |
| 388 | default n |
| 389 | |
Duncan Laurie | d87bbde | 2021-04-28 09:40:26 -0700 | [diff] [blame] | 390 | config PC_KEYBOARD_TRANSLATION |
| 391 | bool "Enable or Disable translation in PC keyboard set 2 on exit" |
| 392 | depends on PC_KEYBOARD |
| 393 | default y |
| 394 | |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 395 | endmenu |
| 396 | |
| 397 | menu "Drivers" |
| 398 | |
| 399 | config PCI |
| 400 | bool "Support for PCI devices" |
Jianjun Wang | 2ad74de | 2021-07-28 16:44:43 +0800 | [diff] [blame] | 401 | default y if ARCH_X86 |
| 402 | default n |
| 403 | |
| 404 | config PCI_IO_OPS |
| 405 | bool "Support for PCI devices with port IO" |
| 406 | depends on PCI && IO_ADDRESS_SPACE |
| 407 | default y if ARCH_X86 |
| 408 | default n |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 409 | |
Jianjun Wang | 20a87c0 | 2021-07-28 16:53:43 +0800 | [diff] [blame] | 410 | config PCIE_MEDIATEK |
| 411 | bool "Support for PCIe devices on MediaTek platforms" |
| 412 | depends on PCI && !PCI_IO_OPS |
| 413 | default n |
| 414 | |
Prasad Malisetty | 857d378 | 2021-08-28 06:53:37 +0530 | [diff] [blame] | 415 | config PCIE_QCOM |
| 416 | bool "Support for PCIe devices on Qualcomm platforms" |
| 417 | depends on PCI && !PCI_IO_OPS |
| 418 | default n |
| 419 | |
Uwe Hermann | c16d24e | 2008-03-31 15:17:39 +0000 | [diff] [blame] | 420 | config NVRAM |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 421 | bool "Support for reading/writing NVRAM bytes" |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 422 | depends on ARCH_X86 # for now |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 423 | default y |
Uwe Hermann | 8cc38d2 | 2008-03-27 23:26:40 +0000 | [diff] [blame] | 424 | |
Patrick Rudolph | 837da6a | 2017-02-06 15:02:25 +0100 | [diff] [blame] | 425 | config MOUSE_CURSOR |
| 426 | bool "Support for mouse cursor handling" |
Patrick Rudolph | 5afc293 | 2017-02-06 15:26:58 +0100 | [diff] [blame] | 427 | default y if PC_MOUSE |
Patrick Rudolph | 837da6a | 2017-02-06 15:02:25 +0100 | [diff] [blame] | 428 | default n |
| 429 | help |
| 430 | Provides a common interface for various mouse cursor drivers. |
| 431 | * Supports up to 32 buttons. |
| 432 | * Supports 3 axis mice. |
| 433 | * Applies simple cursor acceleration. |
| 434 | * Allows to set cursor acceleration and cursor speed. |
| 435 | |
Uwe Hermann | 30d789b | 2008-03-31 20:21:49 +0000 | [diff] [blame] | 436 | config RTC_PORT_EXTENDED_VIA |
| 437 | bool "Extended RTC ports are 0x74/0x75" |
| 438 | default n |
| 439 | help |
| 440 | For recent chipsets with 256 NVRAM bytes, you have to access the |
| 441 | upper 128 bytes (128-255) using two different I/O ports, |
| 442 | usually 0x72/0x73. |
Stefan Reinauer | 14e2277 | 2010-04-27 06:56:47 +0000 | [diff] [blame] | 443 | |
Uwe Hermann | 30d789b | 2008-03-31 20:21:49 +0000 | [diff] [blame] | 444 | On some chipsets this can be a different set of ports, though. |
| 445 | The VIA VT8237R for example only recognizes the ports 0x74/0x75 |
| 446 | for accessing the high 128 NVRAM bytes (as seems to be the case for |
| 447 | multiple VIA chipsets). |
Stefan Reinauer | 14e2277 | 2010-04-27 06:56:47 +0000 | [diff] [blame] | 448 | |
Uwe Hermann | 30d789b | 2008-03-31 20:21:49 +0000 | [diff] [blame] | 449 | If you want to read or write CMOS bytes on computers with one of |
| 450 | these chipsets, say 'y' here. |
| 451 | |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 452 | config SPEAKER |
| 453 | bool "Support for PC speaker" |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 454 | depends on ARCH_X86 |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 455 | default y if !CHROMEOS |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 456 | |
Antonello Dettori | aded214 | 2016-07-27 12:41:04 +0200 | [diff] [blame] | 457 | source "drivers/timer/Kconfig" |
| 458 | source "drivers/storage/Kconfig" |
| 459 | source "drivers/usb/Kconfig" |
huang lin | 41e2499 | 2015-05-20 17:27:10 +0800 | [diff] [blame] | 460 | |
Stefan Reinauer | e5d30b7 | 2010-03-25 22:15:19 +0000 | [diff] [blame] | 461 | endmenu |
| 462 | |
| 463 | menu "Debugging" |
| 464 | depends on DEVELOPER |
| 465 | |
| 466 | config DEBUG_MALLOC |
| 467 | bool "Debug memory allocator" |
Stefan Reinauer | e5d30b7 | 2010-03-25 22:15:19 +0000 | [diff] [blame] | 468 | default n |
| 469 | help |
| 470 | Select this option if you want to debug the memory allocator. This |
| 471 | option logs all uses of the following functions: |
| 472 | |
| 473 | void free(void *ptr); |
| 474 | void *malloc(size_t size); |
| 475 | void *calloc(size_t nmemb, size_t size); |
| 476 | void *realloc(void *ptr, size_t size); |
| 477 | void *memalign(size_t align, size_t size); |
| 478 | |
| 479 | Say N here unless you are debugging memory allocator problems. |
Patrick Georgi | d21f68b | 2008-09-02 16:06:22 +0000 | [diff] [blame] | 480 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 481 | endmenu |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 482 | |
Gabe Black | 0af03d2 | 2012-03-19 03:06:46 -0700 | [diff] [blame] | 483 | config BIG_ENDIAN |
| 484 | default n |
| 485 | bool |
| 486 | |
| 487 | config LITTLE_ENDIAN |
| 488 | default n |
| 489 | bool |
| 490 | |
Gabe Black | d267987 | 2013-01-18 15:49:00 -0800 | [diff] [blame] | 491 | config IO_ADDRESS_SPACE |
| 492 | default n |
| 493 | bool |
Stefan Reinauer | 347a752 | 2016-03-12 11:48:44 -0800 | [diff] [blame] | 494 | help |
| 495 | This option is turned on if the target system has a separate |
| 496 | IO address space. This is typically only the case on x86. |
Gabe Black | d267987 | 2013-01-18 15:49:00 -0800 | [diff] [blame] | 497 | |
Stefan Reinauer | dee4420 | 2015-06-11 14:33:11 -0700 | [diff] [blame] | 498 | source "arch/arm/Kconfig" |
| 499 | source "arch/arm64/Kconfig" |
Stefan Reinauer | dee4420 | 2015-06-11 14:33:11 -0700 | [diff] [blame] | 500 | source "arch/x86/Kconfig" |
Jakub Czapiga | 3d91b47 | 2021-09-15 14:52:45 +0200 | [diff] [blame] | 501 | source "arch/mock/Kconfig" |