e039053546
A parallel PCI implementation ("pcie") is added with features for PCIe. In particular, message-signaled interrupts (MSI) are supported, which are essential to the use of any non-trivial PCIe device. The NS16550 UART driver is modified to use pcie. pcie is a complete replacement for the old PCI support ("pci"). It is smaller, by an order of magnitude, and cleaner. Both pci and pcie can (and do) coexist in the same builds, but the intent is to rework any existing drivers that depend on pci and ultimately remove pci entirely. This patch is large, but things in mirror are smaller than they appear. Most of the modified files are configuration-related, and are changed only slightly to accommodate the modified UART driver. Deficiencies: 64-bit support is minimal. The code works fine with 64-bit capable devices, but will not cooperate with MMIO regions (or MSI targets) that have high bits set. This is not needed on any current boards, and is unlikely to be needed in the future. Only superficial changes would be required if we change our minds. The method specifying PCI endpoints in devicetree is somewhat kludgey. The "right" way would be to hang PCI devices off a topological tree; while this would be more aesthetically pleasing, I don't think it's worth the effort, given our non-standard use of devicetree. Signed-off-by: Charles E. Youse <charles.youse@intel.com>
99 lines
2.4 KiB
Plaintext
99 lines
2.4 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.
|
|
|
|
config UART_NS16550_LINE_CTRL
|
|
bool "Enable Serial Line Control for Apps"
|
|
depends on UART_LINE_CTRL && UART_NS16550
|
|
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 "Enable Driver Commands"
|
|
depends on UART_DRV_CMD && UART_NS16550
|
|
help
|
|
This enables the API for apps to send commands to driver.
|
|
|
|
Says n if not sure.
|
|
|
|
config UART_NS16750
|
|
bool "Enable 64-bytes FIFO for UART 16750"
|
|
depends on UART_NS16550
|
|
help
|
|
This enables support for 64-bytes FIFO if UART controller is 16750.
|
|
|
|
# ---------- Port 0 ----------
|
|
|
|
menuconfig UART_NS16550_PORT_0
|
|
bool "Enable NS16550 Port 0"
|
|
depends on UART_NS16550
|
|
help
|
|
This tells the driver to configure the UART port at boot, depending on
|
|
the additional configure options below.
|
|
|
|
config UART_NS16550_PORT_0_OPTIONS
|
|
int "Port 0 Options"
|
|
default 0
|
|
depends on UART_NS16550_PORT_0
|
|
help
|
|
Options used for port initialization.
|
|
|
|
# ---------- Port 1 ----------
|
|
|
|
menuconfig UART_NS16550_PORT_1
|
|
bool "Enable NS16550 Port 1"
|
|
depends on UART_NS16550
|
|
help
|
|
This tells the driver to configure the UART port at boot, depending on
|
|
the additional configure options below.
|
|
|
|
config UART_NS16550_PORT_1_OPTIONS
|
|
int "Port 1 Options"
|
|
default 0
|
|
depends on UART_NS16550_PORT_1
|
|
help
|
|
Options used for port initialization.
|
|
|
|
# ---------- Port 2 ----------
|
|
|
|
menuconfig UART_NS16550_PORT_2
|
|
bool "Enable NS16550 Port 2"
|
|
depends on UART_NS16550
|
|
help
|
|
This tells the driver to configure the UART port at boot, depending on
|
|
the additional configure options below.
|
|
|
|
|
|
config UART_NS16550_PORT_2_OPTIONS
|
|
int "Port 2 Options"
|
|
default 0
|
|
depends on UART_NS16550_PORT_2
|
|
help
|
|
Options used for port initialization.
|
|
|
|
# ---------- Port 3 ----------
|
|
|
|
menuconfig UART_NS16550_PORT_3
|
|
bool "Enable NS16550 Port 3"
|
|
depends on UART_NS16550
|
|
help
|
|
This tells the driver to configure the UART port at boot, depending on
|
|
the additional configure options below.
|
|
|
|
config UART_NS16550_PORT_3_OPTIONS
|
|
int "Port 3 Options"
|
|
default 0
|
|
depends on UART_NS16550_PORT_3
|
|
help
|
|
Options used for port initialization.
|