blob: 84eb9f971d6c88f01a5c8708568707d24c3e5c33 [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
Arthur Heymansa2bc2542021-05-29 08:10:49 +02005 depends on SEPARATE_ROMSTAGE
Nico Huberf86baf32019-01-15 00:05:46 +01006
Gabe Blackfbb11cf2013-06-06 00:21:20 -07007config BOOTBLOCK_CONSOLE
8 bool "Enable early (bootblock) console output."
Arthur Heymans494b0312019-11-28 16:22:06 +01009 depends on !NO_BOOTBLOCK_CONSOLE
Nico Huber1d748c52019-01-13 13:14:04 +010010 default y
Gabe Blackfbb11cf2013-06-06 00:21:20 -070011 help
12 Use console during the bootblock if supported
13
Lee Leahy049b4622016-07-31 11:53:28 -070014config POSTCAR_CONSOLE
15 bool "Enable console output during postcar."
16 depends on POSTCAR_STAGE
Kyösti Mälkki9fc12e02019-08-09 07:09:48 +030017 default y
Lee Leahy049b4622016-07-31 11:53:28 -070018 help
19 Use console during the postcar if supported
20
Kyösti Mälkki361cd812013-08-12 23:29:57 +030021config SQUELCH_EARLY_SMP
22 bool "Squelch AP CPUs from early console."
23 default y
Lee Leahyf2ad50f2016-02-08 16:19:56 -080024 depends on SMP
Kyösti Mälkki361cd812013-08-12 23:29:57 +030025 help
26 When selected only the BSP CPU will output to early console.
27
28 Console drivers have unpredictable behaviour if multiple threads
29 attempt to share the same resources without a spinlock.
30
31 If unsure, say Y.
32
Hung-Te Linad173ea2013-02-06 21:24:12 +080033config CONSOLE_SERIAL
Uwe Hermannd12b7032009-10-16 22:39:55 +000034 bool "Serial port console output"
Stefan Reinauer509f7722012-12-07 17:31:37 -080035 default y
Nico Huber755db952018-11-11 01:42:17 +010036 depends on DRIVERS_UART
Stefan Reinauer509f7722012-12-07 17:31:37 -080037 help
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020038 Send coreboot debug output to a serial port.
David Hendricks6a503b62012-12-31 17:28:43 -080039
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020040 The type of serial port driver selected based on your configuration is
41 shown on the following menu line. Supporting multiple different types
42 of UARTs in one build is not supported.
Stefan Reinauer4885daa2011-04-26 23:47:04 +000043
Nico Huberda8c12b2019-01-11 10:38:02 +010044config FIXED_UART_FOR_CONSOLE
45 bool
46 help
47 Select to remove the prompt from UART_FOR_CONSOLE in case a
48 specific UART has to be used (e.g. when the platform code
49 performs dangerous configurations).
50
Raul E Rangel6ec3dd22022-01-21 13:34:21 -070051if CONSOLE_SERIAL || CONSOLE_CBMEM_DUMP_TO_UART
Patrick Georgi0588d192009-08-12 15:00:51 +000052
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020053 comment "I/O mapped, 8250-compatible"
54 depends on DRIVERS_UART_8250IO
55
56 comment "memory mapped, 8250-compatible"
57 depends on DRIVERS_UART_8250MEM
58
59 comment "device-specific UART"
Hung-Te Linad173ea2013-02-06 21:24:12 +080060 depends on HAVE_UART_SPECIAL
Stefan Reinauer509f7722012-12-07 17:31:37 -080061
Bryant Ou0ee920b2020-09-14 23:41:41 -070062config OVERRIDE_UART_FOR_CONSOLE
63 bool
64 help
65 Set to "y" when the platform overrides the index of uart port by providing
66 a get_uart_for_console routine.
67
68if !OVERRIDE_UART_FOR_CONSOLE
69
Kyösti Mälkki70342a72014-03-14 22:28:29 +020070config UART_FOR_CONSOLE
Nico Hubera96e66a2018-11-11 02:51:14 +010071 int
72 prompt "Index for UART port to use for console" if !FIXED_UART_FOR_CONSOLE
Kyösti Mälkki70342a72014-03-14 22:28:29 +020073 default 0
Martin Rothac76ed92015-11-19 11:40:43 -070074 help
75 Select an I/O port to use for serial console:
76 0 = 0x3f8, 1 = 0x2f8, 2 = 0x3e8, 3 = 0x2e8
Uwe Hermannd12b7032009-10-16 22:39:55 +000077
Kyösti Mälkki70342a72014-03-14 22:28:29 +020078# FIXME: Early programming in romstage is incorrect as we should
79# program different LDN to actually change the physical port.
Uwe Hermannd12b7032009-10-16 22:39:55 +000080config TTYS0_BASE
81 hex
Gabe Black77ffa0d2013-09-30 21:25:49 -070082 depends on DRIVERS_UART
Kyösti Mälkki70342a72014-03-14 22:28:29 +020083 default 0x3f8 if UART_FOR_CONSOLE = 0
84 default 0x2f8 if UART_FOR_CONSOLE = 1
85 default 0x3e8 if UART_FOR_CONSOLE = 2
86 default 0x2e8 if UART_FOR_CONSOLE = 3
Uwe Hermannd12b7032009-10-16 22:39:55 +000087 help
Kyösti Mälkki70342a72014-03-14 22:28:29 +020088 Map the COM port number to the respective I/O port.
Uwe Hermannd12b7032009-10-16 22:39:55 +000089
Martin Rothac76ed92015-11-19 11:40:43 -070090comment "Serial port base address = 0x3f8"
Martin Roth3c2e2872019-07-11 12:54:12 -060091depends on DRIVERS_UART_8250IO && UART_FOR_CONSOLE = 0
Martin Rothac76ed92015-11-19 11:40:43 -070092comment "Serial port base address = 0x2f8"
Martin Roth3c2e2872019-07-11 12:54:12 -060093depends on DRIVERS_UART_8250IO && UART_FOR_CONSOLE = 1
Martin Rothac76ed92015-11-19 11:40:43 -070094comment "Serial port base address = 0x3e8"
Martin Roth3c2e2872019-07-11 12:54:12 -060095depends on DRIVERS_UART_8250IO && UART_FOR_CONSOLE = 2
Martin Rothac76ed92015-11-19 11:40:43 -070096comment "Serial port base address = 0x2e8"
Martin Roth3c2e2872019-07-11 12:54:12 -060097depends on DRIVERS_UART_8250IO && UART_FOR_CONSOLE = 3
Martin Rothac76ed92015-11-19 11:40:43 -070098
Bryant Ou0ee920b2020-09-14 23:41:41 -070099endif
100
Julien Viard de Galbert235daa42018-02-20 11:45:48 +0100101config UART_OVERRIDE_BAUDRATE
Patrick Georgi0bb83462019-11-22 20:58:58 +0100102 bool
Julien Viard de Galbert235daa42018-02-20 11:45:48 +0100103 help
104 Set to "y" when the platform overrides the baudrate by providing
105 a get_uart_baudrate routine.
106
107if !UART_OVERRIDE_BAUDRATE
108
Uwe Hermannd12b7032009-10-16 22:39:55 +0000109choice
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000110 prompt "Baud rate"
Uwe Hermannd12b7032009-10-16 22:39:55 +0000111 default CONSOLE_SERIAL_115200
Uwe Hermannd12b7032009-10-16 22:39:55 +0000112
Lee Leahycda71b82016-02-20 05:39:10 -0800113config CONSOLE_SERIAL_921600
114 bool "921600"
115 help
116 Set serial port Baud rate to 921600.
117config CONSOLE_SERIAL_460800
118 bool "460800"
119 help
120 Set serial port Baud rate to 460800.
121config CONSOLE_SERIAL_230400
122 bool "230400"
123 help
124 Set serial port Baud rate to 230400.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000125config CONSOLE_SERIAL_115200
126 bool "115200"
127 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000128 Set serial port Baud rate to 115200.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000129config CONSOLE_SERIAL_57600
130 bool "57600"
131 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000132 Set serial port Baud rate to 57600.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000133config CONSOLE_SERIAL_38400
134 bool "38400"
135 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000136 Set serial port Baud rate to 38400.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000137config CONSOLE_SERIAL_19200
138 bool "19200"
139 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000140 Set serial port Baud rate to 19200.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000141config CONSOLE_SERIAL_9600
142 bool "9600"
143 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000144 Set serial port Baud rate to 9600.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000145
146endchoice
Patrick Georgi0588d192009-08-12 15:00:51 +0000147
Stefan Reinauer509f7722012-12-07 17:31:37 -0800148#FIXME(dhendrix): Change name to SERIAL_BAUD? (Stefan sayz: yes!!)
Patrick Georgi0588d192009-08-12 15:00:51 +0000149config TTYS0_BAUD
Uwe Hermannd12b7032009-10-16 22:39:55 +0000150 int
Lee Leahycda71b82016-02-20 05:39:10 -0800151 default 921600 if CONSOLE_SERIAL_921600
152 default 460800 if CONSOLE_SERIAL_460800
153 default 230400 if CONSOLE_SERIAL_230400
Uwe Hermannd12b7032009-10-16 22:39:55 +0000154 default 115200 if CONSOLE_SERIAL_115200
155 default 57600 if CONSOLE_SERIAL_57600
156 default 38400 if CONSOLE_SERIAL_38400
157 default 19200 if CONSOLE_SERIAL_19200
158 default 9600 if CONSOLE_SERIAL_9600
159 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000160 Map the Baud rates to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000161
Julien Viard de Galbert235daa42018-02-20 11:45:48 +0100162endif
163
Uwe Hermann168b11b2009-10-07 16:15:40 +0000164# TODO: Allow user-friendly selection of settings other than 8n1.
Patrick Georgi0e9a9252009-10-06 20:48:07 +0000165config TTYS0_LCS
166 int
167 default 3
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +0200168 depends on DRIVERS_UART_8250IO || DRIVERS_UART_8250MEM
169
170endif # CONSOLE_SERIAL
Patrick Georgi0e9a9252009-10-06 20:48:07 +0000171
Vladimir Serbinenko45988da2013-03-30 02:02:13 +0100172config SPKMODEM
173 bool "spkmodem (console on speaker) console output"
174 default n
Vladimir Serbinenkod51a0892016-03-04 09:20:20 +0100175 depends on ARCH_X86
Vladimir Serbinenko45988da2013-03-30 02:02:13 +0100176 help
177 Send coreboot debug output through speaker
178
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200179config CONSOLE_USB
180 bool "USB dongle console output"
181 depends on USBDEBUG
Nico Huber06125eb2018-10-03 12:02:09 +0200182 default y
Uwe Hermann168b11b2009-10-07 16:15:40 +0000183 help
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200184 Send coreboot debug output to USB.
Uwe Hermann168b11b2009-10-07 16:15:40 +0000185
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200186 Configuration for USB hardware is under menu Generic Drivers.
Kyösti Mälkkid2dac0a2013-08-23 23:33:16 +0300187
Uwe Hermann168b11b2009-10-07 16:15:40 +0000188# TODO: Deps?
189# TODO: Improve description.
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000190config CONSOLE_NE2K
191 bool "Network console over NE2000 compatible Ethernet adapter"
192 default n
Vladimir Serbinenkod51a0892016-03-04 09:20:20 +0100193 depends on PCI
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000194 help
195 Send coreboot debug output to a Ethernet console, it works
196 same way as Linux netconsole, packets are received to UDP
Martin Roth0949e732021-10-01 14:28:22 -0600197 port 6666 on IP/MAC specified with options below.
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000198 Use following netcat command: nc -u -l -p 6666
199
200config CONSOLE_NE2K_DST_MAC
201 depends on CONSOLE_NE2K
202 string "Destination MAC address of remote system"
203 default "00:13:d4:76:a2:ac"
204 help
205 Type in either MAC address of logging system or MAC address
206 of the router.
207
208config CONSOLE_NE2K_DST_IP
209 depends on CONSOLE_NE2K
210 string "Destination IP of logging system"
211 default "10.0.1.27"
212 help
Daniele Forsi53847a22014-07-22 18:00:56 +0200213 This is IP address of the system running for example
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000214 netcat command to dump the packets.
215
216config CONSOLE_NE2K_SRC_IP
217 depends on CONSOLE_NE2K
Stefan Reinauerd6b4f1c2010-09-23 18:29:40 +0000218 string "IP address of coreboot system"
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000219 default "10.0.1.253"
220 help
Stefan Reinauerd6b4f1c2010-09-23 18:29:40 +0000221 This is the IP of the coreboot system
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000222
223config CONSOLE_NE2K_IO_PORT
224 depends on CONSOLE_NE2K
225 hex "NE2000 adapter fixed IO port address"
226 default 0xe00
227 help
228 This is the IO port address for the IO port
229 on the card, please select some non-conflicting region,
230 32 bytes of IO spaces will be used (and align on 32 bytes
231 boundary, qemu needs broader align)
232
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700233config CONSOLE_CBMEM
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700234 bool "Send console output to a CBMEM buffer"
Paul Menzel60ef4562014-03-08 10:46:52 +0100235 default y
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700236 help
237 Enable this to save the console output in a CBMEM buffer. This would
238 allow to see coreboot console output from Linux space.
239
Kyösti Mälkki8659e402014-12-21 08:55:47 +0200240if CONSOLE_CBMEM
241
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700242config CONSOLE_CBMEM_BUFFER_SIZE
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700243 hex "Room allocated for console output in CBMEM"
Vladimir Serbinenkoeb67a042014-09-13 20:55:58 +0200244 default 0x20000
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700245 help
246 Space allocated for console output storage in CBMEM. The default
Vladimir Serbinenkoeb67a042014-09-13 20:55:58 +0200247 value (128K or 0x20000 bytes) is large enough to accommodate
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700248 even the BIOS_SPEW level.
249
Vadim Bendebury6e20e2f2015-04-10 18:04:04 -0700250config CONSOLE_CBMEM_DUMP_TO_UART
251 depends on !CONSOLE_SERIAL
252 bool "Dump CBMEM console on resets"
253 default n
254 help
255 Enable this to have CBMEM console buffer contents dumped on the
256 serial output in case serial console is disabled and the device
257 resets itself while trying to boot the payload.
258
Raul E Rangel80a7f4e2022-01-11 12:54:36 -0700259config CONSOLE_CBMEM_PRINT_PRE_BOOTBLOCK_CONTENTS
260 bool
261 help
262 Pre-bootblock stages (i.e., VBOOT_STARTS_BEFORE_BOOTBLOCK) might not
263 have the ability to log to the UART, so their console messages are
264 inaccessible until the boot processes gets into the payload or OS.
265 This feature will dump the pre-bootblock CBMEM console immediately
266 after the bootblock console is initialized.
Kyösti Mälkki8659e402014-12-21 08:55:47 +0200267endif
268
Youness Alaouic4b4ff32017-05-11 10:36:29 -0400269config CONSOLE_SPI_FLASH
270 bool "SPI Flash console output"
271 default n
Arthur Heymans6e8abc42021-04-30 16:00:38 +0200272 depends on BOOT_DEVICE_SPI_FLASH
Youness Alaouic4b4ff32017-05-11 10:36:29 -0400273 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if !COMMON_CBFS_SPI_WRAPPER
274 help
275 Send coreboot debug output to the SPI Flash in the FMAP CONSOLE area
276
277 This option can cause premature wear on the SPI flash and should not
278 be used as a normal means of debugging. It is only to be enabled and
279 used when porting a new motherboard which has no other console
280 available (no UART, no POST, no cbmem access(non bootable)). Since
281 a non bootable machine will require the use of an external SPI Flash
282 programmer, the developer can grab the console log at the same time.
283
284 The flash console will not be erased on reboot, so once it is full,
285 the flashconsole driver will stop writing to it. This is to avoid
286 wear on the flash, and to avoid erasing sectors (which may freeze
287 the SPI controller on skylake).
288
289 The 'CONSOLE' area can be extracted from the FMAP with :
290 cbfstool rom.bin read -r CONSOLE -f console.log
291
292config CONSOLE_SPI_FLASH_BUFFER_SIZE
293 hex "Room allocated for console output in FMAP"
294 default 0x20000
295 depends on CONSOLE_SPI_FLASH
296 help
297 Space allocated for console output storage in FMAP. The default
298 value (128K or 0x20000 bytes) is large enough to accommodate
299 even the BIOS_SPEW level.
300
Husni Faiz67300f82022-09-05 15:23:15 +0530301config CONSOLE_I2C_SMBUS
302 bool "SMBus console output"
303 depends on SOUTHBRIDGE_INTEL_COMMON_SMBUS
304 help
305 Send coreboot debug output to the SMBus.
306 The output can be read with an I2C slave device connected
307 the SMBus. Please refer to the technotes section of the
308 coreboot documentation for more details.
309
310if CONSOLE_I2C_SMBUS
311 comment "Set logging device address and data register address"
312
313config CONSOLE_I2C_SMBUS_SLAVE_ADDRESS
314 hex "I2C slave address of the logging device"
Husni Faizb80535a2022-09-09 17:49:53 +0530315 default 0x48 if SC16IS7XX_INIT
Husni Faiz67300f82022-09-05 15:23:15 +0530316 help
317 I2C address of the device which logs the data.
318
319config CONSOLE_I2C_SMBUS_SLAVE_DATA_REGISTER
320 hex "Data register address of the I2C logging device"
Husni Faizb80535a2022-09-09 17:49:53 +0530321 default 0x00 if SC16IS7XX_INIT
Husni Faiz67300f82022-09-05 15:23:15 +0530322 help
323 This an 8-bit data register.
324
Husni Faizb80535a2022-09-09 17:49:53 +0530325config SC16IS7XX_INIT
326 bool "Initialize SC16IS7XX I2C to UART converter chip"
327 help
328 SC16IS7XX is a slave I2C to UART converter chip. Enabling
329 this option will initialize the chip.
330
331 The default I2C slave address value 0x48 is the address of
332 SC16IS7XX I2C to UART converter chip when the A1 and A0 pins
333 are set to Vcc.
334
335 The default data register address value 0x00 is the data
336 register address of SC16IS7XX I2C to UART converter chip.
337
Husni Faiz67300f82022-09-05 15:23:15 +0530338endif # CONSOLE_I2C_SMBUS
339
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200340config CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200341 bool "QEMU debug console output"
Angel Ponsd6152302020-03-01 14:46:38 +0100342 depends on CPU_QEMU_X86
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200343 default y
344 help
345 Send coreboot debug output to QEMU's isa-debugcon device:
346
347 qemu-system-x86_64 \
348 -chardev file,id=debugcon,path=/dir/file.log \
349 -device isa-debugcon,iobase=0x402,chardev=debugcon
350
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200351config CONSOLE_QEMU_DEBUGCON_PORT
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200352 hex "QEMU debug console port"
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200353 depends on CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200354 default 0x402
355
Angel Pons12d48cd2020-10-03 12:22:04 +0200356config EM100PRO_SPI_CONSOLE
357 bool "EM100Pro SPI debug console output"
358 depends on HAVE_EM100PRO_SPI_CONSOLE_SUPPORT && !DEBUG_SPI_FLASH
Martin Roth3a543182015-09-28 15:27:24 -0600359 help
360 Enable support for the debug console on the Dediprog EM100Pro.
361 This is currently working only in ramstage due to how the spi
362 drivers are written.
363
Jeremy Soller52785ab2020-07-22 06:40:28 -0600364config CONSOLE_SYSTEM76_EC
365 bool "System76 EC console output"
366 default n
367 depends on EC_SYSTEM76_EC
368 help
369 Send coreboot debug output to a System76 embedded controller.
370
Fred Reitbergera02176d2023-02-01 16:00:54 -0500371config CONSOLE_AMD_SIMNOW
372 bool "AMD SimNow console output"
373 default n
374 depends on SOC_AMD_COMMON && !POST_IO
375 select CONSOLE_POST
376 help
377 Send coreboot debug output to IO ports for SimNow
378
Julien Viard de Galbert4ecd42f2018-02-20 15:01:27 +0100379config CONSOLE_OVERRIDE_LOGLEVEL
Patrick Georgi0bb83462019-11-22 20:58:58 +0100380 bool
Julien Viard de Galbert4ecd42f2018-02-20 15:01:27 +0100381 help
382 Set to "y" when the platform overrides the loglevel by providing
383 a get_console_loglevel routine.
384
385if !CONSOLE_OVERRIDE_LOGLEVEL
386
Uwe Hermann7fe41912009-10-11 13:35:24 +0000387choice
Myles Watson03646182009-10-16 19:29:45 +0000388 prompt "Default console log level"
Julius Wernere64a5852018-10-15 17:19:58 -0700389 default DEFAULT_CONSOLE_LOGLEVEL_8 if CHROMEOS
Nico Huber715a5022018-05-04 12:04:00 +0200390 default DEFAULT_CONSOLE_LOGLEVEL_7
Uwe Hermann7fe41912009-10-11 13:35:24 +0000391
392config DEFAULT_CONSOLE_LOGLEVEL_8
Myles Watson03646182009-10-16 19:29:45 +0000393 bool "8: SPEW"
Myles Watson03646182009-10-16 19:29:45 +0000394 help
395 Way too many details.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000396config DEFAULT_CONSOLE_LOGLEVEL_7
Myles Watson03646182009-10-16 19:29:45 +0000397 bool "7: DEBUG"
Myles Watson03646182009-10-16 19:29:45 +0000398 help
399 Debug-level messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000400config DEFAULT_CONSOLE_LOGLEVEL_6
Myles Watson03646182009-10-16 19:29:45 +0000401 bool "6: INFO"
Myles Watson03646182009-10-16 19:29:45 +0000402 help
403 Informational messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000404config DEFAULT_CONSOLE_LOGLEVEL_5
Myles Watson03646182009-10-16 19:29:45 +0000405 bool "5: NOTICE"
Myles Watson03646182009-10-16 19:29:45 +0000406 help
407 Normal but significant conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000408config DEFAULT_CONSOLE_LOGLEVEL_4
Myles Watson03646182009-10-16 19:29:45 +0000409 bool "4: WARNING"
Myles Watson03646182009-10-16 19:29:45 +0000410 help
411 Warning conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000412config DEFAULT_CONSOLE_LOGLEVEL_3
Myles Watson03646182009-10-16 19:29:45 +0000413 bool "3: ERR"
Myles Watson03646182009-10-16 19:29:45 +0000414 help
415 Error conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000416config DEFAULT_CONSOLE_LOGLEVEL_2
Myles Watson03646182009-10-16 19:29:45 +0000417 bool "2: CRIT"
Myles Watson03646182009-10-16 19:29:45 +0000418 help
419 Critical conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000420config DEFAULT_CONSOLE_LOGLEVEL_1
Myles Watson03646182009-10-16 19:29:45 +0000421 bool "1: ALERT"
Myles Watson03646182009-10-16 19:29:45 +0000422 help
423 Action must be taken immediately.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000424config DEFAULT_CONSOLE_LOGLEVEL_0
Myles Watson03646182009-10-16 19:29:45 +0000425 bool "0: EMERG"
426 help
427 System is unusable.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000428
429endchoice
430
Patrick Georgi0588d192009-08-12 15:00:51 +0000431config DEFAULT_CONSOLE_LOGLEVEL
Uwe Hermann7fe41912009-10-11 13:35:24 +0000432 int
433 default 0 if DEFAULT_CONSOLE_LOGLEVEL_0
434 default 1 if DEFAULT_CONSOLE_LOGLEVEL_1
435 default 2 if DEFAULT_CONSOLE_LOGLEVEL_2
436 default 3 if DEFAULT_CONSOLE_LOGLEVEL_3
437 default 4 if DEFAULT_CONSOLE_LOGLEVEL_4
438 default 5 if DEFAULT_CONSOLE_LOGLEVEL_5
439 default 6 if DEFAULT_CONSOLE_LOGLEVEL_6
440 default 7 if DEFAULT_CONSOLE_LOGLEVEL_7
441 default 8 if DEFAULT_CONSOLE_LOGLEVEL_8
442 help
443 Map the log level config names to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000444
Julien Viard de Galbert4ecd42f2018-02-20 15:01:27 +0100445endif
446
Igor Bagnuckif0d65212022-03-03 11:41:57 +0100447config CONSOLE_USE_LOGLEVEL_PREFIX
448 bool "Use loglevel prefix to indicate line loglevel"
449 default y
450 help
451 When enabled, if the code contains a:
452 `printk(BIOS_DEBUG, "This is a debug message!\n")`,
453 it will show up as:
454 `[DEBUG] This is a debug message!`
455
Julius Wernera120e0d2022-01-21 15:24:12 -0800456config CONSOLE_USE_ANSI_ESCAPES
457 bool "Use ANSI escape sequences for console highlighting"
Zheng Baoddf8d192023-03-29 10:39:32 +0800458 default y if !CONSOLE_AMD_SIMNOW
Julius Wernera120e0d2022-01-21 15:24:12 -0800459 help
460 If enabled, certain consoles (e.g. UART) that are meant to be read on
461 a terminal will use ANSI escape sequences (like `ESC [1m`) to
462 highlight lines based on their log level. Disable this if your
463 terminal does not support ANSI escape sequences.
464
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000465config NO_POST
466 bool "Don't show any POST codes"
467 default n
468
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700469config CMOS_POST
470 bool "Store post codes in CMOS for debugging"
Stefan Reinauerc2d5a162012-12-06 14:25:27 -0800471 depends on !NO_POST && PC80_SYSTEM
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700472 default n
473 help
474 If enabled, coreboot will store post codes in CMOS and switch between
475 two offsets on each boot so the last post code in the previous boot
476 can be retrieved. This uses 3 bytes of CMOS.
477
478config CMOS_POST_OFFSET
479 hex "Offset into CMOS to store POST codes"
480 depends on CMOS_POST
Martin Roth3b878122016-09-30 14:43:01 -0600481 default 0x0
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700482 help
483 If CMOS_POST is enabled then an offset into CMOS must be provided.
484 If CONFIG_HAVE_OPTION_TABLE is enabled then it will use the value
485 defined in the mainboard option table.
486
Daniele Forsiad488d22014-07-30 12:23:35 +0200487config CONSOLE_POST
Idwer Vollering5809a732014-03-11 15:36:21 +0000488 bool "Show POST codes on the debug console"
489 depends on !NO_POST
490 default n
491 help
492 If enabled, coreboot will additionally print POST codes (which are
493 usually displayed using a so-called "POST card" ISA/PCI/PCI-E
494 device) on the debug console.
495
496config POST_DEVICE
497 bool "Send POST codes to an external device"
498 depends on !NO_POST
499 default y
500
501choice
502 prompt "Device to send POST codes to"
503 depends on POST_DEVICE
Kyösti Mälkki657d68b2019-12-03 12:36:09 +0200504 default POST_DEVICE_LPC if DEFAULT_POST_ON_LPC
Idwer Vollering5809a732014-03-11 15:36:21 +0000505 default POST_DEVICE_NONE
506
507config POST_DEVICE_NONE
508 bool "None"
509config POST_DEVICE_LPC
510 bool "LPC"
Vladimir Serbinenkod51a0892016-03-04 09:20:20 +0100511 depends on PCI
Idwer Vollering5809a732014-03-11 15:36:21 +0000512config POST_DEVICE_PCI_PCIE
513 bool "PCI/PCIe"
Vladimir Serbinenkod51a0892016-03-04 09:20:20 +0100514 depends on PCI
Idwer Vollering5809a732014-03-11 15:36:21 +0000515endchoice
516
Kyösti Mälkki657d68b2019-12-03 12:36:09 +0200517config DEFAULT_POST_ON_LPC
518 bool
519 default n
520
Idwer Vollering5809a732014-03-11 15:36:21 +0000521config POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800522 bool "Send POST codes to an IO port"
Idwer Vollering5809a732014-03-11 15:36:21 +0000523 depends on PC80_SYSTEM && !NO_POST
David Hendricks6b908d02012-11-05 12:34:09 -0800524 default y
525 help
526 If enabled, POST codes will be written to an IO port.
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000527
Idwer Vollering5809a732014-03-11 15:36:21 +0000528config POST_IO_PORT
529 depends on POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800530 hex "IO port for POST codes"
531 default 0x80
532 help
533 POST codes on x86 are typically written to the LPC bus on port
Daniele Forsi53847a22014-07-22 18:00:56 +0200534 0x80. However, it may be desirable to change the port number
David Hendricks6b908d02012-11-05 12:34:09 -0800535 depending on the presence of coprocessors/microcontrollers or if the
536 platform does not support IO in the conventional x86 manner.
537
Martin Roth14554372015-11-12 14:02:42 -0700538config NO_EARLY_BOOTBLOCK_POSTCODES
539 def_bool n
540 help
541 Some chipsets require that the routing for the port 80h POST
Martin Roth8a85a842021-06-21 09:18:46 -0600542 code be configured before any POST codes are sent out. If this is
543 not done, the system can hang on the first POST code. This
544 initialization can be done in the boot block, but there are a couple
545 of POST codes that go out before the chipset's C bootblock
546 initialization can happen. This option suppresses all postcodes in
547 the early assembly code.
Martin Roth14554372015-11-12 14:02:42 -0700548
Nico Huberc83239e2016-10-05 17:46:49 +0200549config HWBASE_DEBUG_CB
550 bool
551 default y if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
552 default n
553
554config HWBASE_DEBUG_NULL
555 def_bool y
556 depends on !HWBASE_DEBUG_CB
557
David Hendricks6b908d02012-11-05 12:34:09 -0800558endmenu