blob: 65fc1aaa48a9af1d0fed139c11fb62178be42f85 [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
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020032 depends on DRIVERS_UART_8250IO || DRIVERS_UART_8250MEM || HAVE_UART_SPECIAL
Stefan Reinauer509f7722012-12-07 17:31:37 -080033 help
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020034 Send coreboot debug output to a serial port.
David Hendricks6a503b62012-12-31 17:28:43 -080035
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020036 The type of serial port driver selected based on your configuration is
37 shown on the following menu line. Supporting multiple different types
38 of UARTs in one build is not supported.
Stefan Reinauer4885daa2011-04-26 23:47:04 +000039
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020040if CONSOLE_SERIAL
Patrick Georgi0588d192009-08-12 15:00:51 +000041
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020042 comment "I/O mapped, 8250-compatible"
43 depends on DRIVERS_UART_8250IO
44
45 comment "memory mapped, 8250-compatible"
46 depends on DRIVERS_UART_8250MEM
47
48 comment "device-specific UART"
Hung-Te Linad173ea2013-02-06 21:24:12 +080049 depends on HAVE_UART_SPECIAL
Stefan Reinauer509f7722012-12-07 17:31:37 -080050
Uwe Hermannd12b7032009-10-16 22:39:55 +000051choice
Hung-Te Linad173ea2013-02-06 21:24:12 +080052 prompt "Serial port for 8250"
Uwe Hermannd12b7032009-10-16 22:39:55 +000053 default CONSOLE_SERIAL_COM1
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020054 depends on DRIVERS_UART_8250IO
Uwe Hermannd12b7032009-10-16 22:39:55 +000055
56config CONSOLE_SERIAL_COM1
Uwe Hermanna081a3b2009-10-26 23:52:34 +000057 bool "COM1/ttyS0, I/O port 0x3f8"
Uwe Hermannd12b7032009-10-16 22:39:55 +000058 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000059 Serial console on COM1/ttyS0 at I/O port 0x3f8.
Uwe Hermannd12b7032009-10-16 22:39:55 +000060config CONSOLE_SERIAL_COM2
Uwe Hermanna081a3b2009-10-26 23:52:34 +000061 bool "COM2/ttyS1, I/O port 0x2f8"
Uwe Hermannd12b7032009-10-16 22:39:55 +000062 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000063 Serial console on COM2/ttyS1 at I/O port 0x2f8.
Uwe Hermannd12b7032009-10-16 22:39:55 +000064config CONSOLE_SERIAL_COM3
Uwe Hermanna081a3b2009-10-26 23:52:34 +000065 bool "COM3/ttyS2, I/O port 0x3e8"
Uwe Hermannd12b7032009-10-16 22:39:55 +000066 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000067 Serial console on COM3/ttyS2 at I/O port 0x3e8.
Uwe Hermannd12b7032009-10-16 22:39:55 +000068config CONSOLE_SERIAL_COM4
Uwe Hermanna081a3b2009-10-26 23:52:34 +000069 bool "COM4/ttyS3, I/O port 0x2e8"
Uwe Hermannd12b7032009-10-16 22:39:55 +000070 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000071 Serial console on COM4/ttyS3 at I/O port 0x2e8.
Uwe Hermannd12b7032009-10-16 22:39:55 +000072
73endchoice
74
75config TTYS0_BASE
76 hex
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020077 depends on DRIVERS_UART_8250IO
Uwe Hermannd12b7032009-10-16 22:39:55 +000078 default 0x3f8 if CONSOLE_SERIAL_COM1
79 default 0x2f8 if CONSOLE_SERIAL_COM2
80 default 0x3e8 if CONSOLE_SERIAL_COM3
81 default 0x2e8 if CONSOLE_SERIAL_COM4
82 help
83 Map the COM port names to the respective I/O port.
84
85choice
Uwe Hermanna081a3b2009-10-26 23:52:34 +000086 prompt "Baud rate"
Uwe Hermannd12b7032009-10-16 22:39:55 +000087 default CONSOLE_SERIAL_115200
Uwe Hermannd12b7032009-10-16 22:39:55 +000088
89config CONSOLE_SERIAL_115200
90 bool "115200"
91 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000092 Set serial port Baud rate to 115200.
Uwe Hermannd12b7032009-10-16 22:39:55 +000093config CONSOLE_SERIAL_57600
94 bool "57600"
95 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +000096 Set serial port Baud rate to 57600.
Uwe Hermannd12b7032009-10-16 22:39:55 +000097config CONSOLE_SERIAL_38400
98 bool "38400"
99 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000100 Set serial port Baud rate to 38400.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000101config CONSOLE_SERIAL_19200
102 bool "19200"
103 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000104 Set serial port Baud rate to 19200.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000105config CONSOLE_SERIAL_9600
106 bool "9600"
107 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000108 Set serial port Baud rate to 9600.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000109
110endchoice
Patrick Georgi0588d192009-08-12 15:00:51 +0000111
Stefan Reinauer509f7722012-12-07 17:31:37 -0800112#FIXME(dhendrix): Change name to SERIAL_BAUD? (Stefan sayz: yes!!)
Patrick Georgi0588d192009-08-12 15:00:51 +0000113config TTYS0_BAUD
Uwe Hermannd12b7032009-10-16 22:39:55 +0000114 int
115 default 115200 if CONSOLE_SERIAL_115200
116 default 57600 if CONSOLE_SERIAL_57600
117 default 38400 if CONSOLE_SERIAL_38400
118 default 19200 if CONSOLE_SERIAL_19200
119 default 9600 if CONSOLE_SERIAL_9600
120 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000121 Map the Baud rates to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000122
Uwe Hermann168b11b2009-10-07 16:15:40 +0000123# TODO: Allow user-friendly selection of settings other than 8n1.
Patrick Georgi0e9a9252009-10-06 20:48:07 +0000124config TTYS0_LCS
125 int
126 default 3
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +0200127 depends on DRIVERS_UART_8250IO || DRIVERS_UART_8250MEM
128
129endif # CONSOLE_SERIAL
Patrick Georgi0e9a9252009-10-06 20:48:07 +0000130
Vladimir Serbinenko45988da2013-03-30 02:02:13 +0100131config SPKMODEM
132 bool "spkmodem (console on speaker) console output"
133 default n
134 help
135 Send coreboot debug output through speaker
136
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200137config CONSOLE_USB
138 bool "USB dongle console output"
139 depends on USBDEBUG
Kyösti Mälkki8101aa62013-08-15 16:27:06 +0300140 default n
Uwe Hermann168b11b2009-10-07 16:15:40 +0000141 help
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200142 Send coreboot debug output to USB.
Uwe Hermann168b11b2009-10-07 16:15:40 +0000143
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200144 Configuration for USB hardware is under menu Generic Drivers.
Kyösti Mälkkid2dac0a2013-08-23 23:33:16 +0300145
Uwe Hermann168b11b2009-10-07 16:15:40 +0000146# TODO: Deps?
147# TODO: Improve description.
Stefan Reinauerabc0c852010-11-22 08:09:50 +0000148config ONBOARD_VGA_IS_PRIMARY
Uwe Hermann168b11b2009-10-07 16:15:40 +0000149 bool "Use onboard VGA as primary video device"
Myles Watson45bb25f2009-09-22 18:49:08 +0000150 default n
151 help
152 If not selected, the last adapter found will be used.
153
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000154config CONSOLE_NE2K
155 bool "Network console over NE2000 compatible Ethernet adapter"
156 default n
157 help
158 Send coreboot debug output to a Ethernet console, it works
159 same way as Linux netconsole, packets are received to UDP
160 port 6666 on IP/MAC specified with options bellow.
161 Use following netcat command: nc -u -l -p 6666
162
163config CONSOLE_NE2K_DST_MAC
164 depends on CONSOLE_NE2K
165 string "Destination MAC address of remote system"
166 default "00:13:d4:76:a2:ac"
167 help
168 Type in either MAC address of logging system or MAC address
169 of the router.
170
171config CONSOLE_NE2K_DST_IP
172 depends on CONSOLE_NE2K
173 string "Destination IP of logging system"
174 default "10.0.1.27"
175 help
176 This is IP adress of the system running for example
177 netcat command to dump the packets.
178
179config CONSOLE_NE2K_SRC_IP
180 depends on CONSOLE_NE2K
Stefan Reinauerd6b4f1c2010-09-23 18:29:40 +0000181 string "IP address of coreboot system"
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000182 default "10.0.1.253"
183 help
Stefan Reinauerd6b4f1c2010-09-23 18:29:40 +0000184 This is the IP of the coreboot system
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000185
186config CONSOLE_NE2K_IO_PORT
187 depends on CONSOLE_NE2K
188 hex "NE2000 adapter fixed IO port address"
189 default 0xe00
190 help
191 This is the IO port address for the IO port
192 on the card, please select some non-conflicting region,
193 32 bytes of IO spaces will be used (and align on 32 bytes
194 boundary, qemu needs broader align)
195
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700196config CONSOLE_CBMEM
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700197 bool "Send console output to a CBMEM buffer"
198 default n
199 help
200 Enable this to save the console output in a CBMEM buffer. This would
201 allow to see coreboot console output from Linux space.
202
203config CONSOLE_CBMEM_BUFFER_SIZE
204 depends on CONSOLE_CBMEM
205 hex "Room allocated for console output in CBMEM"
Stefan Reinauer1b632af2011-10-04 16:21:17 -0700206 default 0x10000
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700207 help
208 Space allocated for console output storage in CBMEM. The default
Stefan Reinauer1b632af2011-10-04 16:21:17 -0700209 value (64K or 0x10000 bytes) is large enough to accommodate
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700210 even the BIOS_SPEW level.
211
212config CONSOLE_CAR_BUFFER_SIZE
213 depends on CONSOLE_CBMEM
Stefan Reinauer1b632af2011-10-04 16:21:17 -0700214 hex "Room allocated for console output in Cache as RAM"
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700215 default 0xc00
216 help
217 Console is used before RAM is initialized. This is the room reserved
218 in the DCACHE based RAM to keep console output before it can be
219 saved in a CBMEM buffer. 3K bytes should be enough even for the
220 BIOS_SPEW level.
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200221
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200222config CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200223 bool "QEMU debug console output"
224 depends on BOARD_EMULATION_QEMU_X86
225 default y
226 help
227 Send coreboot debug output to QEMU's isa-debugcon device:
228
229 qemu-system-x86_64 \
230 -chardev file,id=debugcon,path=/dir/file.log \
231 -device isa-debugcon,iobase=0x402,chardev=debugcon
232
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200233config CONSOLE_QEMU_DEBUGCON_PORT
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200234 hex "QEMU debug console port"
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200235 depends on CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200236 default 0x402
237
Uwe Hermann7fe41912009-10-11 13:35:24 +0000238choice
Myles Watson03646182009-10-16 19:29:45 +0000239 prompt "Default console log level"
240 default DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermann7fe41912009-10-11 13:35:24 +0000241
242config DEFAULT_CONSOLE_LOGLEVEL_8
Myles Watson03646182009-10-16 19:29:45 +0000243 bool "8: SPEW"
Myles Watson03646182009-10-16 19:29:45 +0000244 help
245 Way too many details.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000246config DEFAULT_CONSOLE_LOGLEVEL_7
Myles Watson03646182009-10-16 19:29:45 +0000247 bool "7: DEBUG"
Myles Watson03646182009-10-16 19:29:45 +0000248 help
249 Debug-level messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000250config DEFAULT_CONSOLE_LOGLEVEL_6
Myles Watson03646182009-10-16 19:29:45 +0000251 bool "6: INFO"
Myles Watson03646182009-10-16 19:29:45 +0000252 help
253 Informational messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000254config DEFAULT_CONSOLE_LOGLEVEL_5
Myles Watson03646182009-10-16 19:29:45 +0000255 bool "5: NOTICE"
Myles Watson03646182009-10-16 19:29:45 +0000256 help
257 Normal but significant conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000258config DEFAULT_CONSOLE_LOGLEVEL_4
Myles Watson03646182009-10-16 19:29:45 +0000259 bool "4: WARNING"
Myles Watson03646182009-10-16 19:29:45 +0000260 help
261 Warning conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000262config DEFAULT_CONSOLE_LOGLEVEL_3
Myles Watson03646182009-10-16 19:29:45 +0000263 bool "3: ERR"
Myles Watson03646182009-10-16 19:29:45 +0000264 help
265 Error conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000266config DEFAULT_CONSOLE_LOGLEVEL_2
Myles Watson03646182009-10-16 19:29:45 +0000267 bool "2: CRIT"
Myles Watson03646182009-10-16 19:29:45 +0000268 help
269 Critical conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000270config DEFAULT_CONSOLE_LOGLEVEL_1
Myles Watson03646182009-10-16 19:29:45 +0000271 bool "1: ALERT"
Myles Watson03646182009-10-16 19:29:45 +0000272 help
273 Action must be taken immediately.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000274config DEFAULT_CONSOLE_LOGLEVEL_0
Myles Watson03646182009-10-16 19:29:45 +0000275 bool "0: EMERG"
276 help
277 System is unusable.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000278
279endchoice
280
Patrick Georgi0588d192009-08-12 15:00:51 +0000281config DEFAULT_CONSOLE_LOGLEVEL
Uwe Hermann7fe41912009-10-11 13:35:24 +0000282 int
283 default 0 if DEFAULT_CONSOLE_LOGLEVEL_0
284 default 1 if DEFAULT_CONSOLE_LOGLEVEL_1
285 default 2 if DEFAULT_CONSOLE_LOGLEVEL_2
286 default 3 if DEFAULT_CONSOLE_LOGLEVEL_3
287 default 4 if DEFAULT_CONSOLE_LOGLEVEL_4
288 default 5 if DEFAULT_CONSOLE_LOGLEVEL_5
289 default 6 if DEFAULT_CONSOLE_LOGLEVEL_6
290 default 7 if DEFAULT_CONSOLE_LOGLEVEL_7
291 default 8 if DEFAULT_CONSOLE_LOGLEVEL_8
292 help
293 Map the log level config names to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000294
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000295config NO_POST
296 bool "Don't show any POST codes"
297 default n
298
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700299config CMOS_POST
300 bool "Store post codes in CMOS for debugging"
Stefan Reinauerc2d5a162012-12-06 14:25:27 -0800301 depends on !NO_POST && PC80_SYSTEM
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700302 default n
303 help
304 If enabled, coreboot will store post codes in CMOS and switch between
305 two offsets on each boot so the last post code in the previous boot
306 can be retrieved. This uses 3 bytes of CMOS.
307
308config CMOS_POST_OFFSET
309 hex "Offset into CMOS to store POST codes"
310 depends on CMOS_POST
311 default 0
312 help
313 If CMOS_POST is enabled then an offset into CMOS must be provided.
314 If CONFIG_HAVE_OPTION_TABLE is enabled then it will use the value
315 defined in the mainboard option table.
316
Duncan Lauried5686fe2013-06-10 10:21:41 -0700317config CMOS_POST_EXTRA
318 bool "Store extra logging info into CMOS"
319 depends on CMOS_POST
320 default n
321 help
322 This will enable extra logging of work that happens between post
323 codes into CMOS for debug. This uses an additional 8 bytes of CMOS.
324
Idwer Vollering5809a732014-03-11 15:36:21 +0000325config POST_IO
326 bool "Show POST codes on the debug console"
327 depends on !NO_POST
328 default n
329 help
330 If enabled, coreboot will additionally print POST codes (which are
331 usually displayed using a so-called "POST card" ISA/PCI/PCI-E
332 device) on the debug console.
333
334config POST_DEVICE
335 bool "Send POST codes to an external device"
336 depends on !NO_POST
337 default y
338
339choice
340 prompt "Device to send POST codes to"
341 depends on POST_DEVICE
342 default POST_DEVICE_NONE
343
344config POST_DEVICE_NONE
345 bool "None"
346config POST_DEVICE_LPC
347 bool "LPC"
348config POST_DEVICE_PCI_PCIE
349 bool "PCI/PCIe"
350endchoice
351
352config POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800353 bool "Send POST codes to an IO port"
Idwer Vollering5809a732014-03-11 15:36:21 +0000354 depends on PC80_SYSTEM && !NO_POST
David Hendricks6b908d02012-11-05 12:34:09 -0800355 default y
356 help
357 If enabled, POST codes will be written to an IO port.
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000358
Idwer Vollering5809a732014-03-11 15:36:21 +0000359config POST_IO_PORT
360 depends on POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800361 hex "IO port for POST codes"
362 default 0x80
363 help
364 POST codes on x86 are typically written to the LPC bus on port
365 0x80. However, it may be desireable to change the port number
366 depending on the presence of coprocessors/microcontrollers or if the
367 platform does not support IO in the conventional x86 manner.
368
369endmenu