340 lines
8.0 KiB
Plaintext
340 lines
8.0 KiB
Plaintext
menuconfig UART_NS16550
|
|
bool "NS16550 serial driver"
|
|
default n
|
|
select SERIAL_HAS_DRIVER
|
|
help
|
|
This option enables the NS16550 serial driver.
|
|
This driver can be used for the serial hardware
|
|
available on x86 platforms.
|
|
|
|
config UART_NS16550_PCI
|
|
bool "Enable PCI Support"
|
|
default n
|
|
depends on PCI && UART_NS16550
|
|
help
|
|
This enables NS16550 to probe for PCI-based serial devices.
|
|
|
|
This option enables the driver to auto-detect the device
|
|
configuration required to access those ports.
|
|
|
|
choice
|
|
prompt "Controller Registers Access Method"
|
|
depends on UART_NS16550
|
|
default UART_NS16550_ACCESS_IOPORT if SOC_IA32
|
|
default UART_NS16550_ACCESS_MMIO
|
|
|
|
config UART_NS16550_ACCESS_MMIO
|
|
bool "Memory mapped I/O"
|
|
help
|
|
The UART controller is mapped to memory space, and can be directly
|
|
access through memory manipulation.
|
|
|
|
config UART_NS16550_ACCESS_IOPORT
|
|
bool "I/O Port"
|
|
depends on !UART_NS16550_PCI
|
|
help
|
|
The UART controller is accessed through I/O port.
|
|
|
|
endchoice
|
|
|
|
config UART_NS16550_DLF
|
|
bool "Enable Divisor Latch Fraction (DLF) support"
|
|
default n
|
|
depends on UART_NS16550 && UART_NS16550_ACCESS_MMIO
|
|
help
|
|
This enables support for divisor latch fraction (DLF).
|
|
It is used to limit frequency error.
|
|
|
|
Says n if you are not sure if hardware supports this.
|
|
|
|
config UART_NS16550_LINE_CTRL
|
|
bool "Enable Serial Line Control for Apps"
|
|
default n
|
|
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"
|
|
default n
|
|
depends on UART_DRV_CMD && UART_NS16550
|
|
help
|
|
This enables the API for apps to send commands to driver.
|
|
|
|
Says n if not sure.
|
|
|
|
# ---------- Port 0 ----------
|
|
|
|
menuconfig UART_NS16550_PORT_0
|
|
bool "Enable NS16550 Port 0"
|
|
default n
|
|
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_NAME
|
|
string "Port 0 Device Name"
|
|
default "UART_0"
|
|
depends on UART_NS16550_PORT_0
|
|
help
|
|
This is the device name for UART, and is included in the device
|
|
struct.
|
|
|
|
config UART_NS16550_PORT_0_BASE_ADDR
|
|
hex "Port 0 Base Address or I/O Port"
|
|
default 0x00000000
|
|
depends on UART_NS16550_PORT_0
|
|
help
|
|
The base address of UART port.
|
|
|
|
Leave this at 0x00000000 to skip initialization at boot.
|
|
|
|
For PCI device, this value is from PCI configuration space, so just
|
|
leave it at 0x00000000.
|
|
|
|
config UART_NS16550_PORT_0_IRQ
|
|
int "Port 0 Interrupt Vector"
|
|
default 0
|
|
depends on UART_NS16550_PORT_0
|
|
help
|
|
The interrupt vector for UART port. This is used for interrupt driven
|
|
transfers.
|
|
|
|
For PCI device, this value is from PCI configuration space, so just
|
|
leave it at 0x00.
|
|
|
|
config UART_NS16550_PORT_0_IRQ_PRI
|
|
int "Port 0 Interrupt Priority"
|
|
default 0
|
|
depends on UART_NS16550_PORT_0
|
|
help
|
|
The interrupt priority for UART port.
|
|
|
|
config UART_NS16550_PORT_0_BAUD_RATE
|
|
int "Port 0 Baud Rate"
|
|
default 0
|
|
depends on UART_NS16550_PORT_0
|
|
help
|
|
The baud rate for UART port to be set to at boot.
|
|
|
|
Leave at 0 to skip initialization.
|
|
|
|
config UART_NS16550_PORT_0_CLK_FREQ
|
|
int "Port 0 Clock Frequency"
|
|
default 0
|
|
depends on UART_NS16550_PORT_0
|
|
help
|
|
The clock frequency for UART port.
|
|
|
|
config UART_NS16550_PORT_0_OPTIONS
|
|
int "Port 0 Options"
|
|
default 0
|
|
depends on UART_NS16550_PORT_0
|
|
help
|
|
Options used for port initialization.
|
|
|
|
config UART_NS16550_PORT_0_DLF
|
|
hex "Port 0 DLF value"
|
|
default 0x0
|
|
depends on UART_NS16550_PORT_0 && UART_NS16550_DLF
|
|
help
|
|
Value for DLF register.
|
|
|
|
config UART_NS16550_PORT_0_PCI
|
|
bool "Port 0 is PCI-based"
|
|
default n
|
|
depends on UART_NS16550_PCI && UART_NS16550_PORT_0
|
|
help
|
|
Obtain port information from PCI.
|
|
|
|
config UART_NS16550_PORT_0_PCI_CLASS
|
|
hex "Port 0 PCI Class"
|
|
default 0x07
|
|
depends on UART_NS16550_PORT_0_PCI
|
|
help
|
|
Needed for PCI based UART port.
|
|
|
|
Value 0x07 is for simple communication controllers.
|
|
|
|
config UART_NS16550_PORT_0_PCI_BUS
|
|
int "Port 0 PCI Bus Number"
|
|
default 0
|
|
depends on UART_NS16550_PORT_0_PCI
|
|
help
|
|
Needed for PCI based UART port.
|
|
|
|
config UART_NS16550_PORT_0_PCI_DEV
|
|
int "Port 0 PCI Device Number"
|
|
default 0
|
|
depends on UART_NS16550_PORT_0_PCI
|
|
help
|
|
Needed for PCI based UART port.
|
|
|
|
config UART_NS16550_PORT_0_PCI_VENDOR_ID
|
|
hex "Port 0 PCI Vendor ID"
|
|
default 0x0000
|
|
depends on UART_NS16550_PORT_0_PCI
|
|
help
|
|
Needed for PCI based UART port.
|
|
|
|
config UART_NS16550_PORT_0_PCI_DEVICE_ID
|
|
hex "Port 0 PCI Device ID"
|
|
default 0x0000
|
|
depends on UART_NS16550_PORT_0_PCI
|
|
help
|
|
Needed for PCI based UART port.
|
|
|
|
config UART_NS16550_PORT_0_PCI_FUNC
|
|
int "Port 0 PCI Function"
|
|
default 0
|
|
depends on UART_NS16550_PORT_0_PCI
|
|
help
|
|
Needed for PCI based UART port.
|
|
|
|
config UART_NS16550_PORT_0_PCI_BAR
|
|
int "Port 0 PCI BAR"
|
|
default 0
|
|
depends on UART_NS16550_PORT_0_PCI
|
|
help
|
|
Needed for PCI based UART port.
|
|
|
|
# ---------- Port 1 ----------
|
|
|
|
menuconfig UART_NS16550_PORT_1
|
|
bool "Enable NS16550 Port 1"
|
|
default n
|
|
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_NAME
|
|
string "Port 1 Device Name"
|
|
default "UART_1"
|
|
depends on UART_NS16550_PORT_1
|
|
help
|
|
This is the device name for UART, and is included in the device
|
|
struct.
|
|
|
|
config UART_NS16550_PORT_1_BASE_ADDR
|
|
hex "Port 1 Base Address or I/O Port"
|
|
default 0x00000000
|
|
depends on UART_NS16550_PORT_1
|
|
help
|
|
The base address of UART port.
|
|
|
|
Leave this at 0x00000000 to skip initialization at boot.
|
|
|
|
For PCI device, this value is from PCI configuration space, so just
|
|
leave it at 0x00000000.
|
|
|
|
config UART_NS16550_PORT_1_IRQ
|
|
int "Port 1 Interrupt Vector"
|
|
default 0
|
|
depends on UART_NS16550_PORT_1
|
|
help
|
|
The interrupt vector for UART port. This is used for interrupt driven
|
|
transfers.
|
|
|
|
For PCI device, this value is from PCI configuration space, so just
|
|
leave it at 0x00.
|
|
|
|
config UART_NS16550_PORT_1_IRQ_PRI
|
|
int "Port 1 Interrupt Priority"
|
|
default 0
|
|
depends on UART_NS16550_PORT_1
|
|
help
|
|
The interrupt priority for UART port.
|
|
|
|
config UART_NS16550_PORT_1_BAUD_RATE
|
|
int "Port 1 Baud Rate"
|
|
default 0
|
|
depends on UART_NS16550_PORT_1
|
|
help
|
|
The baud rate for UART port to be set to at boot.
|
|
|
|
Leave at 0 to skip initialization.
|
|
|
|
config UART_NS16550_PORT_1_CLK_FREQ
|
|
int "Port 1 Clock Frequency"
|
|
default 0
|
|
depends on UART_NS16550_PORT_1
|
|
help
|
|
The clock frequency for UART port.
|
|
|
|
config UART_NS16550_PORT_1_OPTIONS
|
|
int "Port 1 Options"
|
|
default 0
|
|
depends on UART_NS16550_PORT_1
|
|
help
|
|
Options used for port initialization.
|
|
|
|
config UART_NS16550_PORT_1_DLF
|
|
hex "Port 1 DLF value"
|
|
default 0x0
|
|
depends on UART_NS16550_PORT_1 && UART_NS16550_DLF
|
|
help
|
|
Value for DLF register.
|
|
|
|
config UART_NS16550_PORT_1_PCI
|
|
bool "Port 1 is PCI-based"
|
|
default n
|
|
depends on UART_NS16550_PCI && UART_NS16550_PORT_1
|
|
help
|
|
Obtain port information from PCI.
|
|
|
|
config UART_NS16550_PORT_1_PCI_CLASS
|
|
hex "Port 1 PCI Class"
|
|
default 0x07
|
|
depends on UART_NS16550_PORT_1_PCI
|
|
help
|
|
Needed for PCI based UART port.
|
|
|
|
Value 0x07 is for simple communication controllers.
|
|
|
|
config UART_NS16550_PORT_1_PCI_BUS
|
|
int "Port 1 PCI Bus Number"
|
|
default 0
|
|
depends on UART_NS16550_PORT_1_PCI
|
|
help
|
|
Needed for PCI based UART port.
|
|
|
|
config UART_NS16550_PORT_1_PCI_DEV
|
|
int "Port 1 PCI Device Number"
|
|
default 0
|
|
depends on UART_NS16550_PORT_1_PCI
|
|
help
|
|
Needed for PCI based UART port.
|
|
|
|
config UART_NS16550_PORT_1_PCI_VENDOR_ID
|
|
hex "Port 1 PCI Vendor ID"
|
|
default 0x0000
|
|
depends on UART_NS16550_PORT_1_PCI
|
|
help
|
|
Needed for PCI based UART port.
|
|
|
|
config UART_NS16550_PORT_1_PCI_DEVICE_ID
|
|
hex "Port 1 PCI Device ID"
|
|
default 0x0000
|
|
depends on UART_NS16550_PORT_1_PCI
|
|
help
|
|
Needed for PCI based UART port.
|
|
|
|
config UART_NS16550_PORT_1_PCI_FUNC
|
|
int "Port 1 PCI Function"
|
|
default 0
|
|
depends on UART_NS16550_PORT_1_PCI
|
|
help
|
|
Needed for PCI based UART port.
|
|
|
|
config UART_NS16550_PORT_1_PCI_BAR
|
|
int "Port 1 PCI BAR"
|
|
default 0
|
|
depends on UART_NS16550_PORT_1_PCI
|
|
help
|
|
Needed for PCI based UART port.
|