Files
nuttx/drivers/serial/Kconfig-xlnxps
T
yinshengkai 8c035a2414 drivers/serial/xlnxps: add polling mode support for serial drivers
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>
2026-02-27 08:14:03 -03:00

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