summaryrefslogtreecommitdiffstats
path: root/src/include/console/uart.h
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2014-02-26 15:19:04 +0200
committerKyösti Mälkki <kyosti.malkki@gmail.com>2014-04-18 16:41:09 +0200
commitf3390862653f9473359eb9a587842bb04671e6df (patch)
tree2a6f8171cdac86609b1552e3417816bd6877e4ff /src/include/console/uart.h
parente8792be223f5f0c5c6bafffa4056793f3c3bfab7 (diff)
downloadcoreboot-f3390862653f9473359eb9a587842bb04671e6df.tar.gz
coreboot-f3390862653f9473359eb9a587842bb04671e6df.tar.bz2
coreboot-f3390862653f9473359eb9a587842bb04671e6df.zip
console: Simplify the enable rules
Consoles on CBMEM and USB have somewhat complex rules and dependencies when they can be active. Use simple variables to test which stage of boot is being built for each console. Change-Id: I2489e7731d07ca7d5dd2ea8b6501c73f05d6edd8 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/5341 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@gmail.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src/include/console/uart.h')
-rw-r--r--src/include/console/uart.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/include/console/uart.h b/src/include/console/uart.h
index 455140828505..5866ca4d423c 100644
--- a/src/include/console/uart.h
+++ b/src/include/console/uart.h
@@ -20,6 +20,7 @@
#ifndef CONSOLE_UART_H
#define CONSOLE_UART_H
+#include <rules.h>
#include <stdint.h>
/* Return the clock frequency UART uses as reference clock for
@@ -51,8 +52,23 @@ static inline void *uart_platform_baseptr(int idx)
{
return (void *)uart_platform_base(idx);
}
-#endif
void oxford_remap(unsigned int new_base);
+#define __CONSOLE_SERIAL_ENABLE__ CONFIG_CONSOLE_SERIAL && \
+ (ENV_BOOTBLOCK || ENV_ROMSTAGE || ENV_RAMSTAGE || \
+ (ENV_SMM && CONFIG_DEBUG_SMI))
+
+#if __CONSOLE_SERIAL_ENABLE__
+static inline void __uart_init(void) { uart_init(); }
+static inline void __uart_tx_byte(u8 data) { uart_tx_byte(data); }
+static inline void __uart_tx_flush(void) { uart_tx_flush(); }
+#else
+static inline void __uart_init(void) {}
+static inline void __uart_tx_byte(u8 data) {}
+static inline void __uart_tx_flush(void) {}
+#endif
+
+#endif /* __ROMCC__ */
+
#endif /* CONSOLE_UART_H */