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" |
Subrata Banik | afa3910 | 2024-05-18 12:26:40 +0000 | [diff] [blame^] | 109 | default ARCH_X86_32 |
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 | |
Subrata Banik | afa3910 | 2024-05-18 12:26:40 +0000 | [diff] [blame^] | 116 | config ARCH_X86_32 |
| 117 | bool "x86_32" |
Patrick Georgi | d385ed2 | 2009-05-21 10:02:52 +0000 | [diff] [blame] | 118 | help |
Subrata Banik | afa3910 | 2024-05-18 12:26:40 +0000 | [diff] [blame^] | 119 | Support the x86_32 architecture |
| 120 | |
| 121 | config ARCH_X86_64 |
| 122 | bool "x86_64" |
| 123 | help |
| 124 | Support the x86_64 architecture |
Patrick Georgi | d385ed2 | 2009-05-21 10:02:52 +0000 | [diff] [blame] | 125 | |
Furquan Shaikh | 8c8c377 | 2014-02-19 11:35:30 -0800 | [diff] [blame] | 126 | config ARCH_ARM64 |
| 127 | bool "ARM64" |
| 128 | help |
| 129 | Support the ARM64 architecture |
| 130 | |
Jakub Czapiga | 3d91b47 | 2021-09-15 14:52:45 +0200 | [diff] [blame] | 131 | config ARCH_MOCK |
| 132 | bool "Mock architecture (for unit tests)" |
| 133 | help |
| 134 | This enables the mock architecture (for unit tests) that is intended |
| 135 | to be used for testing purposes, to either test payloads or libpayload itself. |
| 136 | It provides necessary headers, but requires mocking (providing implementation |
| 137 | for) arch-specific functions. |
| 138 | |
Patrick Georgi | d385ed2 | 2009-05-21 10:02:52 +0000 | [diff] [blame] | 139 | endchoice |
| 140 | |
Subrata Banik | afa3910 | 2024-05-18 12:26:40 +0000 | [diff] [blame^] | 141 | config ARCH_X86 |
| 142 | bool |
| 143 | default y if ARCH_X86_32 || ARCH_X86_64 |
| 144 | help |
| 145 | Support the x86 architecture |
| 146 | |
Jordan Crouse | 20c9cf1 | 2008-10-20 16:51:43 +0000 | [diff] [blame] | 147 | config MULTIBOOT |
| 148 | bool "Multiboot header support" |
David Hendricks | 4b6be98 | 2012-11-30 13:56:31 -0800 | [diff] [blame] | 149 | depends on ARCH_X86 |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 150 | default y if !CHROMEOS |
Jordan Crouse | 20c9cf1 | 2008-10-20 16:51:43 +0000 | [diff] [blame] | 151 | |
Stefan Reinauer | 8218445 | 2016-03-12 16:18:17 -0800 | [diff] [blame] | 152 | config HEAP_SIZE |
| 153 | int "Heap size" |
| 154 | default 131072 |
| 155 | help |
| 156 | This is the heap size (malloc'able size) available |
| 157 | to the payload. |
| 158 | |
| 159 | If unsure, set to 131072 (128K) |
| 160 | |
| 161 | config STACK_SIZE |
| 162 | int "Stack size" |
| 163 | default 16384 |
| 164 | help |
| 165 | This is the stack size available to the payload. |
| 166 | |
| 167 | If unsure, set to 16384 (16K) |
| 168 | |
| 169 | config BASE_ADDRESS |
| 170 | hex "Base address" |
| 171 | default 0x04000000 if ARCH_ARM |
| 172 | default 0x80100000 if ARCH_ARM64 |
Stefan Reinauer | 8218445 | 2016-03-12 16:18:17 -0800 | [diff] [blame] | 173 | default 0x00100000 if ARCH_X86 |
Jakub Czapiga | 3d91b47 | 2021-09-15 14:52:45 +0200 | [diff] [blame] | 174 | default 0x00000000 if ARCH_MOCK |
Stefan Reinauer | 8218445 | 2016-03-12 16:18:17 -0800 | [diff] [blame] | 175 | help |
| 176 | This is the base address for the payload. |
| 177 | |
Julius Werner | f96d905 | 2019-08-16 15:35:39 -0700 | [diff] [blame] | 178 | If unsure, set to 0x00100000 on x86, |
Stefan Reinauer | 8218445 | 2016-03-12 16:18:17 -0800 | [diff] [blame] | 179 | 0x04000000 on ARM or 0x80100000 on ARM64. |
| 180 | |
Jordan Crouse | 20c9cf1 | 2008-10-20 16:51:43 +0000 | [diff] [blame] | 181 | endmenu |
| 182 | |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 183 | menu "Standard Libraries" |
| 184 | |
| 185 | config LIBC |
| 186 | bool "Enable C library support" |
| 187 | default y |
| 188 | |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 189 | config CURSES |
| 190 | bool "Build a curses library" |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 191 | default y if !CHROMEOS |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 192 | |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 193 | choice |
| 194 | prompt "Curses implementation" |
| 195 | default PDCURSES |
| 196 | depends on CURSES |
| 197 | |
| 198 | config TINYCURSES |
Paul Menzel | dc1b3c1 | 2015-09-26 12:30:08 +0200 | [diff] [blame] | 199 | bool "TinyCurses" |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 200 | help |
Paul Menzel | dc1b3c1 | 2015-09-26 12:30:08 +0200 | [diff] [blame] | 201 | TinyCurses was the first curses implementation for libpayload. |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 202 | It features low memory consumption, static allocation of larger |
| 203 | data structures (so few or no memory allocation calls) and a |
| 204 | reduced feature set. |
| 205 | |
| 206 | config PDCURSES |
| 207 | bool "PDCurses" |
Patrick Georgi | 3b77b72 | 2011-07-07 15:41:53 +0200 | [diff] [blame] | 208 | help |
| 209 | libpayload's PDCurses port provides a full features curses |
| 210 | implementation, including libpanel, libmenu and libform (which |
| 211 | are taken from ncurses). |
| 212 | It requires more system resources, in particularily heap memory. |
| 213 | |
| 214 | endchoice |
| 215 | |
Jakub Czapiga | 63e5427 | 2021-11-15 08:36:07 +0000 | [diff] [blame] | 216 | source "libcbfs/Kconfig" |
Patrick Georgi | 6de1ee4a | 2011-07-21 15:43:14 +0200 | [diff] [blame] | 217 | |
| 218 | config LZMA |
| 219 | bool "LZMA decoder" |
| 220 | default y |
| 221 | help |
| 222 | LZMA decoder implementation, usable eg. by CBFS, |
| 223 | but also externally. |
Julius Werner | bf27391 | 2015-06-30 10:30:30 -0700 | [diff] [blame] | 224 | |
| 225 | config LZ4 |
| 226 | bool "LZ4 decoder" |
| 227 | default y |
| 228 | help |
| 229 | Decoder implementation for the LZ4 compression algorithm. |
| 230 | Adds standalone functions (CBFS support coming soon). |
Jakub Czapiga | 1fa3da4 | 2021-12-06 09:01:50 +0000 | [diff] [blame] | 231 | |
| 232 | source "vboot/Kconfig" |
| 233 | |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 234 | endmenu |
| 235 | |
| 236 | menu "Console Options" |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 237 | |
Gabe Black | 4bb0731 | 2012-10-05 11:43:39 -0700 | [diff] [blame] | 238 | config SKIP_CONSOLE_INIT |
| 239 | bool "Skip initializing the consoles at startup" |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 240 | default y if CHROMEOS |
Gabe Black | 4bb0731 | 2012-10-05 11:43:39 -0700 | [diff] [blame] | 241 | default n |
| 242 | help |
| 243 | Normally, libpayload will initialize console input/output on startup |
| 244 | before the payload itself gets control. This option disables that |
| 245 | behavior and leaves console initialization up to the payload. |
| 246 | |
Gabe Black | a54b6a6 | 2012-09-29 00:21:27 -0700 | [diff] [blame] | 247 | config CBMEM_CONSOLE |
| 248 | bool "Send output to the in memory CBMEM console" |
| 249 | default y |
| 250 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 251 | config SERIAL_CONSOLE |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 252 | bool "See output on the serial port console" |
| 253 | default y |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 254 | |
Gabe Black | 9135cb4 | 2013-09-26 16:13:08 -0700 | [diff] [blame] | 255 | config 8250_SERIAL_CONSOLE |
Alexandru Gagniuc | 4d5317e | 2015-11-23 16:18:12 -0800 | [diff] [blame] | 256 | bool "8250-compatible serial port driver (including IO and MMIO)" |
Gabe Black | 9135cb4 | 2013-09-26 16:13:08 -0700 | [diff] [blame] | 257 | depends on SERIAL_CONSOLE |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 258 | default y if ARCH_X86 |
Ronald G. Minnich | 7b69454 | 2013-02-15 08:13:29 -0800 | [diff] [blame] | 259 | |
Gabe Black | a6aecc4 | 2014-04-10 01:07:28 -0700 | [diff] [blame] | 260 | config S5P_SERIAL_CONSOLE |
| 261 | bool "Exynos SOC, S5P compatible serial port driver" |
| 262 | depends on SERIAL_CONSOLE |
| 263 | default n |
| 264 | |
Vadim Bendebury | 897123a | 2014-05-27 18:28:59 -0700 | [diff] [blame] | 265 | config IPQ806X_SERIAL_CONSOLE |
| 266 | bool "IPQ806x SOC compatible serial port driver" |
| 267 | depends on SERIAL_CONSOLE |
| 268 | default n |
| 269 | |
Varadarajan Narayanan | c1ae7e9 | 2016-02-01 11:32:12 +0530 | [diff] [blame] | 270 | config IPQ40XX_SERIAL_CONSOLE |
| 271 | bool "IPQ40xx SOC compatible serial port driver" |
| 272 | depends on SERIAL_CONSOLE |
| 273 | default n |
| 274 | |
Prudhvi Yarlagadda | 1b05479 | 2019-03-22 12:38:20 +0530 | [diff] [blame] | 275 | config QCS405_SERIAL_CONSOLE |
| 276 | bool "QCS405 SOC compatible serial port driver" |
| 277 | depends on SERIAL_CONSOLE |
| 278 | default n |
| 279 | |
T Michael Turney | 45473dd | 2019-10-10 12:26:15 -0700 | [diff] [blame] | 280 | config QUALCOMM_QUPV3_SERIAL_CONSOLE |
| 281 | bool "Qualcomm QUPV3 serial port driver" |
| 282 | depends on SERIAL_CONSOLE |
| 283 | default n |
| 284 | |
Marcelo Povoa | 558e9b5 | 2014-02-18 14:17:38 -0800 | [diff] [blame] | 285 | config PL011_SERIAL_CONSOLE |
| 286 | bool "PL011 compatible serial port driver" |
| 287 | depends on 8250_SERIAL_CONSOLE |
| 288 | default n |
| 289 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 290 | config SERIAL_IOBASE |
Gabe Black | 9135cb4 | 2013-09-26 16:13:08 -0700 | [diff] [blame] | 291 | ## This default is currently not used on non-x86 systems. |
| 292 | hex "Default I/O base for the serial port (default 0x3f8)" |
| 293 | depends on SERIAL_CONSOLE && ARCH_X86 |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 294 | default 0x3f8 |
| 295 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 296 | config SERIAL_SET_SPEED |
| 297 | bool "Override the serial console baud rate" |
| 298 | default n |
Uwe Hermann | fad8c2b | 2008-04-11 18:01:50 +0000 | [diff] [blame] | 299 | depends on SERIAL_CONSOLE |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 300 | |
| 301 | config SERIAL_BAUD_RATE |
| 302 | int "Serial console baud rate (default 115200)" |
Uwe Hermann | fad8c2b | 2008-04-11 18:01:50 +0000 | [diff] [blame] | 303 | depends on SERIAL_SET_SPEED |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 304 | default 115200 |
| 305 | |
Ulf Jordan | 2aea11f | 2008-08-18 19:29:41 +0000 | [diff] [blame] | 306 | config SERIAL_ACS_FALLBACK |
| 307 | bool "Use plain ASCII characters for ACS" |
| 308 | default n |
| 309 | depends on SERIAL_CONSOLE |
| 310 | help |
| 311 | The alternate character set (ACS) is used for drawing lines and |
| 312 | displaying a couple of other special graphics characters. The |
| 313 | ACS characters generally look good on screen, but can be difficult |
| 314 | to cut and paste from a terminal window to a text editor. |
Stefan Reinauer | 14e2277 | 2010-04-27 06:56:47 +0000 | [diff] [blame] | 315 | |
Ulf Jordan | 2aea11f | 2008-08-18 19:29:41 +0000 | [diff] [blame] | 316 | 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] | 317 | approximate the appearance of ACS characters on the serial port |
Ulf Jordan | 2aea11f | 2008-08-18 19:29:41 +0000 | [diff] [blame] | 318 | console. |
| 319 | |
Jordan Crouse | 30939bd | 2008-04-10 22:49:02 +0000 | [diff] [blame] | 320 | config VIDEO_CONSOLE |
| 321 | bool "See output on a video console" |
| 322 | default y |
| 323 | |
| 324 | config VGA_VIDEO_CONSOLE |
| 325 | bool "VGA video console driver" |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 326 | depends on ARCH_X86 && VIDEO_CONSOLE |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 327 | default y if !CHROMEOS |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 328 | |
Peter Stuge | 4b1971c | 2008-10-08 14:47:41 +0000 | [diff] [blame] | 329 | config GEODELX_VIDEO_CONSOLE |
| 330 | bool "Geode LX video console driver" |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 331 | depends on ARCH_X86 && VIDEO_CONSOLE |
Jordan Crouse | 5431553 | 2008-04-11 15:48:21 +0000 | [diff] [blame] | 332 | default n |
| 333 | |
Stefan Reinauer | b700254 | 2010-03-25 18:56:26 +0000 | [diff] [blame] | 334 | config COREBOOT_VIDEO_CONSOLE |
| 335 | bool "coreboot video console driver" |
| 336 | depends on VIDEO_CONSOLE && !GEODELX_VIDEO_CONSOLE |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 337 | default y if CHROMEOS |
Stefan Reinauer | b700254 | 2010-03-25 18:56:26 +0000 | [diff] [blame] | 338 | default n |
| 339 | help |
| 340 | Say Y here if coreboot switched to a graphics mode and |
| 341 | your payload wants to use it. |
| 342 | |
Nico Huber | de74842 | 2020-01-23 13:23:09 +0100 | [diff] [blame] | 343 | config COREBOOT_VIDEO_CENTERED |
| 344 | bool "Center a classic 80x25 console on bigger screens" |
| 345 | depends on COREBOOT_VIDEO_CONSOLE |
| 346 | help |
| 347 | Say 'y' here if your payload is hardcoded to a 80x25 console. Otherwise |
| 348 | its output would look squeezed into the upper-left corner of the screen. |
| 349 | |
Paul Kocialkowski | d85e485 | 2017-07-23 16:05:47 +0300 | [diff] [blame] | 350 | config FONT_SCALE_FACTOR |
| 351 | int "Scale factor for the included font" |
| 352 | depends on GEODELX_VIDEO_CONSOLE || COREBOOT_VIDEO_CONSOLE |
| 353 | default 0 |
| 354 | help |
| 355 | By default (value of 0), the scale factor is automatically |
| 356 | calculated to ensure at least 130 columns (when possible). |
| 357 | |
Julius Werner | 7f87812 | 2020-06-24 19:43:36 -0700 | [diff] [blame] | 358 | config CBGFX_FAST_RESAMPLE |
| 359 | bool "CBGFX: use faster (less pretty) image scaling" |
| 360 | default n |
| 361 | help |
| 362 | When payloads use the CBGFX library to draw .BMPs on the screen, |
| 363 | they will be resampled with an anti-aliasing filter to scale to the |
| 364 | requested output size. The default implementation should normally be |
| 365 | fast enough, but if desired this option can make it about 50-100% |
| 366 | faster at the cost of quality. (It changes the 'a' parameter in the |
| 367 | Lanczos resampling algorithm from 3 to 2.) |
| 368 | |
| 369 | Only affects .BMPs that aren't already provided at the right size. |
| 370 | |
Patrick Rudolph | e6a3821 | 2017-03-01 19:07:37 +0100 | [diff] [blame] | 371 | config PC_I8042 |
| 372 | bool "A common PC i8042 driver" |
Patrick Rudolph | 5afc293 | 2017-02-06 15:26:58 +0100 | [diff] [blame] | 373 | default y if PC_KEYBOARD || PC_MOUSE |
Patrick Rudolph | e6a3821 | 2017-03-01 19:07:37 +0100 | [diff] [blame] | 374 | default n |
| 375 | help |
| 376 | To be used by PC_KEYBOARD and PC_MOUSE. |
| 377 | |
Patrick Rudolph | 5afc293 | 2017-02-06 15:26:58 +0100 | [diff] [blame] | 378 | config PC_MOUSE |
| 379 | bool "Allow input from a PC mouse" |
Patrick Georgi | e8604b8 | 2018-05-17 17:57:14 +0200 | [diff] [blame] | 380 | default n if CHROMEOS |
Patrick Rudolph | 5afc293 | 2017-02-06 15:26:58 +0100 | [diff] [blame] | 381 | default y if ARCH_X86 # uses IO |
| 382 | default n |
| 383 | help |
| 384 | PS/2 mouse driver on top of PC_I8042. |
| 385 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 386 | config PC_KEYBOARD |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 387 | bool "Allow input from a PC keyboard" |
Marc Jones | 019bacb4 | 2014-12-23 15:22:30 -0700 | [diff] [blame] | 388 | default y if ARCH_X86 # uses IO |
| 389 | default n |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 390 | |
Stefan Reinauer | d84ef1e | 2008-09-26 18:37:26 +0000 | [diff] [blame] | 391 | config PC_KEYBOARD_LAYOUT_US |
| 392 | bool "English (US) keyboard layout" |
| 393 | depends on PC_KEYBOARD |
| 394 | default y |
| 395 | |
| 396 | config PC_KEYBOARD_LAYOUT_DE |
| 397 | bool "German keyboard layout" |
| 398 | depends on PC_KEYBOARD |
| 399 | default n |
| 400 | |
Duncan Laurie | d87bbde | 2021-04-28 09:40:26 -0700 | [diff] [blame] | 401 | config PC_KEYBOARD_TRANSLATION |
| 402 | bool "Enable or Disable translation in PC keyboard set 2 on exit" |
| 403 | depends on PC_KEYBOARD |
| 404 | default y |
| 405 | |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 406 | endmenu |
| 407 | |
| 408 | menu "Drivers" |
| 409 | |
| 410 | config PCI |
| 411 | bool "Support for PCI devices" |
Jianjun Wang | 2ad74de | 2021-07-28 16:44:43 +0800 | [diff] [blame] | 412 | default y if ARCH_X86 |
| 413 | default n |
| 414 | |
| 415 | config PCI_IO_OPS |
| 416 | bool "Support for PCI devices with port IO" |
| 417 | depends on PCI && IO_ADDRESS_SPACE |
| 418 | default y if ARCH_X86 |
| 419 | default n |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 420 | |
Jianjun Wang | 20a87c0 | 2021-07-28 16:53:43 +0800 | [diff] [blame] | 421 | config PCIE_MEDIATEK |
| 422 | bool "Support for PCIe devices on MediaTek platforms" |
| 423 | depends on PCI && !PCI_IO_OPS |
| 424 | default n |
| 425 | |
Prasad Malisetty | 857d378 | 2021-08-28 06:53:37 +0530 | [diff] [blame] | 426 | config PCIE_QCOM |
| 427 | bool "Support for PCIe devices on Qualcomm platforms" |
| 428 | depends on PCI && !PCI_IO_OPS |
| 429 | default n |
| 430 | |
Uwe Hermann | c16d24e | 2008-03-31 15:17:39 +0000 | [diff] [blame] | 431 | config NVRAM |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 432 | bool "Support for reading/writing NVRAM bytes" |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 433 | depends on ARCH_X86 # for now |
Uwe Hermann | 2d758b8 | 2008-03-31 15:21:24 +0000 | [diff] [blame] | 434 | default y |
Uwe Hermann | 8cc38d2 | 2008-03-27 23:26:40 +0000 | [diff] [blame] | 435 | |
Patrick Rudolph | 837da6a | 2017-02-06 15:02:25 +0100 | [diff] [blame] | 436 | config MOUSE_CURSOR |
| 437 | bool "Support for mouse cursor handling" |
Patrick Rudolph | 5afc293 | 2017-02-06 15:26:58 +0100 | [diff] [blame] | 438 | default y if PC_MOUSE |
Patrick Rudolph | 837da6a | 2017-02-06 15:02:25 +0100 | [diff] [blame] | 439 | default n |
| 440 | help |
| 441 | Provides a common interface for various mouse cursor drivers. |
| 442 | * Supports up to 32 buttons. |
| 443 | * Supports 3 axis mice. |
| 444 | * Applies simple cursor acceleration. |
| 445 | * Allows to set cursor acceleration and cursor speed. |
| 446 | |
Uwe Hermann | 30d789b | 2008-03-31 20:21:49 +0000 | [diff] [blame] | 447 | config RTC_PORT_EXTENDED_VIA |
| 448 | bool "Extended RTC ports are 0x74/0x75" |
| 449 | default n |
| 450 | help |
| 451 | For recent chipsets with 256 NVRAM bytes, you have to access the |
| 452 | upper 128 bytes (128-255) using two different I/O ports, |
| 453 | usually 0x72/0x73. |
Stefan Reinauer | 14e2277 | 2010-04-27 06:56:47 +0000 | [diff] [blame] | 454 | |
Uwe Hermann | 30d789b | 2008-03-31 20:21:49 +0000 | [diff] [blame] | 455 | On some chipsets this can be a different set of ports, though. |
| 456 | The VIA VT8237R for example only recognizes the ports 0x74/0x75 |
| 457 | for accessing the high 128 NVRAM bytes (as seems to be the case for |
| 458 | multiple VIA chipsets). |
Stefan Reinauer | 14e2277 | 2010-04-27 06:56:47 +0000 | [diff] [blame] | 459 | |
Uwe Hermann | 30d789b | 2008-03-31 20:21:49 +0000 | [diff] [blame] | 460 | If you want to read or write CMOS bytes on computers with one of |
| 461 | these chipsets, say 'y' here. |
| 462 | |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 463 | config SPEAKER |
| 464 | bool "Support for PC speaker" |
Stefan Reinauer | 8af0d03 | 2012-12-14 13:05:21 -0800 | [diff] [blame] | 465 | depends on ARCH_X86 |
Julius Werner | 58caa8b | 2016-05-16 16:37:56 -0700 | [diff] [blame] | 466 | default y if !CHROMEOS |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 467 | |
Antonello Dettori | aded214 | 2016-07-27 12:41:04 +0200 | [diff] [blame] | 468 | source "drivers/timer/Kconfig" |
| 469 | source "drivers/storage/Kconfig" |
| 470 | source "drivers/usb/Kconfig" |
huang lin | 41e2499 | 2015-05-20 17:27:10 +0800 | [diff] [blame] | 471 | |
Stefan Reinauer | e5d30b7 | 2010-03-25 22:15:19 +0000 | [diff] [blame] | 472 | endmenu |
| 473 | |
| 474 | menu "Debugging" |
| 475 | depends on DEVELOPER |
| 476 | |
| 477 | config DEBUG_MALLOC |
| 478 | bool "Debug memory allocator" |
Stefan Reinauer | e5d30b7 | 2010-03-25 22:15:19 +0000 | [diff] [blame] | 479 | default n |
| 480 | help |
| 481 | Select this option if you want to debug the memory allocator. This |
| 482 | option logs all uses of the following functions: |
| 483 | |
| 484 | void free(void *ptr); |
| 485 | void *malloc(size_t size); |
| 486 | void *calloc(size_t nmemb, size_t size); |
| 487 | void *realloc(void *ptr, size_t size); |
| 488 | void *memalign(size_t align, size_t size); |
| 489 | |
| 490 | Say N here unless you are debugging memory allocator problems. |
Patrick Georgi | d21f68b | 2008-09-02 16:06:22 +0000 | [diff] [blame] | 491 | |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 492 | endmenu |
Stefan Reinauer | 6986358 | 2008-08-08 13:45:03 +0000 | [diff] [blame] | 493 | |
Gabe Black | 0af03d2 | 2012-03-19 03:06:46 -0700 | [diff] [blame] | 494 | config BIG_ENDIAN |
| 495 | default n |
| 496 | bool |
| 497 | |
| 498 | config LITTLE_ENDIAN |
| 499 | default n |
| 500 | bool |
| 501 | |
Gabe Black | d267987 | 2013-01-18 15:49:00 -0800 | [diff] [blame] | 502 | config IO_ADDRESS_SPACE |
| 503 | default n |
| 504 | bool |
Stefan Reinauer | 347a752 | 2016-03-12 11:48:44 -0800 | [diff] [blame] | 505 | help |
| 506 | This option is turned on if the target system has a separate |
| 507 | IO address space. This is typically only the case on x86. |
Gabe Black | d267987 | 2013-01-18 15:49:00 -0800 | [diff] [blame] | 508 | |
Stefan Reinauer | dee4420 | 2015-06-11 14:33:11 -0700 | [diff] [blame] | 509 | source "arch/arm/Kconfig" |
| 510 | source "arch/arm64/Kconfig" |
Stefan Reinauer | dee4420 | 2015-06-11 14:33:11 -0700 | [diff] [blame] | 511 | source "arch/x86/Kconfig" |
Jakub Czapiga | 3d91b47 | 2021-09-15 14:52:45 +0200 | [diff] [blame] | 512 | source "arch/mock/Kconfig" |