blob: 1d050f7113f95261e3064c53f53de290702e42dc [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
17config CONSOLE_SERIAL
Uwe Hermannd12b7032009-10-16 22:39:55 +000018 bool "Serial port console output"
Stefan Reinauer509f7722012-12-07 17:31:37 -080019 default y
20 help
Hung-Te Linad173ea2013-02-06 21:24:12 +080021 Send coreboot debug output to a serial port (should be one or more of
22 CONSOLE_SERIAL8250, CONSOLE_SERIAL8250MEM, CONSOLE_SERIAL_UART)
David Hendricks6a503b62012-12-31 17:28:43 -080023
Stefan Reinauer509f7722012-12-07 17:31:37 -080024config CONSOLE_SERIAL8250
25 bool "Serial port console output (I/O mapped, 8250-compatible)"
Hung-Te Linad173ea2013-02-06 21:24:12 +080026 depends on CONSOLE_SERIAL
Stefan Reinauer4885daa2011-04-26 23:47:04 +000027 depends on HAVE_UART_IO_MAPPED
Patrick Georgi0588d192009-08-12 15:00:51 +000028 default y
Uwe Hermann168b11b2009-10-07 16:15:40 +000029 help
Stefan Reinauer4885daa2011-04-26 23:47:04 +000030 Send coreboot debug output to an I/O mapped serial port console.
31
32config CONSOLE_SERIAL8250MEM
Stefan Reinauer509f7722012-12-07 17:31:37 -080033 bool "Serial port console output (memory mapped, 8250-compatible)"
Hung-Te Linad173ea2013-02-06 21:24:12 +080034 depends on CONSOLE_SERIAL
Stefan Reinauer4885daa2011-04-26 23:47:04 +000035 depends on HAVE_UART_MEMORY_MAPPED
36 help
37 Send coreboot debug output to a memory mapped serial port console.
Patrick Georgi0588d192009-08-12 15:00:51 +000038
Hung-Te Linad173ea2013-02-06 21:24:12 +080039config CONSOLE_SERIAL_UART
40 bool "Serial port console output (device-specific UART)"
41 depends on CONSOLE_SERIAL
42 depends on HAVE_UART_SPECIAL
43 default y
Stefan Reinauer509f7722012-12-07 17:31:37 -080044 help
Hung-Te Linad173ea2013-02-06 21:24:12 +080045 Send coreboot debug output to a device-specific serial port console.
Stefan Reinauer509f7722012-12-07 17:31:37 -080046
Uwe Hermannd12b7032009-10-16 22:39:55 +000047choice
Hung-Te Linad173ea2013-02-06 21:24:12 +080048 prompt "Serial port for 8250"
Uwe Hermannd12b7032009-10-16 22:39:55 +000049 default CONSOLE_SERIAL_COM1
Myles Watson6bb3bdf2009-09-25 17:24:08 +000050 depends on CONSOLE_SERIAL8250
Uwe Hermannd12b7032009-10-16 22:39:55 +000051
52config CONSOLE_SERIAL_COM1
Uwe Hermanna081a3b2009-10-26 23:52:34 +000053 bool "COM1/ttyS0, I/O port 0x3f8"
Uwe Hermannd12b7032009-10-16 22:39:55 +000054 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000055 Serial console on COM1/ttyS0 at I/O port 0x3f8.
Uwe Hermannd12b7032009-10-16 22:39:55 +000056config CONSOLE_SERIAL_COM2
Uwe Hermanna081a3b2009-10-26 23:52:34 +000057 bool "COM2/ttyS1, I/O port 0x2f8"
Uwe Hermannd12b7032009-10-16 22:39:55 +000058 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000059 Serial console on COM2/ttyS1 at I/O port 0x2f8.
Uwe Hermannd12b7032009-10-16 22:39:55 +000060config CONSOLE_SERIAL_COM3
Uwe Hermanna081a3b2009-10-26 23:52:34 +000061 bool "COM3/ttyS2, I/O port 0x3e8"
Uwe Hermannd12b7032009-10-16 22:39:55 +000062 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000063 Serial console on COM3/ttyS2 at I/O port 0x3e8.
Uwe Hermannd12b7032009-10-16 22:39:55 +000064config CONSOLE_SERIAL_COM4
Uwe Hermanna081a3b2009-10-26 23:52:34 +000065 bool "COM4/ttyS3, I/O port 0x2e8"
Uwe Hermannd12b7032009-10-16 22:39:55 +000066 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000067 Serial console on COM4/ttyS3 at I/O port 0x2e8.
Uwe Hermannd12b7032009-10-16 22:39:55 +000068
69endchoice
70
71config TTYS0_BASE
72 hex
73 depends on CONSOLE_SERIAL8250
74 default 0x3f8 if CONSOLE_SERIAL_COM1
75 default 0x2f8 if CONSOLE_SERIAL_COM2
76 default 0x3e8 if CONSOLE_SERIAL_COM3
77 default 0x2e8 if CONSOLE_SERIAL_COM4
78 help
79 Map the COM port names to the respective I/O port.
80
81choice
Uwe Hermanna081a3b2009-10-26 23:52:34 +000082 prompt "Baud rate"
Uwe Hermannd12b7032009-10-16 22:39:55 +000083 default CONSOLE_SERIAL_115200
Hung-Te Linad173ea2013-02-06 21:24:12 +080084 depends on CONSOLE_SERIAL
Uwe Hermannd12b7032009-10-16 22:39:55 +000085
86config CONSOLE_SERIAL_115200
87 bool "115200"
88 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000089 Set serial port Baud rate to 115200.
Uwe Hermannd12b7032009-10-16 22:39:55 +000090config CONSOLE_SERIAL_57600
91 bool "57600"
92 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000093 Set serial port Baud rate to 57600.
Uwe Hermannd12b7032009-10-16 22:39:55 +000094config CONSOLE_SERIAL_38400
95 bool "38400"
96 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000097 Set serial port Baud rate to 38400.
Uwe Hermannd12b7032009-10-16 22:39:55 +000098config CONSOLE_SERIAL_19200
99 bool "19200"
100 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000101 Set serial port Baud rate to 19200.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000102config CONSOLE_SERIAL_9600
103 bool "9600"
104 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000105 Set serial port Baud rate to 9600.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000106
107endchoice
Patrick Georgi0588d192009-08-12 15:00:51 +0000108
Stefan Reinauer509f7722012-12-07 17:31:37 -0800109#FIXME(dhendrix): Change name to SERIAL_BAUD? (Stefan sayz: yes!!)
Patrick Georgi0588d192009-08-12 15:00:51 +0000110config TTYS0_BAUD
Uwe Hermannd12b7032009-10-16 22:39:55 +0000111 int
112 default 115200 if CONSOLE_SERIAL_115200
113 default 57600 if CONSOLE_SERIAL_57600
114 default 38400 if CONSOLE_SERIAL_38400
115 default 19200 if CONSOLE_SERIAL_19200
116 default 9600 if CONSOLE_SERIAL_9600
117 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000118 Map the Baud rates to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000119
Uwe Hermann168b11b2009-10-07 16:15:40 +0000120# TODO: Allow user-friendly selection of settings other than 8n1.
Patrick Georgi0e9a9252009-10-06 20:48:07 +0000121config TTYS0_LCS
122 int
123 default 3
Stefan Reinauer4885daa2011-04-26 23:47:04 +0000124 depends on CONSOLE_SERIAL8250 || CONSOLE_SERIAL8250MEM
Patrick Georgi0e9a9252009-10-06 20:48:07 +0000125
Vladimir Serbinenko45988da2013-03-30 02:02:13 +0100126config SPKMODEM
127 bool "spkmodem (console on speaker) console output"
128 default n
129 help
130 Send coreboot debug output through speaker
131
Uwe Hermann65e60342010-09-26 07:35:55 +0000132# Use "select HAVE_USBDEBUG" on southbridges which have Debug Port code.
133config HAVE_USBDEBUG
134 def_bool n
135
Stefan Reinauer7e00a442010-05-25 17:09:05 +0000136config USBDEBUG
Uwe Hermann02260bc2010-09-26 10:34:36 +0000137 def_bool n
138
139config USBDEBUG
Uwe Hermann168b11b2009-10-07 16:15:40 +0000140 bool "USB 2.0 EHCI debug dongle support"
141 default n
Uwe Hermann65e60342010-09-26 07:35:55 +0000142 depends on HAVE_USBDEBUG
Uwe Hermann168b11b2009-10-07 16:15:40 +0000143 help
144 This option allows you to use a so-called USB EHCI Debug device
Uwe Hermann65e60342010-09-26 07:35:55 +0000145 (such as the Ajays NET20DC, AMIDebug RX, or a system using the
146 Linux "EHCI Debug Device gadget" driver found in recent kernel)
Uwe Hermann168b11b2009-10-07 16:15:40 +0000147 to retrieve the coreboot debug messages (instead, or in addition
148 to, a serial port).
149
150 This feature is NOT supported on all chipsets in coreboot!
151
152 It also requires a USB2 controller which supports the EHCI
Uwe Hermann65e60342010-09-26 07:35:55 +0000153 Debug Port capability.
Stefan Reinauer14e22772010-04-27 06:56:47 +0000154
Uwe Hermann65e60342010-09-26 07:35:55 +0000155 See http://www.coreboot.org/EHCI_Debug_Port for an up-to-date list
156 of supported controllers.
Uwe Hermann168b11b2009-10-07 16:15:40 +0000157
Uwe Hermann65e60342010-09-26 07:35:55 +0000158 If unsure, say N.
Patrick Georgi0588d192009-08-12 15:00:51 +0000159
Uwe Hermannfa7efe92010-10-02 20:33:56 +0000160# Note: This option doesn't make sense on Intel ICH / AMD SB600 southbridges
161# as those hardcode the physical USB port to be used as Debug Port to 1.
162# It cannot be changed by coreboot.
Uwe Hermann7ac4c262010-09-27 18:03:18 +0000163config USBDEBUG_DEFAULT_PORT
164 int "Default USB port to use as Debug Port"
165 default 1
Uwe Hermannfa7efe92010-10-02 20:33:56 +0000166 depends on USBDEBUG && !SOUTHBRIDGE_INTEL_I82801GX && !SOUTHBRIDGE_AMD_SB600
Uwe Hermann7ac4c262010-09-27 18:03:18 +0000167 help
168 This option selects which physical USB port coreboot will try to
169 use as EHCI Debug Port first (valid values are: 1-15).
170
171 If coreboot doesn't detect an EHCI Debug Port dongle on this port,
172 it will try all the other ports one after the other. This will take
173 a few seconds of time though, and thus slow down the booting process.
174
175 Hence, if you select the correct port here, you can speed up
176 your boot time. Which USB port number (1-15) refers to which
177 actual port on your mainboard (potentially also USB pin headers
178 on your mainboard) is highly board-specific, and you'll likely
179 have to find out by trial-and-error.
180
Uwe Hermann168b11b2009-10-07 16:15:40 +0000181# TODO: Deps?
182# TODO: Improve description.
Stefan Reinauerabc0c852010-11-22 08:09:50 +0000183config ONBOARD_VGA_IS_PRIMARY
Uwe Hermann168b11b2009-10-07 16:15:40 +0000184 bool "Use onboard VGA as primary video device"
Myles Watson45bb25f2009-09-22 18:49:08 +0000185 default n
186 help
187 If not selected, the last adapter found will be used.
188
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000189config CONSOLE_NE2K
190 bool "Network console over NE2000 compatible Ethernet adapter"
191 default n
192 help
193 Send coreboot debug output to a Ethernet console, it works
194 same way as Linux netconsole, packets are received to UDP
195 port 6666 on IP/MAC specified with options bellow.
196 Use following netcat command: nc -u -l -p 6666
197
198config CONSOLE_NE2K_DST_MAC
199 depends on CONSOLE_NE2K
200 string "Destination MAC address of remote system"
201 default "00:13:d4:76:a2:ac"
202 help
203 Type in either MAC address of logging system or MAC address
204 of the router.
205
206config CONSOLE_NE2K_DST_IP
207 depends on CONSOLE_NE2K
208 string "Destination IP of logging system"
209 default "10.0.1.27"
210 help
211 This is IP adress of the system running for example
212 netcat command to dump the packets.
213
214config CONSOLE_NE2K_SRC_IP
215 depends on CONSOLE_NE2K
Stefan Reinauerd6b4f1c2010-09-23 18:29:40 +0000216 string "IP address of coreboot system"
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000217 default "10.0.1.253"
218 help
Stefan Reinauerd6b4f1c2010-09-23 18:29:40 +0000219 This is the IP of the coreboot system
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000220
221config CONSOLE_NE2K_IO_PORT
222 depends on CONSOLE_NE2K
223 hex "NE2000 adapter fixed IO port address"
224 default 0xe00
225 help
226 This is the IO port address for the IO port
227 on the card, please select some non-conflicting region,
228 32 bytes of IO spaces will be used (and align on 32 bytes
229 boundary, qemu needs broader align)
230
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700231config CONSOLE_CBMEM
Aaron Durbinc15551a2013-03-23 00:00:54 -0500232 depends on (EARLY_CBMEM_INIT || DYNAMIC_CBMEM)
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700233 bool "Send console output to a CBMEM buffer"
234 default n
235 help
236 Enable this to save the console output in a CBMEM buffer. This would
237 allow to see coreboot console output from Linux space.
238
239config CONSOLE_CBMEM_BUFFER_SIZE
240 depends on CONSOLE_CBMEM
241 hex "Room allocated for console output in CBMEM"
Stefan Reinauer1b632af2011-10-04 16:21:17 -0700242 default 0x10000
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700243 help
244 Space allocated for console output storage in CBMEM. The default
Stefan Reinauer1b632af2011-10-04 16:21:17 -0700245 value (64K or 0x10000 bytes) is large enough to accommodate
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700246 even the BIOS_SPEW level.
247
248config CONSOLE_CAR_BUFFER_SIZE
249 depends on CONSOLE_CBMEM
Stefan Reinauer1b632af2011-10-04 16:21:17 -0700250 hex "Room allocated for console output in Cache as RAM"
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700251 default 0xc00
252 help
253 Console is used before RAM is initialized. This is the room reserved
254 in the DCACHE based RAM to keep console output before it can be
255 saved in a CBMEM buffer. 3K bytes should be enough even for the
256 BIOS_SPEW level.
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200257
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200258config CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200259 bool "QEMU debug console output"
260 depends on BOARD_EMULATION_QEMU_X86
261 default y
262 help
263 Send coreboot debug output to QEMU's isa-debugcon device:
264
265 qemu-system-x86_64 \
266 -chardev file,id=debugcon,path=/dir/file.log \
267 -device isa-debugcon,iobase=0x402,chardev=debugcon
268
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200269config CONSOLE_QEMU_DEBUGCON_PORT
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200270 hex "QEMU debug console port"
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200271 depends on CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200272 default 0x402
273
Uwe Hermann7fe41912009-10-11 13:35:24 +0000274choice
Myles Watson03646182009-10-16 19:29:45 +0000275 prompt "Default console log level"
276 default DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermann7fe41912009-10-11 13:35:24 +0000277
278config DEFAULT_CONSOLE_LOGLEVEL_8
Myles Watson03646182009-10-16 19:29:45 +0000279 bool "8: SPEW"
Myles Watson03646182009-10-16 19:29:45 +0000280 help
281 Way too many details.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000282config DEFAULT_CONSOLE_LOGLEVEL_7
Myles Watson03646182009-10-16 19:29:45 +0000283 bool "7: DEBUG"
Myles Watson03646182009-10-16 19:29:45 +0000284 help
285 Debug-level messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000286config DEFAULT_CONSOLE_LOGLEVEL_6
Myles Watson03646182009-10-16 19:29:45 +0000287 bool "6: INFO"
Myles Watson03646182009-10-16 19:29:45 +0000288 help
289 Informational messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000290config DEFAULT_CONSOLE_LOGLEVEL_5
Myles Watson03646182009-10-16 19:29:45 +0000291 bool "5: NOTICE"
Myles Watson03646182009-10-16 19:29:45 +0000292 help
293 Normal but significant conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000294config DEFAULT_CONSOLE_LOGLEVEL_4
Myles Watson03646182009-10-16 19:29:45 +0000295 bool "4: WARNING"
Myles Watson03646182009-10-16 19:29:45 +0000296 help
297 Warning conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000298config DEFAULT_CONSOLE_LOGLEVEL_3
Myles Watson03646182009-10-16 19:29:45 +0000299 bool "3: ERR"
Myles Watson03646182009-10-16 19:29:45 +0000300 help
301 Error conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000302config DEFAULT_CONSOLE_LOGLEVEL_2
Myles Watson03646182009-10-16 19:29:45 +0000303 bool "2: CRIT"
Myles Watson03646182009-10-16 19:29:45 +0000304 help
305 Critical conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000306config DEFAULT_CONSOLE_LOGLEVEL_1
Myles Watson03646182009-10-16 19:29:45 +0000307 bool "1: ALERT"
Myles Watson03646182009-10-16 19:29:45 +0000308 help
309 Action must be taken immediately.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000310config DEFAULT_CONSOLE_LOGLEVEL_0
Myles Watson03646182009-10-16 19:29:45 +0000311 bool "0: EMERG"
312 help
313 System is unusable.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000314
315endchoice
316
Patrick Georgi0588d192009-08-12 15:00:51 +0000317config DEFAULT_CONSOLE_LOGLEVEL
Uwe Hermann7fe41912009-10-11 13:35:24 +0000318 int
319 default 0 if DEFAULT_CONSOLE_LOGLEVEL_0
320 default 1 if DEFAULT_CONSOLE_LOGLEVEL_1
321 default 2 if DEFAULT_CONSOLE_LOGLEVEL_2
322 default 3 if DEFAULT_CONSOLE_LOGLEVEL_3
323 default 4 if DEFAULT_CONSOLE_LOGLEVEL_4
324 default 5 if DEFAULT_CONSOLE_LOGLEVEL_5
325 default 6 if DEFAULT_CONSOLE_LOGLEVEL_6
326 default 7 if DEFAULT_CONSOLE_LOGLEVEL_7
327 default 8 if DEFAULT_CONSOLE_LOGLEVEL_8
328 help
329 Map the log level config names to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000330
Myles Watsond73c1b52009-10-26 15:14:07 +0000331config CONSOLE_LOGBUF
332 bool
333 default n
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000334
335config NO_POST
336 bool "Don't show any POST codes"
337 default n
338
Christoph Grenz5cfd5832011-09-18 22:54:51 +0200339
Stefan Reinauer582d3692011-01-28 07:47:35 +0000340config CONSOLE_POST
341 bool "Show POST codes on the debug console"
342 depends on !NO_POST
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000343 default n
344 help
345 If enabled, coreboot will additionally print POST codes (which are
346 usually displayed using a so-called "POST card" ISA/PCI/PCI-E
Stefan Reinauer582d3692011-01-28 07:47:35 +0000347 device) on the debug console.
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000348
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700349config CMOS_POST
350 bool "Store post codes in CMOS for debugging"
Stefan Reinauerc2d5a162012-12-06 14:25:27 -0800351 depends on !NO_POST && PC80_SYSTEM
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700352 default n
353 help
354 If enabled, coreboot will store post codes in CMOS and switch between
355 two offsets on each boot so the last post code in the previous boot
356 can be retrieved. This uses 3 bytes of CMOS.
357
358config CMOS_POST_OFFSET
359 hex "Offset into CMOS to store POST codes"
360 depends on CMOS_POST
361 default 0
362 help
363 If CMOS_POST is enabled then an offset into CMOS must be provided.
364 If CONFIG_HAVE_OPTION_TABLE is enabled then it will use the value
365 defined in the mainboard option table.
366
David Hendricks6b908d02012-11-05 12:34:09 -0800367config IO_POST
368 bool "Send POST codes to an IO port"
Stefan Reinauerc2d5a162012-12-06 14:25:27 -0800369 depends on PC80_SYSTEM
David Hendricks6b908d02012-11-05 12:34:09 -0800370 default y
371 help
372 If enabled, POST codes will be written to an IO port.
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000373
David Hendricks6b908d02012-11-05 12:34:09 -0800374config IO_POST_PORT
375 depends on IO_POST
376 hex "IO port for POST codes"
377 default 0x80
378 help
379 POST codes on x86 are typically written to the LPC bus on port
380 0x80. However, it may be desireable to change the port number
381 depending on the presence of coprocessors/microcontrollers or if the
382 platform does not support IO in the conventional x86 manner.
383
384endmenu