mirror of
https://github.com/apache/nuttx.git
synced 2026-05-26 02:36:11 +08:00
8c035a2414
Adds CONFIG_UART_XLNXPS_POLLING options to enable polling mode for transmission. This avoids TX interrupts and reduces interrupt latency at the cost of blocking during TX. Implements sendbuf() method for efficient buffer transmission in polling mode. Signed-off-by: yinshengkai <yinshengkai@bytedance.com> Signed-off-by: chao an <anchao.archer@bytedance.com>
137 lines
3.2 KiB
Plaintext
137 lines
3.2 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
if UART_XLNXPS
|
|
|
|
config UART_XLNXPS_POLLING
|
|
bool "Force polling mode for TX"
|
|
default n
|
|
---help---
|
|
Force using polling mode for transmission. This avoids using TX interrupts
|
|
and potentially reduces interrupt latency, at the cost of blocking execution
|
|
during transmission.
|
|
|
|
config XLNXPS_SERIAL_DISABLE_REORDERING
|
|
bool "Disable reordering of ttySx devices."
|
|
default n
|
|
---help---
|
|
NuttX per default reorders the serial ports (/dev/ttySx) so that the
|
|
console is always on /dev/ttyS0. If more than one UART is in use this
|
|
can, however, have the side-effect that all port mappings
|
|
(hardware USART1 -> /dev/ttyS0) change if the console is moved to another
|
|
UART. This option disables that re-ordering for XLNXPS UARTs.
|
|
|
|
config UART_XLNXPS0
|
|
bool "XLNXPS UART0"
|
|
default n
|
|
|
|
if UART_XLNXPS0
|
|
|
|
config UART_XLNXPS0_BASE
|
|
hex "XLNXPS UART0 base address"
|
|
default 0x0
|
|
|
|
config UART_XLNXPS0_CLOCK
|
|
int "XLNXPS UART0 clock"
|
|
default 0
|
|
|
|
config UART_XLNXPS0_IRQ
|
|
int "XLNXPS UART0 IRQ number"
|
|
default 0
|
|
|
|
config UART_XLNXPS0_BAUD
|
|
int "XLNXPS UART0 BAUD"
|
|
default 115200
|
|
|
|
config UART_XLNXPS0_PARITY
|
|
int "XLNXPS UART0 parity"
|
|
default 0
|
|
range 0 2
|
|
---help---
|
|
XLNXPS UART0 parity. 0=None, 1=Odd, 2=Even. Default: None
|
|
|
|
config UART_XLNXPS0_BITS
|
|
int "XLNXPS UART0 number of bits"
|
|
default 8
|
|
---help---
|
|
XLNXPS UART0 number of bits. Default: 8
|
|
|
|
config UART_XLNXPS0_2STOP
|
|
int "XLNXPS UART0 two stop bits"
|
|
default 0
|
|
---help---
|
|
0=1 stop bit, 1=Two stop bits. Default: 1 stop bit
|
|
|
|
config UART_XLNXPS0_RX_TRIGGER
|
|
int "XLNXPS UART0 RX interrupt trigger level"
|
|
default 2
|
|
range 0 3
|
|
|
|
config UART_XLNXPS0_RXBUFSIZE
|
|
int "XLNXPS UART0 Rx buffer size"
|
|
default 256
|
|
---help---
|
|
XLNXPS UART0 Rx buffer size. Default: 256
|
|
|
|
config UART_XLNXPS0_TXBUFSIZE
|
|
int "XLNXPS UART0 Tx buffer size"
|
|
default 256
|
|
---help---
|
|
XLNXPS UART0 Tx buffer size. Default: 256
|
|
|
|
config UART_XLNXPS0_IFLOWCONTROL
|
|
bool "XLNXPS UART0 RTS flow control"
|
|
default n
|
|
select SERIAL_IFLOWCONTROL
|
|
---help---
|
|
Enable XLNXPS UART0 RTS flow control
|
|
|
|
config UART_XLNXPS0_OFLOWCONTROL
|
|
bool "XLNXPS UART0 CTS flow control"
|
|
default n
|
|
select SERIAL_OFLOWCONTROL
|
|
---help---
|
|
Enable XLNXPS UART0 CTS flow control
|
|
|
|
endif # UART_XLNXPS0
|
|
|
|
choice
|
|
prompt "XLNXPS Serial Console"
|
|
default XLNXPS_NO_SERIAL_CONSOLE
|
|
depends on DEV_CONSOLE
|
|
|
|
config UART_XLNXPS0_SERIAL_CONSOLE
|
|
bool "XLNXPS UART0 serial console"
|
|
depends on UART_XLNXPS0
|
|
select SERIAL_CONSOLE
|
|
|
|
config XLNXPS_NO_SERIAL_CONSOLE
|
|
bool "No XLNXPS serial console"
|
|
|
|
endchoice # XLNXPS Serial Console
|
|
|
|
config XLNXPS_SUPRESS_CONFIG
|
|
bool "Suppress XLNXPS configuration"
|
|
default n
|
|
|
|
config XLNXPS_SUPRESS_INITIAL_CONFIG
|
|
bool "Suppress initial XLNXPS configuration"
|
|
depends on !XLNXPS_SUPRESS_CONFIG
|
|
default n
|
|
---help---
|
|
This option is useful, for example, if you are using a bootloader
|
|
that configures the UART_XLNXPS. In that case, you may want to
|
|
just leave the existing console configuration in place. Default: n
|
|
|
|
config SERIAL_UART_ARCH_MMIO
|
|
bool "Platform access register through the memory mapping"
|
|
default n
|
|
|
|
config SERIAL_UART_ARCH_IOCTL
|
|
bool "Platform has own custom IOCTL"
|
|
default n
|
|
|
|
endif # UART_XLNXPS
|