blob: d77bb9e4c72a2535b445510f1b420077665ad4fd [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."
Stefan Reinauerd2f45c62013-06-19 13:42:00 -07005 depends on ARCH_ARMV7
6 default n
Gabe Blackfbb11cf2013-06-06 00:21:20 -07007 help
8 Use console during the bootblock if supported
9
Hung-Te Linad173ea2013-02-06 21:24:12 +080010config EARLY_CONSOLE
11 bool "Enable early (pre-RAM) console output."
Kyösti Mälkkida940c52013-07-31 20:52:04 +030012 default y if CACHE_AS_RAM
Stefan Reinauerd2f45c62013-06-19 13:42:00 -070013 default n
Hung-Te Linad173ea2013-02-06 21:24:12 +080014 help
15 Use console during early (pre-RAM) boot stages
16
Kyösti Mälkki361cd812013-08-12 23:29:57 +030017config SQUELCH_EARLY_SMP
18 bool "Squelch AP CPUs from early console."
19 default y
20 depends on EARLY_CONSOLE
21 help
22 When selected only the BSP CPU will output to early console.
23
24 Console drivers have unpredictable behaviour if multiple threads
25 attempt to share the same resources without a spinlock.
26
27 If unsure, say Y.
28
Hung-Te Linad173ea2013-02-06 21:24:12 +080029config CONSOLE_SERIAL
Uwe Hermannd12b7032009-10-16 22:39:55 +000030 bool "Serial port console output"
Stefan Reinauer509f7722012-12-07 17:31:37 -080031 default y
32 help
Hung-Te Linad173ea2013-02-06 21:24:12 +080033 Send coreboot debug output to a serial port (should be one or more of
34 CONSOLE_SERIAL8250, CONSOLE_SERIAL8250MEM, CONSOLE_SERIAL_UART)
David Hendricks6a503b62012-12-31 17:28:43 -080035
Stefan Reinauer509f7722012-12-07 17:31:37 -080036config CONSOLE_SERIAL8250
37 bool "Serial port console output (I/O mapped, 8250-compatible)"
Hung-Te Linad173ea2013-02-06 21:24:12 +080038 depends on CONSOLE_SERIAL
Stefan Reinauer4885daa2011-04-26 23:47:04 +000039 depends on HAVE_UART_IO_MAPPED
Patrick Georgi0588d192009-08-12 15:00:51 +000040 default y
Uwe Hermann168b11b2009-10-07 16:15:40 +000041 help
Stefan Reinauer4885daa2011-04-26 23:47:04 +000042 Send coreboot debug output to an I/O mapped serial port console.
43
44config CONSOLE_SERIAL8250MEM
Stefan Reinauer509f7722012-12-07 17:31:37 -080045 bool "Serial port console output (memory mapped, 8250-compatible)"
Hung-Te Linad173ea2013-02-06 21:24:12 +080046 depends on CONSOLE_SERIAL
Stefan Reinauer4885daa2011-04-26 23:47:04 +000047 depends on HAVE_UART_MEMORY_MAPPED
48 help
49 Send coreboot debug output to a memory mapped serial port console.
Patrick Georgi0588d192009-08-12 15:00:51 +000050
Hung-Te Linad173ea2013-02-06 21:24:12 +080051config CONSOLE_SERIAL_UART
52 bool "Serial port console output (device-specific UART)"
53 depends on CONSOLE_SERIAL
54 depends on HAVE_UART_SPECIAL
55 default y
Stefan Reinauer509f7722012-12-07 17:31:37 -080056 help
Hung-Te Linad173ea2013-02-06 21:24:12 +080057 Send coreboot debug output to a device-specific serial port console.
Stefan Reinauer509f7722012-12-07 17:31:37 -080058
Uwe Hermannd12b7032009-10-16 22:39:55 +000059choice
Hung-Te Linad173ea2013-02-06 21:24:12 +080060 prompt "Serial port for 8250"
Uwe Hermannd12b7032009-10-16 22:39:55 +000061 default CONSOLE_SERIAL_COM1
Myles Watson6bb3bdf2009-09-25 17:24:08 +000062 depends on CONSOLE_SERIAL8250
Uwe Hermannd12b7032009-10-16 22:39:55 +000063
64config CONSOLE_SERIAL_COM1
Uwe Hermanna081a3b2009-10-26 23:52:34 +000065 bool "COM1/ttyS0, I/O port 0x3f8"
Uwe Hermannd12b7032009-10-16 22:39:55 +000066 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000067 Serial console on COM1/ttyS0 at I/O port 0x3f8.
Uwe Hermannd12b7032009-10-16 22:39:55 +000068config CONSOLE_SERIAL_COM2
Uwe Hermanna081a3b2009-10-26 23:52:34 +000069 bool "COM2/ttyS1, I/O port 0x2f8"
Uwe Hermannd12b7032009-10-16 22:39:55 +000070 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000071 Serial console on COM2/ttyS1 at I/O port 0x2f8.
Uwe Hermannd12b7032009-10-16 22:39:55 +000072config CONSOLE_SERIAL_COM3
Uwe Hermanna081a3b2009-10-26 23:52:34 +000073 bool "COM3/ttyS2, I/O port 0x3e8"
Uwe Hermannd12b7032009-10-16 22:39:55 +000074 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000075 Serial console on COM3/ttyS2 at I/O port 0x3e8.
Uwe Hermannd12b7032009-10-16 22:39:55 +000076config CONSOLE_SERIAL_COM4
Uwe Hermanna081a3b2009-10-26 23:52:34 +000077 bool "COM4/ttyS3, I/O port 0x2e8"
Uwe Hermannd12b7032009-10-16 22:39:55 +000078 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000079 Serial console on COM4/ttyS3 at I/O port 0x2e8.
Uwe Hermannd12b7032009-10-16 22:39:55 +000080
81endchoice
82
83config TTYS0_BASE
84 hex
85 depends on CONSOLE_SERIAL8250
86 default 0x3f8 if CONSOLE_SERIAL_COM1
87 default 0x2f8 if CONSOLE_SERIAL_COM2
88 default 0x3e8 if CONSOLE_SERIAL_COM3
89 default 0x2e8 if CONSOLE_SERIAL_COM4
90 help
91 Map the COM port names to the respective I/O port.
92
93choice
Uwe Hermanna081a3b2009-10-26 23:52:34 +000094 prompt "Baud rate"
Uwe Hermannd12b7032009-10-16 22:39:55 +000095 default CONSOLE_SERIAL_115200
Hung-Te Linad173ea2013-02-06 21:24:12 +080096 depends on CONSOLE_SERIAL
Uwe Hermannd12b7032009-10-16 22:39:55 +000097
98config CONSOLE_SERIAL_115200
99 bool "115200"
100 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000101 Set serial port Baud rate to 115200.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000102config CONSOLE_SERIAL_57600
103 bool "57600"
104 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000105 Set serial port Baud rate to 57600.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000106config CONSOLE_SERIAL_38400
107 bool "38400"
108 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000109 Set serial port Baud rate to 38400.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000110config CONSOLE_SERIAL_19200
111 bool "19200"
112 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000113 Set serial port Baud rate to 19200.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000114config CONSOLE_SERIAL_9600
115 bool "9600"
116 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000117 Set serial port Baud rate to 9600.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000118
119endchoice
Patrick Georgi0588d192009-08-12 15:00:51 +0000120
Stefan Reinauer509f7722012-12-07 17:31:37 -0800121#FIXME(dhendrix): Change name to SERIAL_BAUD? (Stefan sayz: yes!!)
Patrick Georgi0588d192009-08-12 15:00:51 +0000122config TTYS0_BAUD
Uwe Hermannd12b7032009-10-16 22:39:55 +0000123 int
124 default 115200 if CONSOLE_SERIAL_115200
125 default 57600 if CONSOLE_SERIAL_57600
126 default 38400 if CONSOLE_SERIAL_38400
127 default 19200 if CONSOLE_SERIAL_19200
128 default 9600 if CONSOLE_SERIAL_9600
129 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000130 Map the Baud rates to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000131
Uwe Hermann168b11b2009-10-07 16:15:40 +0000132# TODO: Allow user-friendly selection of settings other than 8n1.
Patrick Georgi0e9a9252009-10-06 20:48:07 +0000133config TTYS0_LCS
134 int
135 default 3
Stefan Reinauer4885daa2011-04-26 23:47:04 +0000136 depends on CONSOLE_SERIAL8250 || CONSOLE_SERIAL8250MEM
Patrick Georgi0e9a9252009-10-06 20:48:07 +0000137
Vladimir Serbinenko45988da2013-03-30 02:02:13 +0100138config SPKMODEM
139 bool "spkmodem (console on speaker) console output"
140 default n
141 help
142 Send coreboot debug output through speaker
143
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200144config CONSOLE_USB
145 bool "USB dongle console output"
146 depends on USBDEBUG
Kyösti Mälkki8101aa62013-08-15 16:27:06 +0300147 default n
Uwe Hermann168b11b2009-10-07 16:15:40 +0000148 help
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200149 Send coreboot debug output to USB.
Uwe Hermann168b11b2009-10-07 16:15:40 +0000150
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200151 Configuration for USB hardware is under menu Generic Drivers.
Kyösti Mälkkid2dac0a2013-08-23 23:33:16 +0300152
Uwe Hermann168b11b2009-10-07 16:15:40 +0000153# TODO: Deps?
154# TODO: Improve description.
Stefan Reinauerabc0c852010-11-22 08:09:50 +0000155config ONBOARD_VGA_IS_PRIMARY
Uwe Hermann168b11b2009-10-07 16:15:40 +0000156 bool "Use onboard VGA as primary video device"
Myles Watson45bb25f2009-09-22 18:49:08 +0000157 default n
158 help
159 If not selected, the last adapter found will be used.
160
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000161config CONSOLE_NE2K
162 bool "Network console over NE2000 compatible Ethernet adapter"
163 default n
164 help
165 Send coreboot debug output to a Ethernet console, it works
166 same way as Linux netconsole, packets are received to UDP
167 port 6666 on IP/MAC specified with options bellow.
168 Use following netcat command: nc -u -l -p 6666
169
170config CONSOLE_NE2K_DST_MAC
171 depends on CONSOLE_NE2K
172 string "Destination MAC address of remote system"
173 default "00:13:d4:76:a2:ac"
174 help
175 Type in either MAC address of logging system or MAC address
176 of the router.
177
178config CONSOLE_NE2K_DST_IP
179 depends on CONSOLE_NE2K
180 string "Destination IP of logging system"
181 default "10.0.1.27"
182 help
183 This is IP adress of the system running for example
184 netcat command to dump the packets.
185
186config CONSOLE_NE2K_SRC_IP
187 depends on CONSOLE_NE2K
Stefan Reinauerd6b4f1c2010-09-23 18:29:40 +0000188 string "IP address of coreboot system"
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000189 default "10.0.1.253"
190 help
Stefan Reinauerd6b4f1c2010-09-23 18:29:40 +0000191 This is the IP of the coreboot system
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000192
193config CONSOLE_NE2K_IO_PORT
194 depends on CONSOLE_NE2K
195 hex "NE2000 adapter fixed IO port address"
196 default 0xe00
197 help
198 This is the IO port address for the IO port
199 on the card, please select some non-conflicting region,
200 32 bytes of IO spaces will be used (and align on 32 bytes
201 boundary, qemu needs broader align)
202
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700203config CONSOLE_CBMEM
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700204 bool "Send console output to a CBMEM buffer"
205 default n
206 help
207 Enable this to save the console output in a CBMEM buffer. This would
208 allow to see coreboot console output from Linux space.
209
210config CONSOLE_CBMEM_BUFFER_SIZE
211 depends on CONSOLE_CBMEM
212 hex "Room allocated for console output in CBMEM"
Stefan Reinauer1b632af2011-10-04 16:21:17 -0700213 default 0x10000
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700214 help
215 Space allocated for console output storage in CBMEM. The default
Stefan Reinauer1b632af2011-10-04 16:21:17 -0700216 value (64K or 0x10000 bytes) is large enough to accommodate
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700217 even the BIOS_SPEW level.
218
219config CONSOLE_CAR_BUFFER_SIZE
220 depends on CONSOLE_CBMEM
Stefan Reinauer1b632af2011-10-04 16:21:17 -0700221 hex "Room allocated for console output in Cache as RAM"
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700222 default 0xc00
223 help
224 Console is used before RAM is initialized. This is the room reserved
225 in the DCACHE based RAM to keep console output before it can be
226 saved in a CBMEM buffer. 3K bytes should be enough even for the
227 BIOS_SPEW level.
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200228
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200229config CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200230 bool "QEMU debug console output"
231 depends on BOARD_EMULATION_QEMU_X86
232 default y
233 help
234 Send coreboot debug output to QEMU's isa-debugcon device:
235
236 qemu-system-x86_64 \
237 -chardev file,id=debugcon,path=/dir/file.log \
238 -device isa-debugcon,iobase=0x402,chardev=debugcon
239
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200240config CONSOLE_QEMU_DEBUGCON_PORT
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200241 hex "QEMU debug console port"
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200242 depends on CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200243 default 0x402
244
Uwe Hermann7fe41912009-10-11 13:35:24 +0000245choice
Myles Watson03646182009-10-16 19:29:45 +0000246 prompt "Default console log level"
247 default DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermann7fe41912009-10-11 13:35:24 +0000248
249config DEFAULT_CONSOLE_LOGLEVEL_8
Myles Watson03646182009-10-16 19:29:45 +0000250 bool "8: SPEW"
Myles Watson03646182009-10-16 19:29:45 +0000251 help
252 Way too many details.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000253config DEFAULT_CONSOLE_LOGLEVEL_7
Myles Watson03646182009-10-16 19:29:45 +0000254 bool "7: DEBUG"
Myles Watson03646182009-10-16 19:29:45 +0000255 help
256 Debug-level messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000257config DEFAULT_CONSOLE_LOGLEVEL_6
Myles Watson03646182009-10-16 19:29:45 +0000258 bool "6: INFO"
Myles Watson03646182009-10-16 19:29:45 +0000259 help
260 Informational messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000261config DEFAULT_CONSOLE_LOGLEVEL_5
Myles Watson03646182009-10-16 19:29:45 +0000262 bool "5: NOTICE"
Myles Watson03646182009-10-16 19:29:45 +0000263 help
264 Normal but significant conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000265config DEFAULT_CONSOLE_LOGLEVEL_4
Myles Watson03646182009-10-16 19:29:45 +0000266 bool "4: WARNING"
Myles Watson03646182009-10-16 19:29:45 +0000267 help
268 Warning conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000269config DEFAULT_CONSOLE_LOGLEVEL_3
Myles Watson03646182009-10-16 19:29:45 +0000270 bool "3: ERR"
Myles Watson03646182009-10-16 19:29:45 +0000271 help
272 Error conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000273config DEFAULT_CONSOLE_LOGLEVEL_2
Myles Watson03646182009-10-16 19:29:45 +0000274 bool "2: CRIT"
Myles Watson03646182009-10-16 19:29:45 +0000275 help
276 Critical conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000277config DEFAULT_CONSOLE_LOGLEVEL_1
Myles Watson03646182009-10-16 19:29:45 +0000278 bool "1: ALERT"
Myles Watson03646182009-10-16 19:29:45 +0000279 help
280 Action must be taken immediately.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000281config DEFAULT_CONSOLE_LOGLEVEL_0
Myles Watson03646182009-10-16 19:29:45 +0000282 bool "0: EMERG"
283 help
284 System is unusable.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000285
286endchoice
287
Patrick Georgi0588d192009-08-12 15:00:51 +0000288config DEFAULT_CONSOLE_LOGLEVEL
Uwe Hermann7fe41912009-10-11 13:35:24 +0000289 int
290 default 0 if DEFAULT_CONSOLE_LOGLEVEL_0
291 default 1 if DEFAULT_CONSOLE_LOGLEVEL_1
292 default 2 if DEFAULT_CONSOLE_LOGLEVEL_2
293 default 3 if DEFAULT_CONSOLE_LOGLEVEL_3
294 default 4 if DEFAULT_CONSOLE_LOGLEVEL_4
295 default 5 if DEFAULT_CONSOLE_LOGLEVEL_5
296 default 6 if DEFAULT_CONSOLE_LOGLEVEL_6
297 default 7 if DEFAULT_CONSOLE_LOGLEVEL_7
298 default 8 if DEFAULT_CONSOLE_LOGLEVEL_8
299 help
300 Map the log level config names to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000301
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000302config NO_POST
303 bool "Don't show any POST codes"
304 default n
305
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700306config CMOS_POST
307 bool "Store post codes in CMOS for debugging"
Stefan Reinauerc2d5a162012-12-06 14:25:27 -0800308 depends on !NO_POST && PC80_SYSTEM
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700309 default n
310 help
311 If enabled, coreboot will store post codes in CMOS and switch between
312 two offsets on each boot so the last post code in the previous boot
313 can be retrieved. This uses 3 bytes of CMOS.
314
315config CMOS_POST_OFFSET
316 hex "Offset into CMOS to store POST codes"
317 depends on CMOS_POST
318 default 0
319 help
320 If CMOS_POST is enabled then an offset into CMOS must be provided.
321 If CONFIG_HAVE_OPTION_TABLE is enabled then it will use the value
322 defined in the mainboard option table.
323
Duncan Lauried5686fe2013-06-10 10:21:41 -0700324config CMOS_POST_EXTRA
325 bool "Store extra logging info into CMOS"
326 depends on CMOS_POST
327 default n
328 help
329 This will enable extra logging of work that happens between post
330 codes into CMOS for debug. This uses an additional 8 bytes of CMOS.
331
Idwer Vollering5809a732014-03-11 15:36:21 +0000332config POST_IO
333 bool "Show POST codes on the debug console"
334 depends on !NO_POST
335 default n
336 help
337 If enabled, coreboot will additionally print POST codes (which are
338 usually displayed using a so-called "POST card" ISA/PCI/PCI-E
339 device) on the debug console.
340
341config POST_DEVICE
342 bool "Send POST codes to an external device"
343 depends on !NO_POST
344 default y
345
346choice
347 prompt "Device to send POST codes to"
348 depends on POST_DEVICE
349 default POST_DEVICE_NONE
350
351config POST_DEVICE_NONE
352 bool "None"
353config POST_DEVICE_LPC
354 bool "LPC"
355config POST_DEVICE_PCI_PCIE
356 bool "PCI/PCIe"
357endchoice
358
359config POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800360 bool "Send POST codes to an IO port"
Idwer Vollering5809a732014-03-11 15:36:21 +0000361 depends on PC80_SYSTEM && !NO_POST
David Hendricks6b908d02012-11-05 12:34:09 -0800362 default y
363 help
364 If enabled, POST codes will be written to an IO port.
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000365
Idwer Vollering5809a732014-03-11 15:36:21 +0000366config POST_IO_PORT
367 depends on POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800368 hex "IO port for POST codes"
369 default 0x80
370 help
371 POST codes on x86 are typically written to the LPC bus on port
372 0x80. However, it may be desireable to change the port number
373 depending on the presence of coprocessors/microcontrollers or if the
374 platform does not support IO in the conventional x86 manner.
375
376endmenu