blob: 548b701d9f0abf73fd81ec648cfeef692933d49b [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
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
196 port 6666 on IP/MAC specified with options bellow.
197 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
Kyösti Mälkki8659e402014-12-21 08:55:47 +0200258endif
259
Youness Alaouic4b4ff32017-05-11 10:36:29 -0400260config CONSOLE_SPI_FLASH
261 bool "SPI Flash console output"
262 default n
263 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if !COMMON_CBFS_SPI_WRAPPER
264 help
265 Send coreboot debug output to the SPI Flash in the FMAP CONSOLE area
266
267 This option can cause premature wear on the SPI flash and should not
268 be used as a normal means of debugging. It is only to be enabled and
269 used when porting a new motherboard which has no other console
270 available (no UART, no POST, no cbmem access(non bootable)). Since
271 a non bootable machine will require the use of an external SPI Flash
272 programmer, the developer can grab the console log at the same time.
273
274 The flash console will not be erased on reboot, so once it is full,
275 the flashconsole driver will stop writing to it. This is to avoid
276 wear on the flash, and to avoid erasing sectors (which may freeze
277 the SPI controller on skylake).
278
279 The 'CONSOLE' area can be extracted from the FMAP with :
280 cbfstool rom.bin read -r CONSOLE -f console.log
281
282config CONSOLE_SPI_FLASH_BUFFER_SIZE
283 hex "Room allocated for console output in FMAP"
284 default 0x20000
285 depends on CONSOLE_SPI_FLASH
286 help
287 Space allocated for console output storage in FMAP. The default
288 value (128K or 0x20000 bytes) is large enough to accommodate
289 even the BIOS_SPEW level.
290
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200291config CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200292 bool "QEMU debug console output"
Angel Ponsd6152302020-03-01 14:46:38 +0100293 depends on CPU_QEMU_X86
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200294 default y
295 help
296 Send coreboot debug output to QEMU's isa-debugcon device:
297
298 qemu-system-x86_64 \
299 -chardev file,id=debugcon,path=/dir/file.log \
300 -device isa-debugcon,iobase=0x402,chardev=debugcon
301
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200302config CONSOLE_QEMU_DEBUGCON_PORT
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200303 hex "QEMU debug console port"
Gerd Hoffmannd7c6e442013-05-30 10:32:31 +0200304 depends on CONSOLE_QEMU_DEBUGCON
Gerd Hoffmann038aa292013-05-29 13:06:22 +0200305 default 0x402
306
Angel Pons12d48cd2020-10-03 12:22:04 +0200307config EM100PRO_SPI_CONSOLE
308 bool "EM100Pro SPI debug console output"
309 depends on HAVE_EM100PRO_SPI_CONSOLE_SUPPORT && !DEBUG_SPI_FLASH
Martin Roth3a543182015-09-28 15:27:24 -0600310 help
311 Enable support for the debug console on the Dediprog EM100Pro.
312 This is currently working only in ramstage due to how the spi
313 drivers are written.
314
Jeremy Soller52785ab2020-07-22 06:40:28 -0600315config CONSOLE_SYSTEM76_EC
316 bool "System76 EC console output"
317 default n
318 depends on EC_SYSTEM76_EC
319 help
320 Send coreboot debug output to a System76 embedded controller.
321
Julien Viard de Galbert4ecd42f2018-02-20 15:01:27 +0100322config CONSOLE_OVERRIDE_LOGLEVEL
Patrick Georgi0bb83462019-11-22 20:58:58 +0100323 bool
Julien Viard de Galbert4ecd42f2018-02-20 15:01:27 +0100324 help
325 Set to "y" when the platform overrides the loglevel by providing
326 a get_console_loglevel routine.
327
328if !CONSOLE_OVERRIDE_LOGLEVEL
329
Uwe Hermann7fe41912009-10-11 13:35:24 +0000330choice
Myles Watson03646182009-10-16 19:29:45 +0000331 prompt "Default console log level"
Julius Wernere64a5852018-10-15 17:19:58 -0700332 default DEFAULT_CONSOLE_LOGLEVEL_8 if CHROMEOS
Nico Huber715a5022018-05-04 12:04:00 +0200333 default DEFAULT_CONSOLE_LOGLEVEL_7
Uwe Hermann7fe41912009-10-11 13:35:24 +0000334
335config DEFAULT_CONSOLE_LOGLEVEL_8
Myles Watson03646182009-10-16 19:29:45 +0000336 bool "8: SPEW"
Myles Watson03646182009-10-16 19:29:45 +0000337 help
338 Way too many details.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000339config DEFAULT_CONSOLE_LOGLEVEL_7
Myles Watson03646182009-10-16 19:29:45 +0000340 bool "7: DEBUG"
Myles Watson03646182009-10-16 19:29:45 +0000341 help
342 Debug-level messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000343config DEFAULT_CONSOLE_LOGLEVEL_6
Myles Watson03646182009-10-16 19:29:45 +0000344 bool "6: INFO"
Myles Watson03646182009-10-16 19:29:45 +0000345 help
346 Informational messages.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000347config DEFAULT_CONSOLE_LOGLEVEL_5
Myles Watson03646182009-10-16 19:29:45 +0000348 bool "5: NOTICE"
Myles Watson03646182009-10-16 19:29:45 +0000349 help
350 Normal but significant conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000351config DEFAULT_CONSOLE_LOGLEVEL_4
Myles Watson03646182009-10-16 19:29:45 +0000352 bool "4: WARNING"
Myles Watson03646182009-10-16 19:29:45 +0000353 help
354 Warning conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000355config DEFAULT_CONSOLE_LOGLEVEL_3
Myles Watson03646182009-10-16 19:29:45 +0000356 bool "3: ERR"
Myles Watson03646182009-10-16 19:29:45 +0000357 help
358 Error conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000359config DEFAULT_CONSOLE_LOGLEVEL_2
Myles Watson03646182009-10-16 19:29:45 +0000360 bool "2: CRIT"
Myles Watson03646182009-10-16 19:29:45 +0000361 help
362 Critical conditions.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000363config DEFAULT_CONSOLE_LOGLEVEL_1
Myles Watson03646182009-10-16 19:29:45 +0000364 bool "1: ALERT"
Myles Watson03646182009-10-16 19:29:45 +0000365 help
366 Action must be taken immediately.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000367config DEFAULT_CONSOLE_LOGLEVEL_0
Myles Watson03646182009-10-16 19:29:45 +0000368 bool "0: EMERG"
369 help
370 System is unusable.
Uwe Hermann7fe41912009-10-11 13:35:24 +0000371
372endchoice
373
Patrick Georgi0588d192009-08-12 15:00:51 +0000374config DEFAULT_CONSOLE_LOGLEVEL
Uwe Hermann7fe41912009-10-11 13:35:24 +0000375 int
376 default 0 if DEFAULT_CONSOLE_LOGLEVEL_0
377 default 1 if DEFAULT_CONSOLE_LOGLEVEL_1
378 default 2 if DEFAULT_CONSOLE_LOGLEVEL_2
379 default 3 if DEFAULT_CONSOLE_LOGLEVEL_3
380 default 4 if DEFAULT_CONSOLE_LOGLEVEL_4
381 default 5 if DEFAULT_CONSOLE_LOGLEVEL_5
382 default 6 if DEFAULT_CONSOLE_LOGLEVEL_6
383 default 7 if DEFAULT_CONSOLE_LOGLEVEL_7
384 default 8 if DEFAULT_CONSOLE_LOGLEVEL_8
385 help
386 Map the log level config names to an integer.
Patrick Georgi0588d192009-08-12 15:00:51 +0000387
Julien Viard de Galbert4ecd42f2018-02-20 15:01:27 +0100388endif
389
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000390config NO_POST
391 bool "Don't show any POST codes"
392 default n
393
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700394config CMOS_POST
395 bool "Store post codes in CMOS for debugging"
Stefan Reinauerc2d5a162012-12-06 14:25:27 -0800396 depends on !NO_POST && PC80_SYSTEM
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700397 default n
398 help
399 If enabled, coreboot will store post codes in CMOS and switch between
400 two offsets on each boot so the last post code in the previous boot
401 can be retrieved. This uses 3 bytes of CMOS.
402
403config CMOS_POST_OFFSET
404 hex "Offset into CMOS to store POST codes"
405 depends on CMOS_POST
Martin Roth3b878122016-09-30 14:43:01 -0600406 default 0x0
Duncan Laurieb6e97b12012-09-09 19:09:56 -0700407 help
408 If CMOS_POST is enabled then an offset into CMOS must be provided.
409 If CONFIG_HAVE_OPTION_TABLE is enabled then it will use the value
410 defined in the mainboard option table.
411
Daniele Forsiad488d22014-07-30 12:23:35 +0200412config CONSOLE_POST
Idwer Vollering5809a732014-03-11 15:36:21 +0000413 bool "Show POST codes on the debug console"
414 depends on !NO_POST
415 default n
416 help
417 If enabled, coreboot will additionally print POST codes (which are
418 usually displayed using a so-called "POST card" ISA/PCI/PCI-E
419 device) on the debug console.
420
421config POST_DEVICE
422 bool "Send POST codes to an external device"
423 depends on !NO_POST
424 default y
425
426choice
427 prompt "Device to send POST codes to"
428 depends on POST_DEVICE
Kyösti Mälkki657d68b2019-12-03 12:36:09 +0200429 default POST_DEVICE_LPC if DEFAULT_POST_ON_LPC
Idwer Vollering5809a732014-03-11 15:36:21 +0000430 default POST_DEVICE_NONE
431
432config POST_DEVICE_NONE
433 bool "None"
434config POST_DEVICE_LPC
435 bool "LPC"
Vladimir Serbinenkod51a0892016-03-04 09:20:20 +0100436 depends on PCI
Idwer Vollering5809a732014-03-11 15:36:21 +0000437config POST_DEVICE_PCI_PCIE
438 bool "PCI/PCIe"
Vladimir Serbinenkod51a0892016-03-04 09:20:20 +0100439 depends on PCI
Idwer Vollering5809a732014-03-11 15:36:21 +0000440endchoice
441
Kyösti Mälkki657d68b2019-12-03 12:36:09 +0200442config DEFAULT_POST_ON_LPC
443 bool
444 default n
445
Idwer Vollering5809a732014-03-11 15:36:21 +0000446config POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800447 bool "Send POST codes to an IO port"
Idwer Vollering5809a732014-03-11 15:36:21 +0000448 depends on PC80_SYSTEM && !NO_POST
David Hendricks6b908d02012-11-05 12:34:09 -0800449 default y
450 help
451 If enabled, POST codes will be written to an IO port.
Stefan Reinauerc719f1a2010-03-30 09:57:28 +0000452
Idwer Vollering5809a732014-03-11 15:36:21 +0000453config POST_IO_PORT
454 depends on POST_IO
David Hendricks6b908d02012-11-05 12:34:09 -0800455 hex "IO port for POST codes"
456 default 0x80
457 help
458 POST codes on x86 are typically written to the LPC bus on port
Daniele Forsi53847a22014-07-22 18:00:56 +0200459 0x80. However, it may be desirable to change the port number
David Hendricks6b908d02012-11-05 12:34:09 -0800460 depending on the presence of coprocessors/microcontrollers or if the
461 platform does not support IO in the conventional x86 manner.
462
Martin Roth14554372015-11-12 14:02:42 -0700463config NO_EARLY_BOOTBLOCK_POSTCODES
464 def_bool n
465 help
466 Some chipsets require that the routing for the port 80h POST
467 code be configured before any POST codes are sent out.
468 This can be done in the boot block, but there are a couple of
469 POST codes that go out before the chipset's bootblock initialization
470 can happen. This option suppresses those POST codes.
471
Nico Huberc83239e2016-10-05 17:46:49 +0200472config HWBASE_DEBUG_CB
473 bool
474 default y if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
475 default n
476
477config HWBASE_DEBUG_NULL
478 def_bool y
479 depends on !HWBASE_DEBUG_CB
480
David Hendricks6b908d02012-11-05 12:34:09 -0800481endmenu