894 lines
20 KiB
Plaintext
894 lines
20 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
config ARCH_HAVE_SERIAL_TERMIOS
|
|
bool
|
|
default n
|
|
|
|
menuconfig SERIAL
|
|
bool "Serial Driver Support"
|
|
default y
|
|
---help---
|
|
Front-end character drivers for chip-specific UARTs. This provide
|
|
some TTY-like functionality and are commonly used (but not required
|
|
for) the NuttX system console. See also include/nuttx/serial/serial.h
|
|
|
|
if SERIAL
|
|
|
|
config SERIAL_PM_ACTIVITY_DOMAIN
|
|
int "PM activity domain"
|
|
default 0
|
|
depends on PM
|
|
---help---
|
|
When characters are received on a console device, pm_activity()
|
|
will be called with this PM domain.
|
|
|
|
config SERIAL_PM_ACTIVITY_PRIORITY
|
|
int "PM activity priority when receive character"
|
|
default 6
|
|
depends on PM
|
|
---help---
|
|
When characters are received on a console device, pm_activity()
|
|
will be called with this PM priority.
|
|
|
|
config SERIAL_REMOVABLE
|
|
bool
|
|
default n
|
|
|
|
config SERIAL_CONSOLE
|
|
bool
|
|
default n
|
|
|
|
config SERIAL_GDBSTUB
|
|
bool "GDBSTUB Serial support"
|
|
depends on ARCH_HAVE_DEBUG
|
|
default n
|
|
|
|
config SERIAL_GDBSTUB_PATH
|
|
string "GDBSTUB Serial path"
|
|
depends on SERIAL_GDBSTUB
|
|
default "/dev/ttyS1"
|
|
---help---
|
|
The path to the serial device that will be used for GDB stub.
|
|
|
|
menuconfig UART_PL011
|
|
bool "PL011 Chip support"
|
|
default n
|
|
|
|
if UART_PL011
|
|
source "drivers/serial/Kconfig-pl011"
|
|
endif
|
|
|
|
menuconfig CMSDK_UART
|
|
bool "CMSDK UART Chip support"
|
|
select ARCH_HAVE_SERIAL_TERMIOS
|
|
default n
|
|
|
|
if CMSDK_UART
|
|
source "drivers/serial/Kconfig-cmsdk"
|
|
endif # CMSDK_UART
|
|
|
|
menuconfig 16550_UART
|
|
bool "16550 UART Chip support"
|
|
select ARCH_HAVE_SERIAL_TERMIOS
|
|
default n
|
|
|
|
if 16550_UART
|
|
source "drivers/serial/Kconfig-16550"
|
|
endif
|
|
|
|
if PCI
|
|
source "drivers/serial/Kconfig-pci"
|
|
endif
|
|
|
|
#
|
|
# MCU serial peripheral driver?
|
|
#
|
|
|
|
config OTHER_UART_SERIALDRIVER
|
|
bool
|
|
default n
|
|
select MCU_SERIAL
|
|
|
|
config MCU_SERIAL
|
|
bool
|
|
default n
|
|
|
|
config RPMSG_UART
|
|
bool "UART RPMSG support"
|
|
default n
|
|
depends on RPMSG
|
|
select ARCH_HAVE_SERIAL_TERMIOS
|
|
select SERIAL_RXDMA
|
|
select SERIAL_TXDMA
|
|
select SERIAL_REMOVABLE
|
|
select SERIAL_IFLOWCONTROL
|
|
|
|
config RPMSG_UART_CONSOLE
|
|
bool "UART RPMSG console support"
|
|
default n
|
|
depends on RPMSG_UART
|
|
---help---
|
|
Register the UART RPMSG device as /dev/console so that is will be used
|
|
as the console device.
|
|
NOTE: support for this option must be implemented in the board logic by
|
|
setting the \"isconsole\" argument in the uart_rpmsg_init() function to true.
|
|
|
|
#
|
|
# Standard serial driver configuration
|
|
#
|
|
|
|
config STANDARD_SERIAL
|
|
bool "Enable standard \"upper-half\" serial driver"
|
|
default MCU_SERIAL
|
|
---help---
|
|
Enable the standard, upper-half serial driver used by most MCU serial peripherals.
|
|
|
|
config SERIAL_NPOLLWAITERS
|
|
int "Number of poll threads"
|
|
default 4
|
|
---help---
|
|
Maximum number of threads than can be waiting for POLL events.
|
|
Default: 4
|
|
|
|
config SERIAL_IFLOWCONTROL
|
|
bool
|
|
default n
|
|
|
|
config SERIAL_RS485CONTROL
|
|
bool
|
|
default n
|
|
---help---
|
|
Use RTS pin to control RS485 direction (Asserted while transmitting).
|
|
|
|
config SERIAL_OFLOWCONTROL
|
|
bool
|
|
default n
|
|
|
|
config SERIAL_TXDMA
|
|
bool
|
|
default n
|
|
|
|
config SERIAL_RXDMA
|
|
bool
|
|
default n
|
|
|
|
config SERIAL_IFLOWCONTROL_WATERMARKS
|
|
bool "RX flow control watermarks"
|
|
default n
|
|
depends on SERIAL_IFLOWCONTROL
|
|
---help---
|
|
Call the "lower half" rxflowcontrol method whenever the number of
|
|
characters in the serial RX buffer falls above an upper water mark
|
|
level or below a lower watermark level. The default behavior is to
|
|
call the rxflowcontrol method only when the RX buffer is empty or
|
|
full.
|
|
|
|
if SERIAL_IFLOWCONTROL_WATERMARKS
|
|
|
|
config SERIAL_IFLOWCONTROL_LOWER_WATERMARK
|
|
int "RX lower Watermark (percent)"
|
|
default 10
|
|
range 1 99
|
|
---help---
|
|
Call the rxflowcontrol method then there are this amount (or or less)
|
|
data buffered in the serial drivers RX buffer. This is expressed
|
|
as a percentage of the total size of the RX buffer which may vary
|
|
from instance-to-instance.
|
|
|
|
config SERIAL_IFLOWCONTROL_UPPER_WATERMARK
|
|
int "RX upper Watermark (percent)"
|
|
default 90
|
|
range 1 99
|
|
---help---
|
|
Call the rxflowcontrol method then there are this amount (or more)
|
|
data buffered in the serial drivers RX buffer. This is expressed
|
|
as a percentage of the total size of the RX buffer which may vary
|
|
from instance-to-instance.
|
|
|
|
endif # SERIAL_IFLOWCONTROL_WATERMARKS
|
|
|
|
config SERIAL_TIOCSERGSTRUCT
|
|
bool "Support TIOCSERGSTRUCT"
|
|
default n
|
|
depends on DEBUG_FEATURES && (MCU_SERIAL || 16550_UART)
|
|
---help---
|
|
As a debug option, many serial bottom half drivers support the TIOCSERGSTRUCT
|
|
that allows you to get the internal driver data structure. By default, this
|
|
IOCTL is not supported in order to reduce footprint. But if (1) the driver
|
|
supports the TIOCSERGSTRUCT ioctl, and (2) this option is selected, then
|
|
support for the TIOCSERGSTRUCT will be enabled.
|
|
|
|
config SERIAL_TERMIOS
|
|
bool "Serial TERMIOS support"
|
|
depends on ARCH_HAVE_SERIAL_TERMIOS
|
|
default n
|
|
---help---
|
|
If this is not defined, then the terminal hardware settings
|
|
(baud, parity, flow control) are not configurable at runtime.
|
|
Note: other software settings (echo, \r\n<->\n, break, tcflush)
|
|
are always supported.
|
|
|
|
config TTY_LAUNCH
|
|
bool "Enable feature TTY launch program"
|
|
default n
|
|
---help---
|
|
If select this, then user can launch a program with a special input.
|
|
|
|
if TTY_LAUNCH
|
|
|
|
config TTY_LAUNCH_CHAR
|
|
hex "TTY launch program characters"
|
|
default 0x12
|
|
---help---
|
|
Use Ctrl-R 0x12 inputs to determine whether launch a program
|
|
|
|
config TTY_LAUNCH_ARGS
|
|
string "TTY launch argument list"
|
|
default INIT_ARGS
|
|
---help---
|
|
The argument list for user applications. e.g.:
|
|
"\"arg1\",\"arg2\",\"arg3\""
|
|
|
|
config TTY_LAUNCH_PRIORITY
|
|
int "TTY launch program priority"
|
|
default INIT_PRIORITY
|
|
|
|
config TTY_LAUNCH_STACKSIZE
|
|
int "TTY launch program stack size"
|
|
default INIT_STACKSIZE
|
|
|
|
choice
|
|
prompt "TTY launch method"
|
|
default TTY_LAUNCH_ENTRY
|
|
|
|
config TTY_LAUNCH_ENTRY
|
|
bool "TTY launch program"
|
|
|
|
config TTY_LAUNCH_FILE
|
|
bool "TTY launch file"
|
|
depends on !BINFMT_DISABLE
|
|
|
|
endchoice
|
|
|
|
config TTY_LAUNCH_ENTRYPOINT
|
|
string "TTY launch program entry"
|
|
depends on TTY_LAUNCH_ENTRY
|
|
default INIT_ENTRYPOINT
|
|
|
|
config TTY_LAUNCH_ENTRYNAME
|
|
string "TTY launch program name"
|
|
depends on TTY_LAUNCH_ENTRY
|
|
default TTY_LAUNCH_ENTRYPOINT
|
|
|
|
config TTY_LAUNCH_FILEPATH
|
|
string "TTY launch file path"
|
|
depends on TTY_LAUNCH_FILE
|
|
default INIT_FILEPATH
|
|
---help---
|
|
The name of the entry point for user applications. For the example
|
|
applications this is of the form 'app_main' where 'app' is the application
|
|
name. If not defined, INIT_ENTRYPOINT defaults to "main".
|
|
|
|
endif # TTY_LAUNCH
|
|
|
|
config TTY_FORCE_PANIC
|
|
bool "Enable TTY force crash"
|
|
default n
|
|
depends on DEBUG_FEATURES
|
|
---help---
|
|
This is for debugging system busyloop or deadlock, when the shell can't run,
|
|
then use this force crash the system to see the dumplog.
|
|
|
|
config TTY_FORCE_PANIC_CHAR
|
|
hex "TTY force crash characters"
|
|
default 0x1F
|
|
depends on TTY_FORCE_PANIC
|
|
---help---
|
|
Use Ctrl-? 0x1F inputs to determine whether panic system
|
|
|
|
config TTY_SIGINT
|
|
bool "Support SIGINT"
|
|
default n
|
|
---help---
|
|
Whether support Ctrl-c/x event. Enabled automatically for console
|
|
devices. May be enabled for other serial devices using the ISIG bit
|
|
in the Termios c_lflag.
|
|
|
|
REVISIT: This implementation is compliant but incomplete. The
|
|
c_lflag ISIG bit normally enables/disables INTR, QUIT, SUSP, and
|
|
DSUSP character processing. The relationship between these names,
|
|
standard signals, and typical key presses are as follows:
|
|
|
|
INTR SIGINT Ctrl-C ETX(0x03) Interrupt
|
|
KILL SIGKILL Ctrl-U NAK(0x15) Kill
|
|
QUIT SIGQUIT Ctrl-\ FS (0x1c) Quit
|
|
SUSP SIGTSTP Ctrl-Z SUB(0x1a) Suspend
|
|
DSUSP SIGTSTP Ctrl-Y EM (0x19) Delayed suspend
|
|
|
|
Additional requirements:
|
|
- SIGKILL cannot be caught or ignored. Compared to SIGTERM which
|
|
is like SIGKILL but can be caught or ignored.
|
|
- SIGQUIT is like SIGINT but causes generation of a core dump
|
|
- SIGSTOP cannot be caught or ignored. SIGTSTP is like SIGSTOP but
|
|
can be caught or ignored.
|
|
- The delayed suspend (DSUSD) is like suspend (SUPD), except that
|
|
the suspension is delayed until the next read operation
|
|
|
|
Ctrl-D (EOT 0x04) normally should not generate a signal but, instead,
|
|
should cause an immediate End-of-File result.
|
|
|
|
config TTY_SIGINT_CHAR
|
|
hex "Serial parse SIGINT characters"
|
|
default 0x03 if SERIAL_CONSOLE
|
|
default 0x04 if !SERIAL_CONSOLE
|
|
depends on TTY_SIGINT
|
|
---help---
|
|
Use ASCII 0x03 (Ctrl-c) or 0x04 (ctrl-d) inputs to determine whether
|
|
to send a SIGINT event. Other characters may also be selected.
|
|
|
|
REVISIT: Traditionally Ctrl-C would generate SIGINT. Ctrl-D is the
|
|
End-of-File character that should close the stream.
|
|
|
|
config TTY_SIGTSTP
|
|
bool "Support SIGTSTP"
|
|
default n
|
|
---help---
|
|
Whether support Ctrl-z event. Enabled automatically for console
|
|
devices. May be enabled for other serial devices using the ISIG bit
|
|
in the Termios c_lflag.
|
|
|
|
REVISIT: This implementation is compliant but incomplete. The
|
|
c_lflag ISIG bit normally enables/disables INTR, QUIT, SUSP, and
|
|
DSUSP character processing. The relationship between these names,
|
|
standard signals, and typical key presses are as follows:
|
|
|
|
INTR SIGINT Ctrl-C ETX(0x03) Interrupt
|
|
KILL SIGKILL Ctrl-U NAK(0x15) Kill
|
|
QUIT SIGQUIT Ctrl-\ FS (0x1c) Quit
|
|
SUSP SIGTSTP Ctrl-Z SUB(0x1a) Suspend
|
|
DSUSP SIGTSTP Ctrl-Y EM (0x19) Delayed suspend
|
|
|
|
Additional requirements:
|
|
- SIGKILL cannot be caught or ignored. Compared to SIGTERM which
|
|
is like SIGKILL but can be caught or ignored.
|
|
- SIGQUIT is like SIGINT but causes generation of a core dump
|
|
- SIGSTOP cannot be caught or ignored. SIGTSTP is like SIGSTOP but
|
|
can be caught or ignored.
|
|
- The delayed suspend (DSUSD) is like suspend (SUPD), except that
|
|
the suspension is delayed until the next read operation
|
|
|
|
config TTY_SIGTSTP_CHAR
|
|
hex "Serial parse SIGTSTP characters"
|
|
default 0x1a
|
|
depends on TTY_SIGTSTP
|
|
---help---
|
|
Use ASCII 0x1a (Ctrl-z) input to determine whether to send a SIGTSTP
|
|
event. Other characters may also be selected.
|
|
|
|
#
|
|
# Serial console selection
|
|
#
|
|
|
|
choice
|
|
prompt "Serial console"
|
|
default NO_SERIAL_CONSOLE if !OTHER_UART_SERIALDRIVER
|
|
default OTHER_SERIAL_CONSOLE if OTHER_UART_SERIALDRIVER
|
|
depends on MCU_SERIAL
|
|
#depends on DEV_CONSOLE - We may have serial console with no file system at all
|
|
|
|
config UART_SERIAL_CONSOLE
|
|
bool "UART"
|
|
depends on UART_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config UART0_SERIAL_CONSOLE
|
|
bool "UART0"
|
|
depends on UART0_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config USART0_SERIAL_CONSOLE
|
|
bool "USART0"
|
|
depends on USART0_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config UART1_SERIAL_CONSOLE
|
|
bool "UART1"
|
|
depends on UART1_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config USART1_SERIAL_CONSOLE
|
|
bool "USART1"
|
|
depends on USART1_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config UART2_SERIAL_CONSOLE
|
|
bool "UART2"
|
|
depends on UART2_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config USART2_SERIAL_CONSOLE
|
|
bool "USART2"
|
|
depends on USART2_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config UART3_SERIAL_CONSOLE
|
|
bool "UART3"
|
|
depends on UART3_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config USART3_SERIAL_CONSOLE
|
|
bool "USART3"
|
|
depends on USART3_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config UART4_SERIAL_CONSOLE
|
|
bool "UART4"
|
|
depends on UART4_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config USART4_SERIAL_CONSOLE
|
|
bool "USART4"
|
|
depends on USART4_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config UART5_SERIAL_CONSOLE
|
|
bool "UART5"
|
|
depends on UART5_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config USART5_SERIAL_CONSOLE
|
|
bool "USART5"
|
|
depends on USART5_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config UART6_SERIAL_CONSOLE
|
|
bool "UART6"
|
|
depends on UART6_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config USART6_SERIAL_CONSOLE
|
|
bool "USART6"
|
|
depends on USART6_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config UART7_SERIAL_CONSOLE
|
|
bool "UART7"
|
|
depends on UART7_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config USART7_SERIAL_CONSOLE
|
|
bool "USART7"
|
|
depends on USART7_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config UART8_SERIAL_CONSOLE
|
|
bool "UART8"
|
|
depends on UART8_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config USART8_SERIAL_CONSOLE
|
|
bool "USART8"
|
|
depends on USART8_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config USART9_SERIAL_CONSOLE
|
|
bool "USART8"
|
|
depends on USART9_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART0_SERIAL_CONSOLE
|
|
bool "LPUART0"
|
|
depends on LPUART0_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART1_SERIAL_CONSOLE
|
|
bool "LPUART1"
|
|
depends on LPUART1_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART2_SERIAL_CONSOLE
|
|
bool "LPUART2"
|
|
depends on LPUART2_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART3_SERIAL_CONSOLE
|
|
bool "LPUART3"
|
|
depends on LPUART3_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART4_SERIAL_CONSOLE
|
|
bool "LPUART4"
|
|
depends on LPUART4_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART5_SERIAL_CONSOLE
|
|
bool "LPUART5"
|
|
depends on LPUART5_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART6_SERIAL_CONSOLE
|
|
bool "LPUART6"
|
|
depends on LPUART6_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART7_SERIAL_CONSOLE
|
|
bool "LPUART7"
|
|
depends on LPUART7_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART8_SERIAL_CONSOLE
|
|
bool "LPUART8"
|
|
depends on LPUART8_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART9_SERIAL_CONSOLE
|
|
bool "LPUART9"
|
|
depends on LPUART9_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART10_SERIAL_CONSOLE
|
|
bool "LPUART10"
|
|
depends on LPUART10_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART11_SERIAL_CONSOLE
|
|
bool "LPUART11"
|
|
depends on LPUART11_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART12_SERIAL_CONSOLE
|
|
bool "LPUART12"
|
|
depends on LPUART12_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART13_SERIAL_CONSOLE
|
|
bool "LPUART13"
|
|
depends on LPUART13_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART14_SERIAL_CONSOLE
|
|
bool "LPUART14"
|
|
depends on LPUART14_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config LPUART15_SERIAL_CONSOLE
|
|
bool "LPUART15"
|
|
depends on LPUART15_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config SCI0_SERIAL_CONSOLE
|
|
bool "SCI0"
|
|
depends on SCI0_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config SCI1_SERIAL_CONSOLE
|
|
bool "SCI1"
|
|
depends on SCI1_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config SCI2_SERIAL_CONSOLE
|
|
bool "SCI2"
|
|
depends on SCI2_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config SCI3_SERIAL_CONSOLE
|
|
bool "SCI3"
|
|
depends on SCI3_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config SCI4_SERIAL_CONSOLE
|
|
bool "SCI4"
|
|
depends on SCI4_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config SCI5_SERIAL_CONSOLE
|
|
bool "SCI5"
|
|
depends on SCI5_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config SCI6_SERIAL_CONSOLE
|
|
bool "SCI6"
|
|
depends on SCI6_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config SCI7_SERIAL_CONSOLE
|
|
bool "SCI7"
|
|
depends on SCI7_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config SCI8_SERIAL_CONSOLE
|
|
bool "SCI8"
|
|
depends on SCI8_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config SCI9_SERIAL_CONSOLE
|
|
bool "SCI9"
|
|
depends on SCI9_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config SCI10_SERIAL_CONSOLE
|
|
bool "SCI10"
|
|
depends on SCI10_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config SCI11_SERIAL_CONSOLE
|
|
bool "SCI11"
|
|
depends on SCI11_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config SCI12_SERIAL_CONSOLE
|
|
bool "SCI12"
|
|
depends on SCI12_SERIALDRIVER
|
|
select SERIAL_CONSOLE
|
|
|
|
config OTHER_SERIAL_CONSOLE
|
|
bool "Other serial console"
|
|
select SERIAL_CONSOLE
|
|
|
|
config NO_SERIAL_CONSOLE
|
|
bool "No serial console"
|
|
|
|
endchoice
|
|
|
|
#
|
|
# U[S]ARTn_XYZ settings for MCU serial drivers
|
|
#
|
|
|
|
menu "UART Configuration"
|
|
depends on UART_SERIALDRIVER
|
|
|
|
config UART_RXBUFSIZE
|
|
int "Receive buffer size"
|
|
default 256
|
|
---help---
|
|
Characters are buffered as they are received. This specifies
|
|
the size of the receive buffer.
|
|
|
|
config UART_TXBUFSIZE
|
|
int "Transmit buffer size"
|
|
default 256
|
|
---help---
|
|
Characters are buffered before being sent. This specifies
|
|
the size of the transmit buffer.
|
|
|
|
config UART_BAUD
|
|
int "BAUD rate"
|
|
default 115200
|
|
---help---
|
|
The configured BAUD of the UART.
|
|
|
|
config UART_BITS
|
|
int "Character size"
|
|
default 8
|
|
---help---
|
|
The number of bits. Must be either 7 or 8.
|
|
|
|
config UART_PARITY
|
|
int "Parity setting"
|
|
default 0
|
|
range 0 2
|
|
---help---
|
|
0=no parity, 1=odd parity, 2=even parity
|
|
|
|
config UART_2STOP
|
|
int "use 2 stop bits"
|
|
default 0
|
|
---help---
|
|
1=Two stop bits
|
|
|
|
config UART_IFLOWCONTROL
|
|
bool "UART RTS flow control"
|
|
default n
|
|
select SERIAL_IFLOWCONTROL
|
|
---help---
|
|
Enable UART RTS flow control
|
|
|
|
config UART_OFLOWCONTROL
|
|
bool "UART CTS flow control"
|
|
default n
|
|
select SERIAL_OFLOWCONTROL
|
|
---help---
|
|
Enable UART CTS flow control
|
|
|
|
config UART_TXDMA
|
|
bool "UART Tx DMA support"
|
|
default n
|
|
select SERIAL_TXDMA
|
|
---help---
|
|
Enable Tx DMA transfers on UART
|
|
|
|
config UART_RXDMA
|
|
bool "UART Rx DMA support"
|
|
default n
|
|
select SERIAL_RXDMA
|
|
---help---
|
|
Enable Rx DMA transfers on UART
|
|
|
|
endmenu
|
|
|
|
source "drivers/serial/Kconfig-uart"
|
|
source "drivers/serial/Kconfig-lpuart"
|
|
source "drivers/serial/Kconfig-usart"
|
|
source "drivers/serial/Kconfig-sci"
|
|
|
|
config RAM_UART
|
|
bool "RAM uart driver"
|
|
select SERIAL_RXDMA
|
|
select SERIAL_TXDMA
|
|
default n
|
|
---help---
|
|
It uses the memory block in the kernel as a communication medium,
|
|
which can communicate between different processes or different CPUs
|
|
|
|
if RAM_UART
|
|
config RAM_UART_POLLING_INTERVAL
|
|
int "RAM uart buffer check interval"
|
|
default USEC_PER_TICK
|
|
---help---
|
|
Interval in milliseconds to check for new data on uart ram buffer
|
|
|
|
config RAM_UART_BUFSIZE
|
|
int "RAM_UART buffer size"
|
|
default 1024
|
|
---help---
|
|
The size of the RAM_UART buffer in bytes
|
|
|
|
config RAM_UART0
|
|
bool "RAM uart driver 0"
|
|
default n
|
|
---help---
|
|
RAM_UART device 0
|
|
|
|
config RAM_UART0_SLAVE
|
|
bool "RAM_UART0 is slave"
|
|
depends on RAM_UART0
|
|
default n
|
|
---help---
|
|
The RAM uart0 is slave
|
|
|
|
config RAM_UART1
|
|
bool "RAM uart driver 1"
|
|
default n
|
|
---help---
|
|
RAM uart device 1
|
|
|
|
config RAM_UART1_SLAVE
|
|
bool "RAM uart1 is slave"
|
|
depends on RAM_UART1
|
|
default n
|
|
---help---
|
|
The RAM uart1 is slave
|
|
|
|
config RAM_UART2
|
|
bool "RAM uart driver 2"
|
|
default n
|
|
---help---
|
|
RAM uart device 2
|
|
|
|
config RAM_UART2_SLAVE
|
|
bool "RAM uart2 is slave"
|
|
depends on RAM_UART2
|
|
default n
|
|
---help---
|
|
The RAM uart2 is slave
|
|
|
|
config RAM_UART_BUFFER_SECTION
|
|
string "RAM uart buffer section name"
|
|
depends on RAM_UART0 || RAM_UART1 || RAM_UART2
|
|
---help---
|
|
The name of the section in the kernel memory block
|
|
|
|
endif # RAM_UART
|
|
|
|
menuconfig PSEUDOTERM
|
|
bool "Pseudo-Terminal (PTY) support"
|
|
default n
|
|
select PIPES
|
|
select ARCH_HAVE_SERIAL_TERMIOS
|
|
---help---
|
|
Enable support support for master and slave pseudo-terminal devices.
|
|
|
|
if PSEUDOTERM
|
|
|
|
config PSEUDOTERM_SUSV1
|
|
bool "SUSv1 style"
|
|
default y
|
|
---help---
|
|
PTYs as specified in the Single Unix Specification (SUSv1).
|
|
|
|
Master: /dev/ptmx (multiplexor)
|
|
Slave: /dev/pts/N
|
|
|
|
Where N is the minor number
|
|
|
|
config PSEUDOTERM_RXBUFSIZE
|
|
int "Pseudo-Terminal Rx buffer size"
|
|
default 256
|
|
---help---
|
|
Master-to-slave pipe buffer size. Default: 256
|
|
|
|
config PSEUDOTERM_TXBUFSIZE
|
|
int "Pseudo-Terminal Tx buffer size"
|
|
default 256
|
|
---help---
|
|
Slave-to-master pipe buffer size. Default: 256
|
|
|
|
endif # PSEUDOTERM
|
|
|
|
menuconfig UART_BTH4
|
|
bool "BT H4 UART Pseudo Device"
|
|
default n
|
|
depends on DRIVERS_BLUETOOTH
|
|
---help---
|
|
Enable support for Bluetooth H4 UART Pseudo Device(eg. /dev/ttyHCI).
|
|
This instantiates a serial-like interface over an existing bluetooth
|
|
controller via HCI interface. Useful for external Bluetooth
|
|
stacks working this way instead of the socket based interface.
|
|
|
|
if UART_BTH4
|
|
|
|
config UART_BTH4_TXBUFSIZE
|
|
int "BT H4 UART TX Buffer Size"
|
|
default 2048
|
|
---help---
|
|
H4 UART TX Buffer Size. Default: 2048
|
|
|
|
config UART_BTH4_RXBUFSIZE
|
|
int "BT H4 UART RX Buffer Size"
|
|
default 8096
|
|
---help---
|
|
H4 UART RX Buffer Size. Default: 8096
|
|
|
|
config UART_BTH4_NPOLLWAITERS
|
|
int "Number Of Poll Threads"
|
|
default 2
|
|
---help---
|
|
Maximum number of threads than can be waiting for POLL events.
|
|
Default: 2
|
|
|
|
endif # UART_BTH4
|
|
|
|
menuconfig UART_BTH5
|
|
bool "BT H5 UART Pseudo Device"
|
|
default n
|
|
depends on DRIVERS_BLUETOOTH
|
|
---help---
|
|
Enable support for Bluetooth H5 UART Pseudo Device(eg. /dev/ttyHCI).
|
|
This instantiates a serial-like interface over an existing bluetooth
|
|
controller via HCI interface. Useful for external Bluetooth
|
|
stacks working this way instead of the socket based interface.
|
|
|
|
if UART_BTH5
|
|
|
|
config UART_BTH5_TXBUFSIZE
|
|
int "BT H5 UART TX Buffer Size"
|
|
default 2048
|
|
---help---
|
|
H5 UART TX Buffer Size. Default: 2048
|
|
|
|
config UART_BTH5_TXWIN
|
|
int "BT H5 Uart TX Window Size"
|
|
default 4
|
|
---help---
|
|
H5 UART TX Window Size. Default: 4
|
|
|
|
config UART_BTH5_RXBUFSIZE
|
|
int "BT H5 Uart RX Buffer Size"
|
|
default 8096
|
|
---help---
|
|
H5 UART RX Buffer Size. Default: 8096
|
|
|
|
config UART_BTH5_NPOLLWAITERS
|
|
int "Number Of Poll Threads"
|
|
default 2
|
|
---help---
|
|
Maximum number of threads than can be waiting for POLL events.
|
|
Default: 2
|
|
|
|
endif # UART_BTH5
|
|
|
|
endif # SERIAL
|