blob: 9e43609ab381fdb939cc18da5d3769b40d14deba [file] [log] [blame]
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.