blob: 8efe2e47993b3795aea301972ed7d0e019e98218 [file] [log] [blame]
Stefan Reinauer1b342262011-01-05 02:27:53 +00001menu "Console"
Hung-Te Linad173ea2013-02-06 21:24:12 +08002
Nico Huberf86baf32019-01-15 00:05:46 +01003config NO_BOOTBLOCK_CONSOLE
4 bool
5
Gabe Blackfbb11cf2013-06-06 00:21:20 -07006config BOOTBLOCK_CONSOLE
7 bool "Enable early (bootblock) console output."
Arthur Heymans494b0312019-11-28 16:22:06 +01008 depends on !NO_BOOTBLOCK_CONSOLE
Nico Huber1d748c52019-01-13 13:14:04 +01009 default y
Gabe Blackfbb11cf2013-06-06 00:21:20 -070010 help
11 Use console during the bootblock if supported
12
Lee Leahy049b4622016-07-31 11:53:28 -070013config POSTCAR_CONSOLE
14 bool "Enable console output during postcar."
15 depends on POSTCAR_STAGE
Kyösti Mälkki9fc12e02019-08-09 07:09:48 +030016 default y
Lee Leahy049b4622016-07-31 11:53:28 -070017 help
18 Use console during the postcar if supported
19
Kyösti Mälkki361cd812013-08-12 23:29:57 +030020config SQUELCH_EARLY_SMP
21 bool "Squelch AP CPUs from early console."
22 default y
Lee Leahyf2ad50f2016-02-08 16:19:56 -080023 depends on SMP
Kyösti Mälkki361cd812013-08-12 23:29:57 +030024 help
25 When selected only the BSP CPU will output to early console.
26
27 Console drivers have unpredictable behaviour if multiple threads
28 attempt to share the same resources without a spinlock.
29
30 If unsure, say Y.
31
Hung-Te Linad173ea2013-02-06 21:24:12 +080032config CONSOLE_SERIAL
Uwe Hermannd12b7032009-10-16 22:39:55 +000033 bool "Serial port console output"
Stefan Reinauer509f7722012-12-07 17:31:37 -080034 default y
Nico Huber755db952018-11-11 01:42:17 +010035 depends on DRIVERS_UART
Stefan Reinauer509f7722012-12-07 17:31:37 -080036 help
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020037 Send coreboot debug output to a serial port.
David Hendricks6a503b62012-12-31 17:28:43 -080038
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020039 The type of serial port driver selected based on your configuration is
40 shown on the following menu line. Supporting multiple different types
41 of UARTs in one build is not supported.
Stefan Reinauer4885daa2011-04-26 23:47:04 +000042
Nico Huberda8c12b2019-01-11 10:38:02 +010043config FIXED_UART_FOR_CONSOLE
44 bool
45 help
46 Select to remove the prompt from UART_FOR_CONSOLE in case a
47 specific UART has to be used (e.g. when the platform code
48 performs dangerous configurations).
49
Raul E Rangel6ec3dd22022-01-21 13:34:21 -070050if CONSOLE_SERIAL || CONSOLE_CBMEM_DUMP_TO_UART
Patrick Georgi0588d192009-08-12 15:00:51 +000051
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020052 comment "I/O mapped, 8250-compatible"
53 depends on DRIVERS_UART_8250IO
54
55 comment "memory mapped, 8250-compatible"
56 depends on DRIVERS_UART_8250MEM
57
58 comment "device-specific UART"
Hung-Te Linad173ea2013-02-06 21:24:12 +080059 depends on HAVE_UART_SPECIAL
Stefan Reinauer509f7722012-12-07 17:31:37 -080060
Bryant Ou0ee920b2020-09-14 23:41:41 -070061config OVERRIDE_UART_FOR_CONSOLE
62 bool
63 help
64 Set to "y" when the platform overrides the index of uart port by providing
65 a get_uart_for_console routine.
66
67if !OVERRIDE_UART_FOR_CONSOLE
68
Kyösti Mälkki70342a72014-03-14 22:28:29 +020069config UART_FOR_CONSOLE
Nico Hubera96e66a2018-11-11 02:51:14 +010070 int
71 prompt "Index for UART port to use for console" if !FIXED_UART_FOR_CONSOLE
Kyösti Mälkki70342a72014-03-14 22:28:29 +020072 default 0
Martin Rothac76ed92015-11-19 11:40:43 -070073 help
74 Select an I/O port to use for serial console:
75 0 = 0x3f8, 1 = 0x2f8, 2 = 0x3e8, 3 = 0x2e8
Uwe Hermannd12b7032009-10-16 22:39:55 +000076
Kyösti Mälkki70342a72014-03-14 22:28:29 +020077# FIXME: Early programming in romstage is incorrect as we should
78# program different LDN to actually change the physical port.
Uwe Hermannd12b7032009-10-16 22:39:55 +000079config TTYS0_BASE
80 hex
Gabe Black77ffa0d2013-09-30 21:25:49 -070081 depends on DRIVERS_UART
Kyösti Mälkki70342a72014-03-14 22:28:29 +020082 default 0x3f8 if UART_FOR_CONSOLE = 0
83 default 0x2f8 if UART_FOR_CONSOLE = 1
84 default 0x3e8 if UART_FOR_CONSOLE = 2
85 default 0x2e8 if UART_FOR_CONSOLE = 3
Uwe Hermannd12b7032009-10-16 22:39:55 +000086 help
Kyösti Mälkki70342a72014-03-14 22:28:29 +020087 Map the COM port number to the respective I/O port.
Uwe Hermannd12b7032009-10-16 22:39:55 +000088
Martin Rothac76ed92015-11-19 11:40:43 -070089comment "Serial port base address = 0x3f8"
Martin Roth3c2e2872019-07-11 12:54:12 -060090depends on DRIVERS_UART_8250IO && UART_FOR_CONSOLE = 0
Martin Rothac76ed92015-11-19 11:40:43 -070091comment "Serial port base address = 0x2f8"
Martin Roth3c2e2872019-07-11 12:54:12 -060092depends on DRIVERS_UART_8250IO && UART_FOR_CONSOLE = 1
Martin Rothac76ed92015-11-19 11:40:43 -070093comment "Serial port base address = 0x3e8"
Martin Roth3c2e2872019-07-11 12:54:12 -060094depends on DRIVERS_UART_8250IO && UART_FOR_CONSOLE = 2
Martin Rothac76ed92015-11-19 11:40:43 -070095comment "Serial port base address = 0x2e8"
Martin Roth3c2e2872019-07-11 12:54:12 -060096depends on DRIVERS_UART_8250IO && UART_FOR_CONSOLE = 3
Martin Rothac76ed92015-11-19 11:40:43 -070097
Bryant Ou0ee920b2020-09-14 23:41:41 -070098endif
99
Julien Viard de Galbert235daa42018-02-20 11:45:48 +0100100config UART_OVERRIDE_BAUDRATE
Patrick Georgi0bb83462019-11-22 20:58:58 +0100101 bool
Julien Viard de Galbert235daa42018-02-20 11:45:48 +0100102 help
103 Set to "y" when the platform overrides the baudrate by providing
104 a get_uart_baudrate routine.
105
106if !UART_OVERRIDE_BAUDRATE
107
Uwe Hermannd12b7032009-10-16 22:39:55 +0000108choice
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000109 prompt "Baud rate"
Uwe Hermannd12b7032009-10-16 22:39:55 +0000110 default CONSOLE_SERIAL_115200
Uwe Hermannd12b7032009-10-16 22:39:55 +0000111
Lee Leahycda71b82016-02-20 05:39:10 -0800112config CONSOLE_SERIAL_921600
113 bool "921600"
114 help
115 Set serial port Baud rate to 921600.
116config CONSOLE_SERIAL_460800
117 bool "460800"
118 help
119 Set serial port Baud rate to 460800.
120config CONSOLE_SERIAL_230400
121 bool "230400"
122 help
123 Set serial port Baud rate to 230400.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000124config CONSOLE_SERIAL_115200
125 bool "115200"
126 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000127 Set serial port Baud rate to 115200.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000128config CONSOLE_SERIAL_57600
129 bool "57600"
130 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000131 Set serial port Baud rate to 57600.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000132config CONSOLE_SERIAL_38400
133 bool "38400"
134 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000135 Set serial port Baud rate to 38400.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000136config CONSOLE_SERIAL_19200
137 bool "19200"
138 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000139 Set serial port Baud rate to 19200.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000140config CONSOLE_SERIAL_9600
141 bool "9600"
142 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000143 Set serial port Baud rate to 9600.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000144
145endchoice
Patrick Georgi0588d192009-08-12 15:00:51 +0000146
Stefan Reinauer509f7722012-12-07 17:31:37 -0800147#FIXME(dhendrix): Change name to SERIAL_BAUD? (Stefan sayz: yes!!)
Patrick Georgi0588d192009-08-12 15:00:51 +0000148config TTYS0_BAUD
Uwe Hermannd12b7032009-10-16 22:39:55 +0000149 int
Lee Leahycda71b82016-02-20 05:39:10 -0800150 default 921600 if CONSOLE_SERIAL_921600
151 default 460800 if CONSOLE_SERIAL_460800
152 default 230400 if CONSOLE_SERIAL_230400
Uwe Hermannd12b7032009-10-16 22:39:55 +0000153 default 115200 if CONSOLE_SERIAL_115200
154 default 57600 if CONSOLE_SERIAL_57600
155 default 38400 if CONSOLE_SERIAL_38400
156 default 19200 if CONSOLE_SERIAL_19200
157 default 9600 if CONSOLE_SERIAL_9600
158 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000159 Map the Baud rates to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000160
Julien Viard de Galbert235daa42018-02-20 11:45:48 +0100161endif
162
Uwe Hermann168b11b2009-10-07 16:15:40 +0000163# TODO: Allow user-friendly selection of settings other than 8n1.
Patrick Georgi0e9a9252009-10-06 20:48:07 +0000164config TTYS0_LCS
165 int
166 default 3
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +0200167 depends on DRIVERS_UART_8250IO || DRIVERS_UART_8250MEM
168
169endif # CONSOLE_SERIAL
Patrick Georgi0e9a9252009-10-06 20:48:07 +0000170
Vladimir Serbinenko45988da2013-03-30 02:02:13 +0100171config SPKMODEM
172 bool "spkmodem (console on speaker) console output"
173 default n
Vladimir Serbinenkod51a0892016-03-04 09:20:20 +0100174 depends on ARCH_X86
Vladimir Serbinenko45988da2013-03-30 02:02:13 +0100175 help
176 Send coreboot debug output through speaker
177
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200178config CONSOLE_USB
179 bool "USB dongle console output"
180 depends on USBDEBUG
Nico Huber06125eb2018-10-03 12:02:09 +0200181 default y
Uwe Hermann168b11b2009-10-07 16:15:40 +0000182 help
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200183 Send coreboot debug output to USB.
Uwe Hermann168b11b2009-10-07 16:15:40 +0000184
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200185 Configuration for USB hardware is under menu Generic Drivers.
Kyösti Mälkkid2dac0a2013-08-23 23:33:16 +0300186
Uwe Hermann168b11b2009-10-07 16:15:40 +0000187# TODO: Deps?
188# TODO: Improve description.
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000189config CONSOLE_NE2K
190 bool "Network console over NE2000 compatible Ethernet adapter"
191 default n
Vladimir Serbinenkod51a0892016-03-04 09:20:20 +0100192 depends on PCI
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000193 help
194 Send coreboot debug output to a Ethernet console, it works
195 same way as Linux netconsole, packets are received to UDP
Martin Roth0949e732021-10-01 14:28:22 -0600196 port 6666 on IP/MAC specified with options below.
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000197 Use following netcat command: nc -u -l -p 6666
198
199config CONSOLE_NE2K_DST_MAC
200 depends on CONSOLE_NE2K
201 string "Destination MAC address of remote system"
202 default "00:13:d4:76:a2:ac"
203 help
204 Type in either MAC address of logging system or MAC address
205 of the router.
206
207config CONSOLE_NE2K_DST_IP
208 depends on CONSOLE_NE2K
209 string "Destination IP of logging system"
210 default "10.0.1.27"
211 help
Daniele Forsi53847a22014-07-22 18:00:56 +0200212 This is IP address of the system running for example
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000213 netcat command to dump the packets.
214
215config CONSOLE_NE2K_SRC_IP
216 depends on CONSOLE_NE2K
Stefan Reinauerd6b4f1c2010-09-23 18:29:40 +0000217 string "IP address of coreboot system"
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000218 default "10.0.1.253"
219 help
Stefan Reinauerd6b4f1c2010-09-23 18:29:40 +0000220 This is the IP of the coreboot system
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000221
222config CONSOLE_NE2K_IO_PORT
223 depends on CONSOLE_NE2K
224 hex "NE2000 adapter fixed IO port address"
225 default 0xe00
226 help
227 This is the IO port address for the IO port
228 on the card, please select some non-conflicting region,
229 32 bytes of IO spaces will be used (and align on 32 bytes
230 boundary, qemu needs broader align)
231
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700232config CONSOLE_CBMEM
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700233 bool "Send console output to a CBMEM buffer"
Paul Menzel60ef4562014-03-08 10:46:52 +0100234 default y
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700235 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
Kyösti Mälkki8659e402014-12-21 08:55:47 +0200239if CONSOLE_CBMEM
240
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700241config CONSOLE_CBMEM_BUFFER_SIZE
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700242 hex "Room allocated for console output in CBMEM"
Vladimir Serbinenkoeb67a042014-09-13 20:55:58 +0200243 default 0x20000
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700244 help
245 Space allocated for console output storage in CBMEM. The default
Vladimir Serbinenkoeb67a042014-09-13 20:55:58 +0200246 value (128K or 0x20000 bytes) is large enough to accommodate
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700247 even the BIOS_SPEW level.
248
Vadim Bendebury6e20e2f2015-04-10 18:04:04 -0700249config CONSOLE_CBMEM_DUMP_TO_UART
250 depends on !CONSOLE_SERIAL
251 bool "Dump CBMEM console on resets"
252 default n
253 help
254 Enable this to have CBMEM console buffer contents dumped on the
255 serial output in case serial console is disabled and the device
256 resets itself while trying to boot the payload.
257
Raul E Rangel80a7f4e2022-01-11 12:54:36 -0700258config CONSOLE_CBMEM_PRINT_PRE_BOOTBLOCK_CONTENTS
259 bool
260 help
261 Pre-bootblock stages (i.e., VBOOT_STARTS_BEFORE_BOOTBLOCK) might not
262 have the ability to log to the UART, so their console messages are
263 inaccessible until the boot processes gets into the payload or OS.
264 This feature will dump the pre-bootblock CBMEM console immediately
265 after the bootblock console is initialized.
Kyösti Mälkki8659e402014-12-21 08:55:47 +0200266endif
267
Youness Alaouic4b4ff32017-05-11 10:36:29 -0400268config CONSOLE_SPI_FLASH
269 bool "SPI Flash console output"
270 default n
Arthur Heymans6e8abc42021-04-30 16:00:38 +0200271 depends on BOOT_DEVICE_SPI_FLASH
Youness Alaouic4b4ff32017-05-11 10:36:29 -0400272 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if !COMMON_CBFS_SPI_WRAPPER
273 help
274 Send coreboot debug output to the SPI Flash in the FMAP CONSOLE area
275
276 This option can cause premature wear on the SPI flash and should not
277 be used as a normal means of debugging. It is only to be enabled and
278 used when porting a new motherboard which has no other console
279 available (no UART, no POST, no cbmem access(non bootable)). Since
280 a non bootable machine will require the use of an external SPI Flash
281 programmer, the developer can grab the console log at the same time.
282
283 The flash console will not be erased on reboot, so once it is full,
284 the flashconsole driver will stop writing to it. This is to avoid
285 wear on the flash, and to avoid erasing sectors (which may freeze
286 the SPI controller on skylake).
287
288 The 'CONSOLE' area can be extracted from the FMAP with :
289 cbfstool rom.bin read -r CONSOLE -f console.log
290
291config CONSOLE_SPI_FLASH_BUFFER_SIZE
292 hex "Room allocated for console output in FMAP"
293 default 0x20000
294 depends on CONSOLE_SPI_FLASH
295 help
296 Space allocated for console output storage in FMAP. The default
297 value (128K or 0x20000 bytes) is large enough to accommodate
298 even the BIOS_SPEW level.
299
Husni Faiz67300f82022-09-05 15:23:15 +0530300config CONSOLE_I2C_SMBUS
301 bool "SMBus console output"
302 depends on SOUTHBRIDGE_INTEL_COMMON_SMBUS
303 help
304 Send coreboot debug output to the SMBus.
305 The output can be read with an I2C slave device connected
306 the SMBus. Please refer to the technotes section of the
307 coreboot documentation for more details.
308
309if CONSOLE_I2C_SMBUS
310 comment "Set logging device address and data register address"
311
312config CONSOLE_I2C_SMBUS_SLAVE_ADDRESS
313 hex "I2C slave address of the logging device"
Husni Faizb80535a2022-09-09 17:49:53 +0530314 default 0x48 if SC16IS7XX_INIT
Husni Faiz67300f82022-09-05 15:23:15 +0530315 help
316 I2C address of the device which logs the data.
317
318config CONSOLE_I2C_SMBUS_SLAVE_DATA_REGISTER
319 hex "Data register address of the I2C logging device"
Husni Faizb80535a2022-09-09 17:49:53 +0530320 default 0x00 if SC16IS7XX_INIT
Husni Faiz67300f82022-09-05 15:23:15 +0530321 help
322 This an 8-bit data register.
323
Husni Faizb80535a2022-09-09 17:49:53 +0530324config SC16IS7XX_INIT
325 bool "Initialize SC16IS7XX I2C to UART converter chip"
326 help
327 SC16IS7XX is a slave I2C to UART converter chip. Enabling
328 this option will initialize the chip.
329
330 The default I2C slave address value 0x48 is the address of
331 SC16IS7XX I2C to UART converter chip when the A1 and A0 pins
332 are set to Vcc.
333
334 The default data register address value 0x00 is the data
335 register address of SC16IS7XX I2C to UART converter chip.
336
Husni Faiz67300f82022-09-05 15:23:15 +0530337endif # CONSOLE_I2C_SMBUS
338
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200339config CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200340 bool "QEMU debug console output"
Angel Ponsd6152302020-03-01 14:46:38 +0100341 depends on CPU_QEMU_X86
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200342 default y
343 help
344 Send coreboot debug output to QEMU's isa-debugcon device:
345
346 qemu-system-x86_64 \
347 -chardev file,id=debugcon,path=/dir/file.log \
348 -device isa-debugcon,iobase=0x402,chardev=debugcon
349
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200350config CONSOLE_QEMU_DEBUGCON_PORT
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200351 hex "QEMU debug console port"
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200352 depends on CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200353 default 0x402
354
Angel Pons12d48cd2020-10-03 12:22:04 +0200355config EM100PRO_SPI_CONSOLE
356 bool "EM100Pro SPI debug console output"
357 depends on HAVE_EM100PRO_SPI_CONSOLE_SUPPORT && !DEBUG_SPI_FLASH
Martin Roth3a543182015-09-28 15:27:24 -0600358 help
359 Enable support for the debug console on the Dediprog EM100Pro.
360 This is currently working only in ramstage due to how the spi
361 drivers are written.
362
Jeremy Soller52785ab2020-07-22 06:40:28 -0600363config CONSOLE_SYSTEM76_EC
364 bool "System76 EC console output"
365 default n
366 depends on EC_SYSTEM76_EC
367 help
368 Send coreboot debug output to a System76 embedded controller.
369
Fred Reitbergera02176d2023-02-01 16:00:54 -0500370config CONSOLE_AMD_SIMNOW
371 bool "AMD SimNow console output"
372 default n
373 depends on SOC_AMD_COMMON && !POST_IO
374 select CONSOLE_POST
375 help
376 Send coreboot debug output to IO ports for SimNow
377
Julien Viard de Galbert4ecd42f2018-02-20 15:01:27 +0100378config CONSOLE_OVERRIDE_LOGLEVEL
Patrick Georgi0bb83462019-11-22 20:58:58 +0100379 bool
Julien Viard de Galbert4ecd42f2018-02-20 15:01:27 +0100380 help
381 Set to "y" when the platform overrides the loglevel by providing
382 a get_console_loglevel routine.
383
384if !CONSOLE_OVERRIDE_LOGLEVEL
385
Uwe Hermann7fe41912009-10-11 13:35:24 +0000386choice
Myles Watson03646182009-10-16 19:29:45 +0000387 prompt "Default console log level"
Julius Wernere64a5852018-10-15 17:19:58 -0700388 default DEFAULT_CONSOLE_LOGLEVEL_8 if CHROMEOS
Nico Huber715a5022018-05-04 12:04:00 +0200389 default DEFAULT_CONSOLE_LOGLEVEL_7
Uwe Hermann7fe41912009-10-11 13:35:24 +0000390
391config DEFAULT_CONSOLE_LOGLEVEL_8
Myles Watson03646182009-10-16 19:29:45 +0000392 bool "8: SPEW"
Myles Watson03646182009-10-16 19:29:45 +0000393 help
394 Way too many details.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000395config DEFAULT_CONSOLE_LOGLEVEL_7
Myles Watson03646182009-10-16 19:29:45 +0000396 bool "7: DEBUG"
Myles Watson03646182009-10-16 19:29:45 +0000397 help
398 Debug-level messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000399config DEFAULT_CONSOLE_LOGLEVEL_6
Myles Watson03646182009-10-16 19:29:45 +0000400 bool "6: INFO"
Myles Watson03646182009-10-16 19:29:45 +0000401 help
402 Informational messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000403config DEFAULT_CONSOLE_LOGLEVEL_5
Myles Watson03646182009-10-16 19:29:45 +0000404 bool "5: NOTICE"
Myles Watson03646182009-10-16 19:29:45 +0000405 help
406 Normal but significant conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000407config DEFAULT_CONSOLE_LOGLEVEL_4
Myles Watson03646182009-10-16 19:29:45 +0000408 bool "4: WARNING"
Myles Watson03646182009-10-16 19:29:45 +0000409 help
410 Warning conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000411config DEFAULT_CONSOLE_LOGLEVEL_3
Myles Watson03646182009-10-16 19:29:45 +0000412 bool "3: ERR"
Myles Watson03646182009-10-16 19:29:45 +0000413 help
414 Error conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000415config DEFAULT_CONSOLE_LOGLEVEL_2
Myles Watson03646182009-10-16 19:29:45 +0000416 bool "2: CRIT"
Myles Watson03646182009-10-16 19:29:45 +0000417 help
418 Critical conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000419config DEFAULT_CONSOLE_LOGLEVEL_1
Myles Watson03646182009-10-16 19:29:45 +0000420 bool "1: ALERT"
Myles Watson03646182009-10-16 19:29:45 +0000421 help
422 Action must be taken immediately.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000423config DEFAULT_CONSOLE_LOGLEVEL_0
Myles Watson03646182009-10-16 19:29:45 +0000424 bool "0: EMERG"
425 help
426 System is unusable.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000427
428endchoice
429
Patrick Georgi0588d192009-08-12 15:00:51 +0000430config DEFAULT_CONSOLE_LOGLEVEL
Uwe Hermann7fe41912009-10-11 13:35:24 +0000431 int
432 default 0 if DEFAULT_CONSOLE_LOGLEVEL_0
433 default 1 if DEFAULT_CONSOLE_LOGLEVEL_1
434 default 2 if DEFAULT_CONSOLE_LOGLEVEL_2
435 default 3 if DEFAULT_CONSOLE_LOGLEVEL_3
436 default 4 if DEFAULT_CONSOLE_LOGLEVEL_4
437 default 5 if DEFAULT_CONSOLE_LOGLEVEL_5
438 default 6 if DEFAULT_CONSOLE_LOGLEVEL_6
439 default 7 if DEFAULT_CONSOLE_LOGLEVEL_7
440 default 8 if DEFAULT_CONSOLE_LOGLEVEL_8
441 help
442 Map the log level config names to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000443
Julien Viard de Galbert4ecd42f2018-02-20 15:01:27 +0100444endif
445
Igor Bagnuckif0d65212022-03-03 11:41:57 +0100446config CONSOLE_USE_LOGLEVEL_PREFIX
447 bool "Use loglevel prefix to indicate line loglevel"
448 default y
449 help
450 When enabled, if the code contains a:
451 `printk(BIOS_DEBUG, "This is a debug message!\n")`,
452 it will show up as:
453 `[DEBUG] This is a debug message!`
454
Julius Wernera120e0d2022-01-21 15:24:12 -0800455config CONSOLE_USE_ANSI_ESCAPES
456 bool "Use ANSI escape sequences for console highlighting"
Zheng Baoddf8d192023-03-29 10:39:32 +0800457 default y if !CONSOLE_AMD_SIMNOW
Julius Wernera120e0d2022-01-21 15:24:12 -0800458 help
459 If enabled, certain consoles (e.g. UART) that are meant to be read on
460 a terminal will use ANSI escape sequences (like `ESC [1m`) to
461 highlight lines based on their log level. Disable this if your
462 terminal does not support ANSI escape sequences.
463
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000464config NO_POST
465 bool "Don't show any POST codes"
466 default n
467
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700468config CMOS_POST
469 bool "Store post codes in CMOS for debugging"
Stefan Reinauerc2d5a162012-12-06 14:25:27 -0800470 depends on !NO_POST && PC80_SYSTEM
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700471 default n
472 help
473 If enabled, coreboot will store post codes in CMOS and switch between
474 two offsets on each boot so the last post code in the previous boot
475 can be retrieved. This uses 3 bytes of CMOS.
476
477config CMOS_POST_OFFSET
478 hex "Offset into CMOS to store POST codes"
479 depends on CMOS_POST
Martin Roth3b878122016-09-30 14:43:01 -0600480 default 0x0
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700481 help
482 If CMOS_POST is enabled then an offset into CMOS must be provided.
483 If CONFIG_HAVE_OPTION_TABLE is enabled then it will use the value
484 defined in the mainboard option table.
485
Daniele Forsiad488d22014-07-30 12:23:35 +0200486config CONSOLE_POST
Idwer Vollering5809a732014-03-11 15:36:21 +0000487 bool "Show POST codes on the debug console"
488 depends on !NO_POST
489 default n
490 help
491 If enabled, coreboot will additionally print POST codes (which are
492 usually displayed using a so-called "POST card" ISA/PCI/PCI-E
493 device) on the debug console.
494
495config POST_DEVICE
496 bool "Send POST codes to an external device"
497 depends on !NO_POST
498 default y
499
500choice
501 prompt "Device to send POST codes to"
502 depends on POST_DEVICE
Kyösti Mälkki657d68b2019-12-03 12:36:09 +0200503 default POST_DEVICE_LPC if DEFAULT_POST_ON_LPC
Idwer Vollering5809a732014-03-11 15:36:21 +0000504 default POST_DEVICE_NONE
505
506config POST_DEVICE_NONE
507 bool "None"
508config POST_DEVICE_LPC
509 bool "LPC"
Vladimir Serbinenkod51a0892016-03-04 09:20:20 +0100510 depends on PCI
Idwer Vollering5809a732014-03-11 15:36:21 +0000511config POST_DEVICE_PCI_PCIE
512 bool "PCI/PCIe"
Vladimir Serbinenkod51a0892016-03-04 09:20:20 +0100513 depends on PCI
Idwer Vollering5809a732014-03-11 15:36:21 +0000514endchoice
515
Kyösti Mälkki657d68b2019-12-03 12:36:09 +0200516config DEFAULT_POST_ON_LPC
517 bool
518 default n
519
Idwer Vollering5809a732014-03-11 15:36:21 +0000520config POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800521 bool "Send POST codes to an IO port"
Idwer Vollering5809a732014-03-11 15:36:21 +0000522 depends on PC80_SYSTEM && !NO_POST
David Hendricks6b908d02012-11-05 12:34:09 -0800523 default y
524 help
525 If enabled, POST codes will be written to an IO port.
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000526
Idwer Vollering5809a732014-03-11 15:36:21 +0000527config POST_IO_PORT
528 depends on POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800529 hex "IO port for POST codes"
530 default 0x80
531 help
532 POST codes on x86 are typically written to the LPC bus on port
Daniele Forsi53847a22014-07-22 18:00:56 +0200533 0x80. However, it may be desirable to change the port number
David Hendricks6b908d02012-11-05 12:34:09 -0800534 depending on the presence of coprocessors/microcontrollers or if the
535 platform does not support IO in the conventional x86 manner.
536
Martin Roth14554372015-11-12 14:02:42 -0700537config NO_EARLY_BOOTBLOCK_POSTCODES
538 def_bool n
539 help
540 Some chipsets require that the routing for the port 80h POST
Martin Roth8a85a842021-06-21 09:18:46 -0600541 code be configured before any POST codes are sent out. If this is
542 not done, the system can hang on the first POST code. This
543 initialization can be done in the boot block, but there are a couple
544 of POST codes that go out before the chipset's C bootblock
545 initialization can happen. This option suppresses all postcodes in
546 the early assembly code.
Martin Roth14554372015-11-12 14:02:42 -0700547
Nico Huberc83239e2016-10-05 17:46:49 +0200548config HWBASE_DEBUG_CB
549 bool
550 default y if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
551 default n
552
553config HWBASE_DEBUG_NULL
554 def_bool y
555 depends on !HWBASE_DEBUG_CB
556
David Hendricks6b908d02012-11-05 12:34:09 -0800557endmenu