blob: 0a0e069499673b5cab7feb208376a19415974b03 [file] [log] [blame]
Stefan Reinauer1b342262011-01-05 02:27:53 +00001menu "Console"
Hung-Te Linad173ea2013-02-06 21:24:12 +08002
Gabe Blackfbb11cf2013-06-06 00:21:20 -07003config BOOTBLOCK_CONSOLE
4 bool "Enable early (bootblock) console output."
Paul Burton6ea3eff2014-06-14 00:04:33 +01005 depends on ARCH_ARM || ARCH_RISCV || ARCH_MIPS
Stefan Reinauerd2f45c62013-06-19 13:42:00 -07006 default n
Gabe Blackfbb11cf2013-06-06 00:21:20 -07007 help
8 Use console during the bootblock if supported
9
Kyösti Mälkki361cd812013-08-12 23:29:57 +030010config SQUELCH_EARLY_SMP
11 bool "Squelch AP CPUs from early console."
12 default y
Kyösti Mälkki361cd812013-08-12 23:29:57 +030013 help
14 When selected only the BSP CPU will output to early console.
15
16 Console drivers have unpredictable behaviour if multiple threads
17 attempt to share the same resources without a spinlock.
18
19 If unsure, say Y.
20
Hung-Te Linad173ea2013-02-06 21:24:12 +080021config CONSOLE_SERIAL
Uwe Hermannd12b7032009-10-16 22:39:55 +000022 bool "Serial port console output"
Stefan Reinauer509f7722012-12-07 17:31:37 -080023 default y
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020024 depends on DRIVERS_UART_8250IO || DRIVERS_UART_8250MEM || HAVE_UART_SPECIAL
Stefan Reinauer509f7722012-12-07 17:31:37 -080025 help
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020026 Send coreboot debug output to a serial port.
David Hendricks6a503b62012-12-31 17:28:43 -080027
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020028 The type of serial port driver selected based on your configuration is
29 shown on the following menu line. Supporting multiple different types
30 of UARTs in one build is not supported.
Stefan Reinauer4885daa2011-04-26 23:47:04 +000031
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020032if CONSOLE_SERIAL
Patrick Georgi0588d192009-08-12 15:00:51 +000033
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020034 comment "I/O mapped, 8250-compatible"
35 depends on DRIVERS_UART_8250IO
36
37 comment "memory mapped, 8250-compatible"
38 depends on DRIVERS_UART_8250MEM
39
40 comment "device-specific UART"
Hung-Te Linad173ea2013-02-06 21:24:12 +080041 depends on HAVE_UART_SPECIAL
Stefan Reinauer509f7722012-12-07 17:31:37 -080042
Kyösti Mälkki70342a72014-03-14 22:28:29 +020043config UART_FOR_CONSOLE
Kyösti Mälkkid5403772014-05-01 00:02:43 +030044 int "Index for UART port to use for console"
Kyösti Mälkki70342a72014-03-14 22:28:29 +020045 default 0
Uwe Hermannd12b7032009-10-16 22:39:55 +000046
Kyösti Mälkki70342a72014-03-14 22:28:29 +020047# FIXME: Early programming in romstage is incorrect as we should
48# program different LDN to actually change the physical port.
Uwe Hermannd12b7032009-10-16 22:39:55 +000049config TTYS0_BASE
50 hex
Gabe Black77ffa0d2013-09-30 21:25:49 -070051 depends on DRIVERS_UART
Kyösti Mälkki70342a72014-03-14 22:28:29 +020052 default 0x3f8 if UART_FOR_CONSOLE = 0
53 default 0x2f8 if UART_FOR_CONSOLE = 1
54 default 0x3e8 if UART_FOR_CONSOLE = 2
55 default 0x2e8 if UART_FOR_CONSOLE = 3
Uwe Hermannd12b7032009-10-16 22:39:55 +000056 help
Kyösti Mälkki70342a72014-03-14 22:28:29 +020057 Map the COM port number to the respective I/O port.
Uwe Hermannd12b7032009-10-16 22:39:55 +000058
59choice
Uwe Hermanna081a3b2009-10-26 23:52:34 +000060 prompt "Baud rate"
Uwe Hermannd12b7032009-10-16 22:39:55 +000061 default CONSOLE_SERIAL_115200
Uwe Hermannd12b7032009-10-16 22:39:55 +000062
63config CONSOLE_SERIAL_115200
64 bool "115200"
65 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000066 Set serial port Baud rate to 115200.
Uwe Hermannd12b7032009-10-16 22:39:55 +000067config CONSOLE_SERIAL_57600
68 bool "57600"
69 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000070 Set serial port Baud rate to 57600.
Uwe Hermannd12b7032009-10-16 22:39:55 +000071config CONSOLE_SERIAL_38400
72 bool "38400"
73 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000074 Set serial port Baud rate to 38400.
Uwe Hermannd12b7032009-10-16 22:39:55 +000075config CONSOLE_SERIAL_19200
76 bool "19200"
77 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000078 Set serial port Baud rate to 19200.
Uwe Hermannd12b7032009-10-16 22:39:55 +000079config CONSOLE_SERIAL_9600
80 bool "9600"
81 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000082 Set serial port Baud rate to 9600.
Uwe Hermannd12b7032009-10-16 22:39:55 +000083
84endchoice
Patrick Georgi0588d192009-08-12 15:00:51 +000085
Stefan Reinauer509f7722012-12-07 17:31:37 -080086#FIXME(dhendrix): Change name to SERIAL_BAUD? (Stefan sayz: yes!!)
Patrick Georgi0588d192009-08-12 15:00:51 +000087config TTYS0_BAUD
Uwe Hermannd12b7032009-10-16 22:39:55 +000088 int
89 default 115200 if CONSOLE_SERIAL_115200
90 default 57600 if CONSOLE_SERIAL_57600
91 default 38400 if CONSOLE_SERIAL_38400
92 default 19200 if CONSOLE_SERIAL_19200
93 default 9600 if CONSOLE_SERIAL_9600
94 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000095 Map the Baud rates to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +000096
Uwe Hermann168b11b2009-10-07 16:15:40 +000097# TODO: Allow user-friendly selection of settings other than 8n1.
Patrick Georgi0e9a9252009-10-06 20:48:07 +000098config TTYS0_LCS
99 int
100 default 3
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +0200101 depends on DRIVERS_UART_8250IO || DRIVERS_UART_8250MEM
102
103endif # CONSOLE_SERIAL
Patrick Georgi0e9a9252009-10-06 20:48:07 +0000104
Vladimir Serbinenko45988da2013-03-30 02:02:13 +0100105config SPKMODEM
106 bool "spkmodem (console on speaker) console output"
107 default n
108 help
109 Send coreboot debug output through speaker
110
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200111config CONSOLE_USB
112 bool "USB dongle console output"
113 depends on USBDEBUG
Kyösti Mälkki8101aa62013-08-15 16:27:06 +0300114 default n
Uwe Hermann168b11b2009-10-07 16:15:40 +0000115 help
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200116 Send coreboot debug output to USB.
Uwe Hermann168b11b2009-10-07 16:15:40 +0000117
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200118 Configuration for USB hardware is under menu Generic Drivers.
Kyösti Mälkkid2dac0a2013-08-23 23:33:16 +0300119
Uwe Hermann168b11b2009-10-07 16:15:40 +0000120# TODO: Deps?
121# TODO: Improve description.
Stefan Reinauerabc0c852010-11-22 08:09:50 +0000122config ONBOARD_VGA_IS_PRIMARY
Uwe Hermann168b11b2009-10-07 16:15:40 +0000123 bool "Use onboard VGA as primary video device"
Myles Watson45bb25f2009-09-22 18:49:08 +0000124 default n
125 help
126 If not selected, the last adapter found will be used.
127
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000128config CONSOLE_NE2K
129 bool "Network console over NE2000 compatible Ethernet adapter"
130 default n
131 help
132 Send coreboot debug output to a Ethernet console, it works
133 same way as Linux netconsole, packets are received to UDP
134 port 6666 on IP/MAC specified with options bellow.
135 Use following netcat command: nc -u -l -p 6666
136
137config CONSOLE_NE2K_DST_MAC
138 depends on CONSOLE_NE2K
139 string "Destination MAC address of remote system"
140 default "00:13:d4:76:a2:ac"
141 help
142 Type in either MAC address of logging system or MAC address
143 of the router.
144
145config CONSOLE_NE2K_DST_IP
146 depends on CONSOLE_NE2K
147 string "Destination IP of logging system"
148 default "10.0.1.27"
149 help
Daniele Forsi53847a22014-07-22 18:00:56 +0200150 This is IP address of the system running for example
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000151 netcat command to dump the packets.
152
153config CONSOLE_NE2K_SRC_IP
154 depends on CONSOLE_NE2K
Stefan Reinauerd6b4f1c2010-09-23 18:29:40 +0000155 string "IP address of coreboot system"
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000156 default "10.0.1.253"
157 help
Stefan Reinauerd6b4f1c2010-09-23 18:29:40 +0000158 This is the IP of the coreboot system
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000159
160config CONSOLE_NE2K_IO_PORT
161 depends on CONSOLE_NE2K
162 hex "NE2000 adapter fixed IO port address"
163 default 0xe00
164 help
165 This is the IO port address for the IO port
166 on the card, please select some non-conflicting region,
167 32 bytes of IO spaces will be used (and align on 32 bytes
168 boundary, qemu needs broader align)
169
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700170config CONSOLE_CBMEM
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700171 bool "Send console output to a CBMEM buffer"
Paul Menzel60ef4562014-03-08 10:46:52 +0100172 default y
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700173 help
174 Enable this to save the console output in a CBMEM buffer. This would
175 allow to see coreboot console output from Linux space.
176
Kyösti Mälkki8659e402014-12-21 08:55:47 +0200177if CONSOLE_CBMEM
178
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700179config CONSOLE_CBMEM_BUFFER_SIZE
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700180 hex "Room allocated for console output in CBMEM"
Vladimir Serbinenkoeb67a042014-09-13 20:55:58 +0200181 default 0x20000
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700182 help
183 Space allocated for console output storage in CBMEM. The default
Vladimir Serbinenkoeb67a042014-09-13 20:55:58 +0200184 value (128K or 0x20000 bytes) is large enough to accommodate
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700185 even the BIOS_SPEW level.
186
Kyösti Mälkki8659e402014-12-21 08:55:47 +0200187config CONSOLE_PRERAM_BUFFER_BASE
188 hex
Kyösti Mälkkia6371942015-03-10 07:25:35 +0200189 default 0xabadbeef if !CACHE_AS_RAM || LATE_CBMEM_INIT
Kyösti Mälkki8659e402014-12-21 08:55:47 +0200190 default 0x0
191
Gabe Black35382a62014-04-02 17:57:05 -0700192config CONSOLE_PRERAM_BUFFER_SIZE
Kyösti Mälkki8659e402014-12-21 08:55:47 +0200193 hex
194 default 0x0 if CONSOLE_PRERAM_BUFFER_BASE = 0xabadbeef
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700195 default 0xc00
196 help
197 Console is used before RAM is initialized. This is the room reserved
Gabe Black35382a62014-04-02 17:57:05 -0700198 in the DCACHE based RAM, SRAM, etc. to keep console output before it
199 can be saved in a CBMEM buffer. 3K bytes should be enough even for
200 the BIOS_SPEW level.
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200201
Kyösti Mälkki8659e402014-12-21 08:55:47 +0200202endif
203
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200204config CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200205 bool "QEMU debug console output"
206 depends on BOARD_EMULATION_QEMU_X86
207 default y
208 help
209 Send coreboot debug output to QEMU's isa-debugcon device:
210
211 qemu-system-x86_64 \
212 -chardev file,id=debugcon,path=/dir/file.log \
213 -device isa-debugcon,iobase=0x402,chardev=debugcon
214
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200215config CONSOLE_QEMU_DEBUGCON_PORT
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200216 hex "QEMU debug console port"
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200217 depends on CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200218 default 0x402
219
Uwe Hermann7fe41912009-10-11 13:35:24 +0000220choice
Myles Watson03646182009-10-16 19:29:45 +0000221 prompt "Default console log level"
222 default DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermann7fe41912009-10-11 13:35:24 +0000223
224config DEFAULT_CONSOLE_LOGLEVEL_8
Myles Watson03646182009-10-16 19:29:45 +0000225 bool "8: SPEW"
Myles Watson03646182009-10-16 19:29:45 +0000226 help
227 Way too many details.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000228config DEFAULT_CONSOLE_LOGLEVEL_7
Myles Watson03646182009-10-16 19:29:45 +0000229 bool "7: DEBUG"
Myles Watson03646182009-10-16 19:29:45 +0000230 help
231 Debug-level messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000232config DEFAULT_CONSOLE_LOGLEVEL_6
Myles Watson03646182009-10-16 19:29:45 +0000233 bool "6: INFO"
Myles Watson03646182009-10-16 19:29:45 +0000234 help
235 Informational messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000236config DEFAULT_CONSOLE_LOGLEVEL_5
Myles Watson03646182009-10-16 19:29:45 +0000237 bool "5: NOTICE"
Myles Watson03646182009-10-16 19:29:45 +0000238 help
239 Normal but significant conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000240config DEFAULT_CONSOLE_LOGLEVEL_4
Myles Watson03646182009-10-16 19:29:45 +0000241 bool "4: WARNING"
Myles Watson03646182009-10-16 19:29:45 +0000242 help
243 Warning conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000244config DEFAULT_CONSOLE_LOGLEVEL_3
Myles Watson03646182009-10-16 19:29:45 +0000245 bool "3: ERR"
Myles Watson03646182009-10-16 19:29:45 +0000246 help
247 Error conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000248config DEFAULT_CONSOLE_LOGLEVEL_2
Myles Watson03646182009-10-16 19:29:45 +0000249 bool "2: CRIT"
Myles Watson03646182009-10-16 19:29:45 +0000250 help
251 Critical conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000252config DEFAULT_CONSOLE_LOGLEVEL_1
Myles Watson03646182009-10-16 19:29:45 +0000253 bool "1: ALERT"
Myles Watson03646182009-10-16 19:29:45 +0000254 help
255 Action must be taken immediately.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000256config DEFAULT_CONSOLE_LOGLEVEL_0
Myles Watson03646182009-10-16 19:29:45 +0000257 bool "0: EMERG"
258 help
259 System is unusable.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000260
261endchoice
262
Patrick Georgi0588d192009-08-12 15:00:51 +0000263config DEFAULT_CONSOLE_LOGLEVEL
Uwe Hermann7fe41912009-10-11 13:35:24 +0000264 int
265 default 0 if DEFAULT_CONSOLE_LOGLEVEL_0
266 default 1 if DEFAULT_CONSOLE_LOGLEVEL_1
267 default 2 if DEFAULT_CONSOLE_LOGLEVEL_2
268 default 3 if DEFAULT_CONSOLE_LOGLEVEL_3
269 default 4 if DEFAULT_CONSOLE_LOGLEVEL_4
270 default 5 if DEFAULT_CONSOLE_LOGLEVEL_5
271 default 6 if DEFAULT_CONSOLE_LOGLEVEL_6
272 default 7 if DEFAULT_CONSOLE_LOGLEVEL_7
273 default 8 if DEFAULT_CONSOLE_LOGLEVEL_8
274 help
275 Map the log level config names to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000276
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000277config NO_POST
278 bool "Don't show any POST codes"
279 default n
280
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700281config CMOS_POST
282 bool "Store post codes in CMOS for debugging"
Stefan Reinauerc2d5a162012-12-06 14:25:27 -0800283 depends on !NO_POST && PC80_SYSTEM
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700284 default n
285 help
286 If enabled, coreboot will store post codes in CMOS and switch between
287 two offsets on each boot so the last post code in the previous boot
288 can be retrieved. This uses 3 bytes of CMOS.
289
290config CMOS_POST_OFFSET
291 hex "Offset into CMOS to store POST codes"
292 depends on CMOS_POST
293 default 0
294 help
295 If CMOS_POST is enabled then an offset into CMOS must be provided.
296 If CONFIG_HAVE_OPTION_TABLE is enabled then it will use the value
297 defined in the mainboard option table.
298
Duncan Lauried5686fe2013-06-10 10:21:41 -0700299config CMOS_POST_EXTRA
300 bool "Store extra logging info into CMOS"
301 depends on CMOS_POST
302 default n
303 help
304 This will enable extra logging of work that happens between post
305 codes into CMOS for debug. This uses an additional 8 bytes of CMOS.
306
Daniele Forsiad488d22014-07-30 12:23:35 +0200307config CONSOLE_POST
Idwer Vollering5809a732014-03-11 15:36:21 +0000308 bool "Show POST codes on the debug console"
309 depends on !NO_POST
310 default n
311 help
312 If enabled, coreboot will additionally print POST codes (which are
313 usually displayed using a so-called "POST card" ISA/PCI/PCI-E
314 device) on the debug console.
315
316config POST_DEVICE
317 bool "Send POST codes to an external device"
318 depends on !NO_POST
319 default y
320
321choice
322 prompt "Device to send POST codes to"
323 depends on POST_DEVICE
324 default POST_DEVICE_NONE
325
326config POST_DEVICE_NONE
327 bool "None"
328config POST_DEVICE_LPC
329 bool "LPC"
330config POST_DEVICE_PCI_PCIE
331 bool "PCI/PCIe"
332endchoice
333
334config POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800335 bool "Send POST codes to an IO port"
Idwer Vollering5809a732014-03-11 15:36:21 +0000336 depends on PC80_SYSTEM && !NO_POST
David Hendricks6b908d02012-11-05 12:34:09 -0800337 default y
338 help
339 If enabled, POST codes will be written to an IO port.
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000340
Idwer Vollering5809a732014-03-11 15:36:21 +0000341config POST_IO_PORT
342 depends on POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800343 hex "IO port for POST codes"
344 default 0x80
345 help
346 POST codes on x86 are typically written to the LPC bus on port
Daniele Forsi53847a22014-07-22 18:00:56 +0200347 0x80. However, it may be desirable to change the port number
David Hendricks6b908d02012-11-05 12:34:09 -0800348 depending on the presence of coprocessors/microcontrollers or if the
349 platform does not support IO in the conventional x86 manner.
350
351endmenu