diff options
author | Simon Glass <sjg@chromium.org> | 2016-10-17 20:12:36 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-10-23 18:33:19 -0400 |
commit | 8f925584145efecd9a6323801689cffd69cf0b09 (patch) | |
tree | 82accc506b462a88717656ea4cea2deab308acf7 /common | |
parent | 98af87997670af840ef178f76b4d6888534a6700 (diff) | |
download | u-boot-8f925584145efecd9a6323801689cffd69cf0b09.tar.gz |
Convert CONSOLE_PRE_CONSOLE_BUFFER options to Kconfig
Move these option to Kconfig and tidy up existing uses.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jteki@openedev.com>
Diffstat (limited to 'common')
-rw-r--r-- | common/Kconfig | 42 | ||||
-rw-r--r-- | common/console.c | 6 |
2 files changed, 45 insertions, 3 deletions
diff --git a/common/Kconfig b/common/Kconfig index a8dfd7c2e2..7988de278b 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -246,6 +246,48 @@ config SILENT_CONSOLE_UPDATE_ON_RELOC (e.g. NAND). This option makes the value of the 'silent' environment variable take effect at relocation. +config PRE_CONSOLE_BUFFER + bool "Buffer characters before the console is available" + help + Prior to the console being initialised (i.e. serial UART + initialised etc) all console output is silently discarded. + Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to + buffer any console messages prior to the console being + initialised to a buffer. The buffer is a circular buffer, so + if it overflows, earlier output is discarded. + + Note that this is not currently supported in SPL. It would be + useful to be able to share the pre-console buffer with SPL. + +config PRE_CON_BUF_SZ + int "Sets the size of the pre-console buffer" + depends on PRE_CONSOLE_BUFFER + default 4096 + help + The size of the pre-console buffer affects how much console output + can be held before it overflows and starts discarding earlier + output. Normally there is very little output at this early stage, + unless debugging is enabled, so allow enough for ~10 lines of + text. + + This is a useful feature if you are using a video console and + want to see the full boot output on the console. Without this + option only the post-relocation output will be displayed. + +config PRE_CON_BUF_ADDR + hex "Address of the pre-console buffer" + depends on PRE_CONSOLE_BUFFER + default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I + default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I + help + This sets the start address of the pre-console buffer. This must + be in available memory and is accessed before relocation and + possibly before DRAM is set up. Therefore choose an address + carefully. + + We should consider removing this option and allocating the memory + in board_init_f_init_reserve() instead. + endmenu config SYS_NO_FLASH diff --git a/common/console.c b/common/console.c index 282fcc8832..e1d84763bd 100644 --- a/common/console.c +++ b/common/console.c @@ -202,7 +202,7 @@ static void console_putc(int file, const char c) } } -#ifdef CONFIG_PRE_CONSOLE_BUFFER +#if CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER) static void console_puts_noserial(int file, const char *s) { int i; @@ -248,7 +248,7 @@ static inline void console_putc(int file, const char c) stdio_devices[file]->putc(stdio_devices[file], c); } -#ifdef CONFIG_PRE_CONSOLE_BUFFER +#if CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER) static inline void console_puts_noserial(int file, const char *s) { if (strcmp(stdio_devices[file]->name, "serial") != 0) @@ -415,7 +415,7 @@ int tstc(void) #define PRE_CONSOLE_FLUSHPOINT1_SERIAL 0 #define PRE_CONSOLE_FLUSHPOINT2_EVERYTHING_BUT_SERIAL 1 -#ifdef CONFIG_PRE_CONSOLE_BUFFER +#if CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER) #define CIRC_BUF_IDX(idx) ((idx) % (unsigned long)CONFIG_PRE_CON_BUF_SZ) static void pre_console_putc(const char c) |