Make POST codes written to IO port optional

This adds more configurability to POST codes. The current assumption
is that POST codes should be written to an IO port (e.g. LPC) if POST
codes are enabled. This changes the assumption so that POST codes can
be written to the serial console without being written to an IO port.

This enables POST codes by default using "default y" to avoid
changing current behavior.

Change-Id: I3db91c358ccb1557096983c4d07f70b2e872c4b3
Signed-off-by: David Hendricks <dhendrix@chromium.org>
Reviewed-on: http://review.coreboot.org/1685
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
David Hendricks 2012-11-05 12:34:09 -08:00
parent d5d340695b
commit 6b908d08ab
2 changed files with 19 additions and 5 deletions

View File

@ -360,9 +360,6 @@ config NO_POST
bool "Don't show any POST codes" bool "Don't show any POST codes"
default n default n
config POST_PORT
hex
default 0x80
config CONSOLE_POST config CONSOLE_POST
bool "Show POST codes on the debug console" bool "Show POST codes on the debug console"
@ -391,5 +388,20 @@ config CMOS_POST_OFFSET
If CONFIG_HAVE_OPTION_TABLE is enabled then it will use the value If CONFIG_HAVE_OPTION_TABLE is enabled then it will use the value
defined in the mainboard option table. defined in the mainboard option table.
endmenu config IO_POST
bool "Send POST codes to an IO port"
default y
help
If enabled, POST codes will be written to an IO port.
config IO_POST_PORT
depends on IO_POST
hex "IO port for POST codes"
default 0x80
help
POST codes on x86 are typically written to the LPC bus on port
0x80. However, it may be desireable to change the port number
depending on the presence of coprocessors/microcontrollers or if the
platform does not support IO in the conventional x86 manner.
endmenu

View File

@ -100,7 +100,9 @@ void post_code(uint8_t value)
#if CONFIG_CMOS_POST #if CONFIG_CMOS_POST
cmos_post_code(value); cmos_post_code(value);
#endif #endif
outb(value, CONFIG_POST_PORT); #if CONFIG_IO_POST
outb(value, CONFIG_IO_POST_PORT);
#endif
#endif #endif
mainboard_post(value); mainboard_post(value);
} }