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>
This commit is contained in:
parent
98af879976
commit
8f92558414
17
README
17
README
|
@ -832,23 +832,6 @@ The following options need to be configured:
|
||||||
must be defined, to setup the maximum idle timeout for
|
must be defined, to setup the maximum idle timeout for
|
||||||
the SMC.
|
the SMC.
|
||||||
|
|
||||||
- Pre-Console Buffer:
|
|
||||||
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 of size CONFIG_PRE_CON_BUF_SZ
|
|
||||||
bytes located at CONFIG_PRE_CON_BUF_ADDR. The buffer is
|
|
||||||
a circular buffer, so if more than CONFIG_PRE_CON_BUF_SZ
|
|
||||||
bytes are output before the console is initialised, the
|
|
||||||
earlier bytes are discarded.
|
|
||||||
|
|
||||||
Note that when printing the buffer a copy is made on the
|
|
||||||
stack so CONFIG_PRE_CON_BUF_SZ must fit on the stack.
|
|
||||||
|
|
||||||
'Sane' compilers will generate smaller code if
|
|
||||||
CONFIG_PRE_CON_BUF_SZ is a power of 2
|
|
||||||
|
|
||||||
- Autoboot Command:
|
- Autoboot Command:
|
||||||
CONFIG_BOOTCOMMAND
|
CONFIG_BOOTCOMMAND
|
||||||
Only needed when CONFIG_BOOTDELAY is enabled;
|
Only needed when CONFIG_BOOTDELAY is enabled;
|
||||||
|
|
|
@ -3,6 +3,9 @@ if ARCH_SUNXI
|
||||||
config IDENT_STRING
|
config IDENT_STRING
|
||||||
default " Allwinner Technology"
|
default " Allwinner Technology"
|
||||||
|
|
||||||
|
config PRE_CONSOLE_BUFFER
|
||||||
|
default y
|
||||||
|
|
||||||
config SPL_GPIO_SUPPORT
|
config SPL_GPIO_SUPPORT
|
||||||
default y
|
default y
|
||||||
|
|
||||||
|
|
|
@ -246,6 +246,48 @@ config SILENT_CONSOLE_UPDATE_ON_RELOC
|
||||||
(e.g. NAND). This option makes the value of the 'silent'
|
(e.g. NAND). This option makes the value of the 'silent'
|
||||||
environment variable take effect at relocation.
|
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
|
endmenu
|
||||||
|
|
||||||
config SYS_NO_FLASH
|
config SYS_NO_FLASH
|
||||||
|
|
|
@ -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)
|
static void console_puts_noserial(int file, const char *s)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -248,7 +248,7 @@ static inline void console_putc(int file, const char c)
|
||||||
stdio_devices[file]->putc(stdio_devices[file], 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)
|
static inline void console_puts_noserial(int file, const char *s)
|
||||||
{
|
{
|
||||||
if (strcmp(stdio_devices[file]->name, "serial") != 0)
|
if (strcmp(stdio_devices[file]->name, "serial") != 0)
|
||||||
|
@ -415,7 +415,7 @@ int tstc(void)
|
||||||
#define PRE_CONSOLE_FLUSHPOINT1_SERIAL 0
|
#define PRE_CONSOLE_FLUSHPOINT1_SERIAL 0
|
||||||
#define PRE_CONSOLE_FLUSHPOINT2_EVERYTHING_BUT_SERIAL 1
|
#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)
|
#define CIRC_BUF_IDX(idx) ((idx) % (unsigned long)CONFIG_PRE_CON_BUF_SZ)
|
||||||
|
|
||||||
static void pre_console_putc(const char c)
|
static void pre_console_putc(const char c)
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
CONFIG_ARM=y
|
CONFIG_ARM=y
|
||||||
CONFIG_ARCH_MX6=y
|
CONFIG_ARCH_MX6=y
|
||||||
CONFIG_TARGET_TBS2910=y
|
CONFIG_TARGET_TBS2910=y
|
||||||
|
CONFIG_PRE_CONSOLE_BUFFER=y
|
||||||
|
CONFIG_PRE_CON_BUF_ADDR=0x7c000000
|
||||||
CONFIG_FIT=y
|
CONFIG_FIT=y
|
||||||
CONFIG_BOOTDELAY=3
|
CONFIG_BOOTDELAY=3
|
||||||
CONFIG_HUSH_PARSER=y
|
CONFIG_HUSH_PARSER=y
|
||||||
|
|
|
@ -45,7 +45,7 @@ typedef struct global_data {
|
||||||
unsigned long board_type;
|
unsigned long board_type;
|
||||||
#endif
|
#endif
|
||||||
unsigned long have_console; /* serial_init() was called */
|
unsigned long have_console; /* serial_init() was called */
|
||||||
#ifdef CONFIG_PRE_CONSOLE_BUFFER
|
#if CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER)
|
||||||
unsigned long precon_buf_idx; /* Pre-Console buffer index */
|
unsigned long precon_buf_idx; /* Pre-Console buffer index */
|
||||||
#endif
|
#endif
|
||||||
unsigned long env_addr; /* Address of Environment struct */
|
unsigned long env_addr; /* Address of Environment struct */
|
||||||
|
|
|
@ -68,7 +68,6 @@
|
||||||
#define CONFIG_SYS_SDRAM_BASE 0x20000000
|
#define CONFIG_SYS_SDRAM_BASE 0x20000000
|
||||||
#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* default load address */
|
#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* default load address */
|
||||||
#define CONFIG_SYS_TEXT_BASE 0x2a000000
|
#define CONFIG_SYS_TEXT_BASE 0x2a000000
|
||||||
#define CONFIG_PRE_CON_BUF_ADDR 0x2f000000
|
|
||||||
/* Note SPL_STACK_R_ADDR is set through Kconfig, we include it here
|
/* Note SPL_STACK_R_ADDR is set through Kconfig, we include it here
|
||||||
* since it needs to fit in with the other values. By also #defining it
|
* since it needs to fit in with the other values. By also #defining it
|
||||||
* we get warnings if the Kconfig value mismatches. */
|
* we get warnings if the Kconfig value mismatches. */
|
||||||
|
@ -79,7 +78,6 @@
|
||||||
#define CONFIG_SYS_SDRAM_BASE 0x40000000
|
#define CONFIG_SYS_SDRAM_BASE 0x40000000
|
||||||
#define CONFIG_SYS_LOAD_ADDR 0x42000000 /* default load address */
|
#define CONFIG_SYS_LOAD_ADDR 0x42000000 /* default load address */
|
||||||
#define CONFIG_SYS_TEXT_BASE 0x4a000000
|
#define CONFIG_SYS_TEXT_BASE 0x4a000000
|
||||||
#define CONFIG_PRE_CON_BUF_ADDR 0x4f000000
|
|
||||||
/* Note SPL_STACK_R_ADDR is set through Kconfig, we include it here
|
/* Note SPL_STACK_R_ADDR is set through Kconfig, we include it here
|
||||||
* since it needs to fit in with the other values. By also #defining it
|
* since it needs to fit in with the other values. By also #defining it
|
||||||
* we get warnings if the Kconfig value mismatches. */
|
* we get warnings if the Kconfig value mismatches. */
|
||||||
|
@ -371,10 +369,6 @@ extern int soft_i2c_gpio_scl;
|
||||||
#ifndef CONFIG_SPL_BUILD
|
#ifndef CONFIG_SPL_BUILD
|
||||||
#include <config_distro_defaults.h>
|
#include <config_distro_defaults.h>
|
||||||
|
|
||||||
/* Enable pre-console buffer to get complete log on the VGA console */
|
|
||||||
#define CONFIG_PRE_CONSOLE_BUFFER
|
|
||||||
#define CONFIG_PRE_CON_BUF_SZ 4096 /* Aprox 2 80*25 screens */
|
|
||||||
|
|
||||||
#ifdef CONFIG_ARM64
|
#ifdef CONFIG_ARM64
|
||||||
/*
|
/*
|
||||||
* Boards seem to come with at least 512MB of DRAM.
|
* Boards seem to come with at least 512MB of DRAM.
|
||||||
|
|
|
@ -50,10 +50,6 @@
|
||||||
#define CONFIG_CONSOLE_MUX
|
#define CONFIG_CONSOLE_MUX
|
||||||
#define CONFIG_CONS_INDEX 1
|
#define CONFIG_CONS_INDEX 1
|
||||||
|
|
||||||
#define CONFIG_PRE_CONSOLE_BUFFER
|
|
||||||
#define CONFIG_PRE_CON_BUF_SZ 4096
|
|
||||||
#define CONFIG_PRE_CON_BUF_ADDR 0x7C000000
|
|
||||||
|
|
||||||
/* *** Command definition *** */
|
/* *** Command definition *** */
|
||||||
#define CONFIG_CMD_BMODE
|
#define CONFIG_CMD_BMODE
|
||||||
#define CONFIG_CMD_PART
|
#define CONFIG_CMD_PART
|
||||||
|
|
|
@ -3719,9 +3719,6 @@ CONFIG_PQ_MDS_PIB
|
||||||
CONFIG_PQ_MDS_PIB_ATM
|
CONFIG_PQ_MDS_PIB_ATM
|
||||||
CONFIG_PRAM
|
CONFIG_PRAM
|
||||||
CONFIG_PREBOOT
|
CONFIG_PREBOOT
|
||||||
CONFIG_PRE_CONSOLE_BUFFER
|
|
||||||
CONFIG_PRE_CON_BUF_ADDR
|
|
||||||
CONFIG_PRE_CON_BUF_SZ
|
|
||||||
CONFIG_PRIMEVIEW_V16C6448AC
|
CONFIG_PRIMEVIEW_V16C6448AC
|
||||||
CONFIG_PRINTK
|
CONFIG_PRINTK
|
||||||
CONFIG_PROC_FS
|
CONFIG_PROC_FS
|
||||||
|
|
Loading…
Reference in New Issue