blob: 8a2da1c5e5f1f331d8ce861bb6c6dc5e84d5647c [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
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
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020051 depends on DRIVERS_UART_8250IO
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"
172 default n
173 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
177config CONSOLE_CBMEM_BUFFER_SIZE
178 depends on CONSOLE_CBMEM
179 hex "Room allocated for console output in CBMEM"
Stefan Reinauer1b632af2011-10-04 16:21:17 -0700180 default 0x10000
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700181 help
182 Space allocated for console output storage in CBMEM. The default
Stefan Reinauer1b632af2011-10-04 16:21:17 -0700183 value (64K or 0x10000 bytes) is large enough to accommodate
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700184 even the BIOS_SPEW level.
185
186config CONSOLE_CAR_BUFFER_SIZE
187 depends on CONSOLE_CBMEM
Stefan Reinauer1b632af2011-10-04 16:21:17 -0700188 hex "Room allocated for console output in Cache as RAM"
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700189 default 0xc00
190 help
191 Console is used before RAM is initialized. This is the room reserved
192 in the DCACHE based RAM to keep console output before it can be
193 saved in a CBMEM buffer. 3K bytes should be enough even for the
194 BIOS_SPEW level.
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200195
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200196config CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200197 bool "QEMU debug console output"
198 depends on BOARD_EMULATION_QEMU_X86
199 default y
200 help
201 Send coreboot debug output to QEMU's isa-debugcon device:
202
203 qemu-system-x86_64 \
204 -chardev file,id=debugcon,path=/dir/file.log \
205 -device isa-debugcon,iobase=0x402,chardev=debugcon
206
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200207config CONSOLE_QEMU_DEBUGCON_PORT
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200208 hex "QEMU debug console port"
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200209 depends on CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200210 default 0x402
211
Uwe Hermann7fe41912009-10-11 13:35:24 +0000212choice
Myles Watson03646182009-10-16 19:29:45 +0000213 prompt "Default console log level"
214 default DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermann7fe41912009-10-11 13:35:24 +0000215
216config DEFAULT_CONSOLE_LOGLEVEL_8
Myles Watson03646182009-10-16 19:29:45 +0000217 bool "8: SPEW"
Myles Watson03646182009-10-16 19:29:45 +0000218 help
219 Way too many details.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000220config DEFAULT_CONSOLE_LOGLEVEL_7
Myles Watson03646182009-10-16 19:29:45 +0000221 bool "7: DEBUG"
Myles Watson03646182009-10-16 19:29:45 +0000222 help
223 Debug-level messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000224config DEFAULT_CONSOLE_LOGLEVEL_6
Myles Watson03646182009-10-16 19:29:45 +0000225 bool "6: INFO"
Myles Watson03646182009-10-16 19:29:45 +0000226 help
227 Informational messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000228config DEFAULT_CONSOLE_LOGLEVEL_5
Myles Watson03646182009-10-16 19:29:45 +0000229 bool "5: NOTICE"
Myles Watson03646182009-10-16 19:29:45 +0000230 help
231 Normal but significant conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000232config DEFAULT_CONSOLE_LOGLEVEL_4
Myles Watson03646182009-10-16 19:29:45 +0000233 bool "4: WARNING"
Myles Watson03646182009-10-16 19:29:45 +0000234 help
235 Warning conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000236config DEFAULT_CONSOLE_LOGLEVEL_3
Myles Watson03646182009-10-16 19:29:45 +0000237 bool "3: ERR"
Myles Watson03646182009-10-16 19:29:45 +0000238 help
239 Error conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000240config DEFAULT_CONSOLE_LOGLEVEL_2
Myles Watson03646182009-10-16 19:29:45 +0000241 bool "2: CRIT"
Myles Watson03646182009-10-16 19:29:45 +0000242 help
243 Critical conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000244config DEFAULT_CONSOLE_LOGLEVEL_1
Myles Watson03646182009-10-16 19:29:45 +0000245 bool "1: ALERT"
Myles Watson03646182009-10-16 19:29:45 +0000246 help
247 Action must be taken immediately.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000248config DEFAULT_CONSOLE_LOGLEVEL_0
Myles Watson03646182009-10-16 19:29:45 +0000249 bool "0: EMERG"
250 help
251 System is unusable.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000252
253endchoice
254
Patrick Georgi0588d192009-08-12 15:00:51 +0000255config DEFAULT_CONSOLE_LOGLEVEL
Uwe Hermann7fe41912009-10-11 13:35:24 +0000256 int
257 default 0 if DEFAULT_CONSOLE_LOGLEVEL_0
258 default 1 if DEFAULT_CONSOLE_LOGLEVEL_1
259 default 2 if DEFAULT_CONSOLE_LOGLEVEL_2
260 default 3 if DEFAULT_CONSOLE_LOGLEVEL_3
261 default 4 if DEFAULT_CONSOLE_LOGLEVEL_4
262 default 5 if DEFAULT_CONSOLE_LOGLEVEL_5
263 default 6 if DEFAULT_CONSOLE_LOGLEVEL_6
264 default 7 if DEFAULT_CONSOLE_LOGLEVEL_7
265 default 8 if DEFAULT_CONSOLE_LOGLEVEL_8
266 help
267 Map the log level config names to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000268
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000269config NO_POST
270 bool "Don't show any POST codes"
271 default n
272
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700273config CMOS_POST
274 bool "Store post codes in CMOS for debugging"
Stefan Reinauerc2d5a162012-12-06 14:25:27 -0800275 depends on !NO_POST && PC80_SYSTEM
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700276 default n
277 help
278 If enabled, coreboot will store post codes in CMOS and switch between
279 two offsets on each boot so the last post code in the previous boot
280 can be retrieved. This uses 3 bytes of CMOS.
281
282config CMOS_POST_OFFSET
283 hex "Offset into CMOS to store POST codes"
284 depends on CMOS_POST
285 default 0
286 help
287 If CMOS_POST is enabled then an offset into CMOS must be provided.
288 If CONFIG_HAVE_OPTION_TABLE is enabled then it will use the value
289 defined in the mainboard option table.
290
Duncan Lauried5686fe2013-06-10 10:21:41 -0700291config CMOS_POST_EXTRA
292 bool "Store extra logging info into CMOS"
293 depends on CMOS_POST
294 default n
295 help
296 This will enable extra logging of work that happens between post
297 codes into CMOS for debug. This uses an additional 8 bytes of CMOS.
298
Daniele Forsiad488d22014-07-30 12:23:35 +0200299config CONSOLE_POST
Idwer Vollering5809a732014-03-11 15:36:21 +0000300 bool "Show POST codes on the debug console"
301 depends on !NO_POST
302 default n
303 help
304 If enabled, coreboot will additionally print POST codes (which are
305 usually displayed using a so-called "POST card" ISA/PCI/PCI-E
306 device) on the debug console.
307
308config POST_DEVICE
309 bool "Send POST codes to an external device"
310 depends on !NO_POST
311 default y
312
313choice
314 prompt "Device to send POST codes to"
315 depends on POST_DEVICE
316 default POST_DEVICE_NONE
317
318config POST_DEVICE_NONE
319 bool "None"
320config POST_DEVICE_LPC
321 bool "LPC"
322config POST_DEVICE_PCI_PCIE
323 bool "PCI/PCIe"
324endchoice
325
326config POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800327 bool "Send POST codes to an IO port"
Idwer Vollering5809a732014-03-11 15:36:21 +0000328 depends on PC80_SYSTEM && !NO_POST
David Hendricks6b908d02012-11-05 12:34:09 -0800329 default y
330 help
331 If enabled, POST codes will be written to an IO port.
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000332
Idwer Vollering5809a732014-03-11 15:36:21 +0000333config POST_IO_PORT
334 depends on POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800335 hex "IO port for POST codes"
336 default 0x80
337 help
338 POST codes on x86 are typically written to the LPC bus on port
Daniele Forsi53847a22014-07-22 18:00:56 +0200339 0x80. However, it may be desirable to change the port number
David Hendricks6b908d02012-11-05 12:34:09 -0800340 depending on the presence of coprocessors/microcontrollers or if the
341 platform does not support IO in the conventional x86 manner.
342
343endmenu