blob: 7c6e9bc5e03a669d32affa4a694f92a74de1b540 [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
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +020050if CONSOLE_SERIAL
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
Kyösti Mälkki70342a72014-03-14 22:28:29 +020061config UART_FOR_CONSOLE
Nico Hubera96e66a2018-11-11 02:51:14 +010062 int
63 prompt "Index for UART port to use for console" if !FIXED_UART_FOR_CONSOLE
Kyösti Mälkki70342a72014-03-14 22:28:29 +020064 default 0
Martin Rothac76ed92015-11-19 11:40:43 -070065 help
66 Select an I/O port to use for serial console:
67 0 = 0x3f8, 1 = 0x2f8, 2 = 0x3e8, 3 = 0x2e8
Uwe Hermannd12b7032009-10-16 22:39:55 +000068
Kyösti Mälkki70342a72014-03-14 22:28:29 +020069# FIXME: Early programming in romstage is incorrect as we should
70# program different LDN to actually change the physical port.
Uwe Hermannd12b7032009-10-16 22:39:55 +000071config TTYS0_BASE
72 hex
Gabe Black77ffa0d2013-09-30 21:25:49 -070073 depends on DRIVERS_UART
Kyösti Mälkki70342a72014-03-14 22:28:29 +020074 default 0x3f8 if UART_FOR_CONSOLE = 0
75 default 0x2f8 if UART_FOR_CONSOLE = 1
76 default 0x3e8 if UART_FOR_CONSOLE = 2
77 default 0x2e8 if UART_FOR_CONSOLE = 3
Uwe Hermannd12b7032009-10-16 22:39:55 +000078 help
Kyösti Mälkki70342a72014-03-14 22:28:29 +020079 Map the COM port number to the respective I/O port.
Uwe Hermannd12b7032009-10-16 22:39:55 +000080
Martin Rothac76ed92015-11-19 11:40:43 -070081comment "Serial port base address = 0x3f8"
Martin Roth3c2e2872019-07-11 12:54:12 -060082depends on DRIVERS_UART_8250IO && UART_FOR_CONSOLE = 0
Martin Rothac76ed92015-11-19 11:40:43 -070083comment "Serial port base address = 0x2f8"
Martin Roth3c2e2872019-07-11 12:54:12 -060084depends on DRIVERS_UART_8250IO && UART_FOR_CONSOLE = 1
Martin Rothac76ed92015-11-19 11:40:43 -070085comment "Serial port base address = 0x3e8"
Martin Roth3c2e2872019-07-11 12:54:12 -060086depends on DRIVERS_UART_8250IO && UART_FOR_CONSOLE = 2
Martin Rothac76ed92015-11-19 11:40:43 -070087comment "Serial port base address = 0x2e8"
Martin Roth3c2e2872019-07-11 12:54:12 -060088depends on DRIVERS_UART_8250IO && UART_FOR_CONSOLE = 3
Martin Rothac76ed92015-11-19 11:40:43 -070089
Julien Viard de Galbert235daa42018-02-20 11:45:48 +010090config UART_OVERRIDE_BAUDRATE
Patrick Georgi0bb83462019-11-22 20:58:58 +010091 bool
Julien Viard de Galbert235daa42018-02-20 11:45:48 +010092 help
93 Set to "y" when the platform overrides the baudrate by providing
94 a get_uart_baudrate routine.
95
96if !UART_OVERRIDE_BAUDRATE
97
Uwe Hermannd12b7032009-10-16 22:39:55 +000098choice
Uwe Hermanna081a3b2009-10-26 23:52:34 +000099 prompt "Baud rate"
Uwe Hermannd12b7032009-10-16 22:39:55 +0000100 default CONSOLE_SERIAL_115200
Uwe Hermannd12b7032009-10-16 22:39:55 +0000101
Lee Leahycda71b82016-02-20 05:39:10 -0800102config CONSOLE_SERIAL_921600
103 bool "921600"
104 help
105 Set serial port Baud rate to 921600.
106config CONSOLE_SERIAL_460800
107 bool "460800"
108 help
109 Set serial port Baud rate to 460800.
110config CONSOLE_SERIAL_230400
111 bool "230400"
112 help
113 Set serial port Baud rate to 230400.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000114config CONSOLE_SERIAL_115200
115 bool "115200"
116 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000117 Set serial port Baud rate to 115200.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000118config CONSOLE_SERIAL_57600
119 bool "57600"
120 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000121 Set serial port Baud rate to 57600.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000122config CONSOLE_SERIAL_38400
123 bool "38400"
124 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000125 Set serial port Baud rate to 38400.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000126config CONSOLE_SERIAL_19200
127 bool "19200"
128 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000129 Set serial port Baud rate to 19200.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000130config CONSOLE_SERIAL_9600
131 bool "9600"
132 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000133 Set serial port Baud rate to 9600.
Uwe Hermannd12b7032009-10-16 22:39:55 +0000134
135endchoice
Patrick Georgi0588d192009-08-12 15:00:51 +0000136
Stefan Reinauer509f7722012-12-07 17:31:37 -0800137#FIXME(dhendrix): Change name to SERIAL_BAUD? (Stefan sayz: yes!!)
Patrick Georgi0588d192009-08-12 15:00:51 +0000138config TTYS0_BAUD
Uwe Hermannd12b7032009-10-16 22:39:55 +0000139 int
Lee Leahycda71b82016-02-20 05:39:10 -0800140 default 921600 if CONSOLE_SERIAL_921600
141 default 460800 if CONSOLE_SERIAL_460800
142 default 230400 if CONSOLE_SERIAL_230400
Uwe Hermannd12b7032009-10-16 22:39:55 +0000143 default 115200 if CONSOLE_SERIAL_115200
144 default 57600 if CONSOLE_SERIAL_57600
145 default 38400 if CONSOLE_SERIAL_38400
146 default 19200 if CONSOLE_SERIAL_19200
147 default 9600 if CONSOLE_SERIAL_9600
148 help
Uwe Hermanna081a3b2009-10-26 23:52:34 +0000149 Map the Baud rates to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000150
Julien Viard de Galbert235daa42018-02-20 11:45:48 +0100151endif
152
Uwe Hermann168b11b2009-10-07 16:15:40 +0000153# TODO: Allow user-friendly selection of settings other than 8n1.
Patrick Georgi0e9a9252009-10-06 20:48:07 +0000154config TTYS0_LCS
155 int
156 default 3
Kyösti Mälkkiafa7b132014-02-13 17:16:22 +0200157 depends on DRIVERS_UART_8250IO || DRIVERS_UART_8250MEM
158
159endif # CONSOLE_SERIAL
Patrick Georgi0e9a9252009-10-06 20:48:07 +0000160
Vladimir Serbinenko45988da2013-03-30 02:02:13 +0100161config SPKMODEM
162 bool "spkmodem (console on speaker) console output"
163 default n
Vladimir Serbinenkod51a0892016-03-04 09:20:20 +0100164 depends on ARCH_X86
Vladimir Serbinenko45988da2013-03-30 02:02:13 +0100165 help
166 Send coreboot debug output through speaker
167
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200168config CONSOLE_USB
169 bool "USB dongle console output"
170 depends on USBDEBUG
Nico Huber06125eb2018-10-03 12:02:09 +0200171 default y
Uwe Hermann168b11b2009-10-07 16:15:40 +0000172 help
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200173 Send coreboot debug output to USB.
Uwe Hermann168b11b2009-10-07 16:15:40 +0000174
Kyösti Mälkkiab94bbf2014-02-25 12:06:14 +0200175 Configuration for USB hardware is under menu Generic Drivers.
Kyösti Mälkkid2dac0a2013-08-23 23:33:16 +0300176
Uwe Hermann168b11b2009-10-07 16:15:40 +0000177# TODO: Deps?
178# TODO: Improve description.
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000179config CONSOLE_NE2K
180 bool "Network console over NE2000 compatible Ethernet adapter"
181 default n
Vladimir Serbinenkod51a0892016-03-04 09:20:20 +0100182 depends on PCI
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000183 help
184 Send coreboot debug output to a Ethernet console, it works
185 same way as Linux netconsole, packets are received to UDP
186 port 6666 on IP/MAC specified with options bellow.
187 Use following netcat command: nc -u -l -p 6666
188
189config CONSOLE_NE2K_DST_MAC
190 depends on CONSOLE_NE2K
191 string "Destination MAC address of remote system"
192 default "00:13:d4:76:a2:ac"
193 help
194 Type in either MAC address of logging system or MAC address
195 of the router.
196
197config CONSOLE_NE2K_DST_IP
198 depends on CONSOLE_NE2K
199 string "Destination IP of logging system"
200 default "10.0.1.27"
201 help
Daniele Forsi53847a22014-07-22 18:00:56 +0200202 This is IP address of the system running for example
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000203 netcat command to dump the packets.
204
205config CONSOLE_NE2K_SRC_IP
206 depends on CONSOLE_NE2K
Stefan Reinauerd6b4f1c2010-09-23 18:29:40 +0000207 string "IP address of coreboot system"
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000208 default "10.0.1.253"
209 help
Stefan Reinauerd6b4f1c2010-09-23 18:29:40 +0000210 This is the IP of the coreboot system
Rudolf Marek4aa93cc2010-07-16 20:02:09 +0000211
212config CONSOLE_NE2K_IO_PORT
213 depends on CONSOLE_NE2K
214 hex "NE2000 adapter fixed IO port address"
215 default 0xe00
216 help
217 This is the IO port address for the IO port
218 on the card, please select some non-conflicting region,
219 32 bytes of IO spaces will be used (and align on 32 bytes
220 boundary, qemu needs broader align)
221
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700222config CONSOLE_CBMEM
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700223 bool "Send console output to a CBMEM buffer"
Paul Menzel60ef4562014-03-08 10:46:52 +0100224 default y
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700225 help
226 Enable this to save the console output in a CBMEM buffer. This would
227 allow to see coreboot console output from Linux space.
228
Kyösti Mälkki8659e402014-12-21 08:55:47 +0200229if CONSOLE_CBMEM
230
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700231config CONSOLE_CBMEM_BUFFER_SIZE
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700232 hex "Room allocated for console output in CBMEM"
Vladimir Serbinenkoeb67a042014-09-13 20:55:58 +0200233 default 0x20000
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700234 help
235 Space allocated for console output storage in CBMEM. The default
Vladimir Serbinenkoeb67a042014-09-13 20:55:58 +0200236 value (128K or 0x20000 bytes) is large enough to accommodate
Vadim Bendeburyc34b4632011-09-28 13:51:30 -0700237 even the BIOS_SPEW level.
238
Vadim Bendebury6e20e2f2015-04-10 18:04:04 -0700239config CONSOLE_CBMEM_DUMP_TO_UART
240 depends on !CONSOLE_SERIAL
241 bool "Dump CBMEM console on resets"
242 default n
243 help
244 Enable this to have CBMEM console buffer contents dumped on the
245 serial output in case serial console is disabled and the device
246 resets itself while trying to boot the payload.
247
Kyösti Mälkki8659e402014-12-21 08:55:47 +0200248endif
249
Youness Alaouic4b4ff32017-05-11 10:36:29 -0400250config CONSOLE_SPI_FLASH
251 bool "SPI Flash console output"
252 default n
253 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if !COMMON_CBFS_SPI_WRAPPER
254 help
255 Send coreboot debug output to the SPI Flash in the FMAP CONSOLE area
256
257 This option can cause premature wear on the SPI flash and should not
258 be used as a normal means of debugging. It is only to be enabled and
259 used when porting a new motherboard which has no other console
260 available (no UART, no POST, no cbmem access(non bootable)). Since
261 a non bootable machine will require the use of an external SPI Flash
262 programmer, the developer can grab the console log at the same time.
263
264 The flash console will not be erased on reboot, so once it is full,
265 the flashconsole driver will stop writing to it. This is to avoid
266 wear on the flash, and to avoid erasing sectors (which may freeze
267 the SPI controller on skylake).
268
269 The 'CONSOLE' area can be extracted from the FMAP with :
270 cbfstool rom.bin read -r CONSOLE -f console.log
271
272config CONSOLE_SPI_FLASH_BUFFER_SIZE
273 hex "Room allocated for console output in FMAP"
274 default 0x20000
275 depends on CONSOLE_SPI_FLASH
276 help
277 Space allocated for console output storage in FMAP. The default
278 value (128K or 0x20000 bytes) is large enough to accommodate
279 even the BIOS_SPEW level.
280
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200281config CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200282 bool "QEMU debug console output"
Angel Ponsd6152302020-03-01 14:46:38 +0100283 depends on CPU_QEMU_X86
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200284 default y
285 help
286 Send coreboot debug output to QEMU's isa-debugcon device:
287
288 qemu-system-x86_64 \
289 -chardev file,id=debugcon,path=/dir/file.log \
290 -device isa-debugcon,iobase=0x402,chardev=debugcon
291
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200292config CONSOLE_QEMU_DEBUGCON_PORT
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200293 hex "QEMU debug console port"
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200294 depends on CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200295 default 0x402
296
Martin Roth3a543182015-09-28 15:27:24 -0600297config SPI_CONSOLE
298 bool "SPI debug console output"
299 depends on HAVE_SPI_CONSOLE_SUPPORT && !DEBUG_SPI_FLASH
300 help
301 Enable support for the debug console on the Dediprog EM100Pro.
302 This is currently working only in ramstage due to how the spi
303 drivers are written.
304
Julien Viard de Galbert4ecd42f2018-02-20 15:01:27 +0100305config CONSOLE_OVERRIDE_LOGLEVEL
Patrick Georgi0bb83462019-11-22 20:58:58 +0100306 bool
Julien Viard de Galbert4ecd42f2018-02-20 15:01:27 +0100307 help
308 Set to "y" when the platform overrides the loglevel by providing
309 a get_console_loglevel routine.
310
311if !CONSOLE_OVERRIDE_LOGLEVEL
312
Uwe Hermann7fe41912009-10-11 13:35:24 +0000313choice
Myles Watson03646182009-10-16 19:29:45 +0000314 prompt "Default console log level"
Julius Wernere64a5852018-10-15 17:19:58 -0700315 default DEFAULT_CONSOLE_LOGLEVEL_8 if CHROMEOS
Nico Huber715a5022018-05-04 12:04:00 +0200316 default DEFAULT_CONSOLE_LOGLEVEL_7
Uwe Hermann7fe41912009-10-11 13:35:24 +0000317
318config DEFAULT_CONSOLE_LOGLEVEL_8
Myles Watson03646182009-10-16 19:29:45 +0000319 bool "8: SPEW"
Myles Watson03646182009-10-16 19:29:45 +0000320 help
321 Way too many details.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000322config DEFAULT_CONSOLE_LOGLEVEL_7
Myles Watson03646182009-10-16 19:29:45 +0000323 bool "7: DEBUG"
Myles Watson03646182009-10-16 19:29:45 +0000324 help
325 Debug-level messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000326config DEFAULT_CONSOLE_LOGLEVEL_6
Myles Watson03646182009-10-16 19:29:45 +0000327 bool "6: INFO"
Myles Watson03646182009-10-16 19:29:45 +0000328 help
329 Informational messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000330config DEFAULT_CONSOLE_LOGLEVEL_5
Myles Watson03646182009-10-16 19:29:45 +0000331 bool "5: NOTICE"
Myles Watson03646182009-10-16 19:29:45 +0000332 help
333 Normal but significant conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000334config DEFAULT_CONSOLE_LOGLEVEL_4
Myles Watson03646182009-10-16 19:29:45 +0000335 bool "4: WARNING"
Myles Watson03646182009-10-16 19:29:45 +0000336 help
337 Warning conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000338config DEFAULT_CONSOLE_LOGLEVEL_3
Myles Watson03646182009-10-16 19:29:45 +0000339 bool "3: ERR"
Myles Watson03646182009-10-16 19:29:45 +0000340 help
341 Error conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000342config DEFAULT_CONSOLE_LOGLEVEL_2
Myles Watson03646182009-10-16 19:29:45 +0000343 bool "2: CRIT"
Myles Watson03646182009-10-16 19:29:45 +0000344 help
345 Critical conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000346config DEFAULT_CONSOLE_LOGLEVEL_1
Myles Watson03646182009-10-16 19:29:45 +0000347 bool "1: ALERT"
Myles Watson03646182009-10-16 19:29:45 +0000348 help
349 Action must be taken immediately.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000350config DEFAULT_CONSOLE_LOGLEVEL_0
Myles Watson03646182009-10-16 19:29:45 +0000351 bool "0: EMERG"
352 help
353 System is unusable.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000354
355endchoice
356
Patrick Georgi0588d192009-08-12 15:00:51 +0000357config DEFAULT_CONSOLE_LOGLEVEL
Uwe Hermann7fe41912009-10-11 13:35:24 +0000358 int
359 default 0 if DEFAULT_CONSOLE_LOGLEVEL_0
360 default 1 if DEFAULT_CONSOLE_LOGLEVEL_1
361 default 2 if DEFAULT_CONSOLE_LOGLEVEL_2
362 default 3 if DEFAULT_CONSOLE_LOGLEVEL_3
363 default 4 if DEFAULT_CONSOLE_LOGLEVEL_4
364 default 5 if DEFAULT_CONSOLE_LOGLEVEL_5
365 default 6 if DEFAULT_CONSOLE_LOGLEVEL_6
366 default 7 if DEFAULT_CONSOLE_LOGLEVEL_7
367 default 8 if DEFAULT_CONSOLE_LOGLEVEL_8
368 help
369 Map the log level config names to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000370
Julien Viard de Galbert4ecd42f2018-02-20 15:01:27 +0100371endif
372
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000373config NO_POST
374 bool "Don't show any POST codes"
375 default n
376
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700377config CMOS_POST
378 bool "Store post codes in CMOS for debugging"
Stefan Reinauerc2d5a162012-12-06 14:25:27 -0800379 depends on !NO_POST && PC80_SYSTEM
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700380 default n
381 help
382 If enabled, coreboot will store post codes in CMOS and switch between
383 two offsets on each boot so the last post code in the previous boot
384 can be retrieved. This uses 3 bytes of CMOS.
385
386config CMOS_POST_OFFSET
387 hex "Offset into CMOS to store POST codes"
388 depends on CMOS_POST
Martin Roth3b878122016-09-30 14:43:01 -0600389 default 0x0
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700390 help
391 If CMOS_POST is enabled then an offset into CMOS must be provided.
392 If CONFIG_HAVE_OPTION_TABLE is enabled then it will use the value
393 defined in the mainboard option table.
394
Daniele Forsiad488d22014-07-30 12:23:35 +0200395config CONSOLE_POST
Idwer Vollering5809a732014-03-11 15:36:21 +0000396 bool "Show POST codes on the debug console"
397 depends on !NO_POST
398 default n
399 help
400 If enabled, coreboot will additionally print POST codes (which are
401 usually displayed using a so-called "POST card" ISA/PCI/PCI-E
402 device) on the debug console.
403
404config POST_DEVICE
405 bool "Send POST codes to an external device"
406 depends on !NO_POST
407 default y
408
409choice
410 prompt "Device to send POST codes to"
411 depends on POST_DEVICE
Kyösti Mälkki657d68b2019-12-03 12:36:09 +0200412 default POST_DEVICE_LPC if DEFAULT_POST_ON_LPC
Idwer Vollering5809a732014-03-11 15:36:21 +0000413 default POST_DEVICE_NONE
414
415config POST_DEVICE_NONE
416 bool "None"
417config POST_DEVICE_LPC
418 bool "LPC"
Vladimir Serbinenkod51a0892016-03-04 09:20:20 +0100419 depends on PCI
Idwer Vollering5809a732014-03-11 15:36:21 +0000420config POST_DEVICE_PCI_PCIE
421 bool "PCI/PCIe"
Vladimir Serbinenkod51a0892016-03-04 09:20:20 +0100422 depends on PCI
Idwer Vollering5809a732014-03-11 15:36:21 +0000423endchoice
424
Kyösti Mälkki657d68b2019-12-03 12:36:09 +0200425config DEFAULT_POST_ON_LPC
426 bool
427 default n
428
Idwer Vollering5809a732014-03-11 15:36:21 +0000429config POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800430 bool "Send POST codes to an IO port"
Idwer Vollering5809a732014-03-11 15:36:21 +0000431 depends on PC80_SYSTEM && !NO_POST
David Hendricks6b908d02012-11-05 12:34:09 -0800432 default y
433 help
434 If enabled, POST codes will be written to an IO port.
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000435
Idwer Vollering5809a732014-03-11 15:36:21 +0000436config POST_IO_PORT
437 depends on POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800438 hex "IO port for POST codes"
439 default 0x80
440 help
441 POST codes on x86 are typically written to the LPC bus on port
Daniele Forsi53847a22014-07-22 18:00:56 +0200442 0x80. However, it may be desirable to change the port number
David Hendricks6b908d02012-11-05 12:34:09 -0800443 depending on the presence of coprocessors/microcontrollers or if the
444 platform does not support IO in the conventional x86 manner.
445
Martin Roth14554372015-11-12 14:02:42 -0700446config NO_EARLY_BOOTBLOCK_POSTCODES
447 def_bool n
448 help
449 Some chipsets require that the routing for the port 80h POST
450 code be configured before any POST codes are sent out.
451 This can be done in the boot block, but there are a couple of
452 POST codes that go out before the chipset's bootblock initialization
453 can happen. This option suppresses those POST codes.
454
Nico Huberc83239e2016-10-05 17:46:49 +0200455config HWBASE_DEBUG_CB
456 bool
457 default y if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
458 default n
459
460config HWBASE_DEBUG_NULL
461 def_bool y
462 depends on !HWBASE_DEBUG_CB
463
David Hendricks6b908d02012-11-05 12:34:09 -0800464endmenu