2019-04-06 09:08:09 -04:00
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
2015-12-01 08:42:19 -08:00
|
|
|
menuconfig UART_NS16550
|
|
|
|
bool "NS16550 serial driver"
|
|
|
|
select SERIAL_HAS_DRIVER
|
2017-06-22 11:26:58 -05:00
|
|
|
select SERIAL_SUPPORT_INTERRUPT
|
2015-12-01 08:42:19 -08:00
|
|
|
help
|
|
|
|
This option enables the NS16550 serial driver.
|
|
|
|
This driver can be used for the serial hardware
|
2016-08-17 16:33:08 -07:00
|
|
|
available on x86 boards.
|
2015-12-01 08:42:19 -08:00
|
|
|
|
2020-12-19 17:27:22 +02:00
|
|
|
if UART_NS16550
|
|
|
|
|
2016-01-06 09:17:03 -08:00
|
|
|
config UART_NS16550_LINE_CTRL
|
2022-03-09 12:05:12 +01:00
|
|
|
bool "Serial Line Control for Apps"
|
2020-12-19 17:27:22 +02:00
|
|
|
depends on UART_LINE_CTRL
|
2016-01-06 09:17:03 -08:00
|
|
|
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
|
2022-03-09 12:05:12 +01:00
|
|
|
bool "Driver Commands"
|
2020-12-19 17:27:22 +02:00
|
|
|
depends on UART_DRV_CMD
|
2016-01-06 09:17:03 -08:00
|
|
|
help
|
|
|
|
This enables the API for apps to send commands to driver.
|
|
|
|
|
|
|
|
Says n if not sure.
|
|
|
|
|
2016-11-15 02:23:45 +00:00
|
|
|
config UART_NS16750
|
2022-03-09 12:05:12 +01:00
|
|
|
bool "UART 16750 (64-bytes FIFO and auto flow control)"
|
2016-11-15 02:23:45 +00:00
|
|
|
help
|
2020-03-03 22:25:52 +02:00
|
|
|
This enables support for 64-bytes FIFO and automatic hardware
|
|
|
|
flow control if UART controller is 16750.
|
2016-11-15 02:23:45 +00:00
|
|
|
|
2019-05-29 14:58:02 +08:00
|
|
|
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.
|
2020-12-19 17:27:22 +02:00
|
|
|
|
2021-09-27 11:04:55 -07:00
|
|
|
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
|
|
|
|
|
2020-12-19 17:27:22 +02:00
|
|
|
endif # UART_NS16550
|