63 lines
1.9 KiB
Plaintext
63 lines
1.9 KiB
Plaintext
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig UART_NS16550
|
|
bool "NS16550 serial driver"
|
|
select SERIAL_HAS_DRIVER
|
|
select SERIAL_SUPPORT_INTERRUPT
|
|
help
|
|
This option enables the NS16550 serial driver.
|
|
This driver can be used for the serial hardware
|
|
available on x86 boards.
|
|
|
|
if UART_NS16550
|
|
|
|
config UART_NS16550_LINE_CTRL
|
|
bool "Serial Line Control for Apps"
|
|
depends on UART_LINE_CTRL
|
|
help
|
|
This enables the API for apps to control the serial line,
|
|
such as CTS and RTS.
|
|
|
|
Says n if not sure.
|
|
|
|
config UART_NS16550_DRV_CMD
|
|
bool "Driver Commands"
|
|
depends on UART_DRV_CMD
|
|
help
|
|
This enables the API for apps to send commands to driver.
|
|
|
|
Says n if not sure.
|
|
|
|
config UART_NS16750
|
|
bool "UART 16750 (64-bytes FIFO and auto flow control)"
|
|
help
|
|
This enables support for 64-bytes FIFO and automatic hardware
|
|
flow control if UART controller is 16750.
|
|
|
|
config UART_NS16550_ACCESS_WORD_ONLY
|
|
bool "NS16550 only allows word access"
|
|
help
|
|
In some case, e.g. ARC HS Development kit, the peripheral space of ns
|
|
16550 (DesignWare UART) only allows word access, byte access will raise
|
|
exception.
|
|
|
|
menu "NS16550 Workarounds"
|
|
|
|
config UART_NS16550_WA_ISR_REENABLE_INTERRUPT
|
|
bool "Re-enable interrupts by toggling IER at end of ISR"
|
|
depends on UART_INTERRUPT_DRIVEN
|
|
help
|
|
In some configurations (e.g. edge interrupt triggers),
|
|
an interruptible event occurs during ISR and the host interrupt
|
|
controller does not see the new event due to IIR is constantly
|
|
asserting interrupts. For example, the callback handles RX and
|
|
then TX. If another character comes in before end of TX processing
|
|
(TX interrupt still asserts while raising RX interrupt), the host
|
|
interrupt controller may not see this new event. So if needed,
|
|
the IER is being toggled to re-assert interrupts at the end of ISR
|
|
to nudge the host interrupt controller to fire the ISR again.
|
|
|
|
endmenu
|
|
|
|
endif # UART_NS16550
|