zephyr/drivers/console/Kconfig
Andrew Boie 2a1e4266e8 IPI console driver with test case
This introduces a generic driver set for console messages routed over
inter-processor interrupt (IPI) channels. These drivers bind to a
low-level IPI driver instance for the actual transport of messages.

ipi_console_sender installs printk and/or stdout hooks to forward
messages over IPI. There is currently no buffering on the sending side.

ipi_console_receiver installs an IPI callback which stashes incoming
characters into a ring buffer, which is monitored by a nanokernel
fiber. The fiber buffers the characters on a per-line basis and sends
them to either printk or stdout. Multiple instances of this driver
may be created in case you need to receive console data from multiple
CPUs.

Change-Id: Icebc110794fbe040f975101cd2ae6e78fb38645a
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:24:17 -05:00

116 lines
3.4 KiB
Plaintext

# Kconfig - console driver configuration options
#
# Copyright (c) 2014-2015 Wind River Systems, Inc.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1) Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2) Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3) Neither the name of Wind River Systems nor the names of its contributors
# may be used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
menuconfig CONSOLE
bool
prompt "Console drivers"
if CONSOLE
config CONSOLE_HAS_DRIVER
bool
default n
help
This is an option to be enabled by console drivers to signal
that some kind of console exists.
config CONSOLE_HANDLER
bool
prompt "Enable console input handler"
select UART_INTERRUPT_DRIVEN
default n
help
This option enables console input handler allowing to write simple
interaction between serial console and the OS.
config UART_CONSOLE
bool
prompt "Use UART for console"
default n
depends on SERIAL && SERIAL_HAS_DRIVER
select CONSOLE_HAS_DRIVER
help
Enable this option to use one UART for console. Make sure
CONFIG_UART_CONSOLE_INDEX is also set correctly.
config UART_CONSOLE_INDEX
int "UART Console Index"
default 0
depends on UART_CONSOLE
help
This option specifies index for the console uart port.
config UART_CONSOLE_BAUDRATE
int "UART Console Baud Rate"
default 115200
depends on UART_CONSOLE
help
This specifies the baud rate for the UART console.
Default is 115200, which should be usable for most RS232
and USB adapters.
config RAM_CONSOLE
bool
prompt "Use RAM console"
select CONSOLE_HAS_DRIVER
default n
help
Emit console messages to a RAM buffer "ram_console" which can
be examined at runtime with a debugger. Useful in board bring-up
if there aren't any working serial drivers.
config RAM_CONSOLE_BUFFER_SIZE
int "Ram Console buffer size"
default 1024
depends on RAM_CONSOLE
help
Size of the RAM console buffer. Messages will wrap around if the
length is exceeded.
config IPI_CONSOLE_SENDER
bool
prompt "Inter-processor Interrupt console sender"
default n
help
Enable the sending side of IPI console
config IPI_CONSOLE_RECEIVER
bool
prompt "Inter-processor interrupt console receiver"
select RING_BUFFER
default n
help
Enable the receiving side of IPI console
endif