728d91d598
() Renames ns16550.c to uart_ns16550.c. This is to follow the driver naming convention. () Renames functions ns16550_uart_*() to uart_ns16550_*(), following driver naming convention. () UART ports initialization is moved into the driver itself. All the init code in platform config files is removed. () Adds (many) Kconfig options. These don't have to be defined in each platform's board.h anymore. () Renames CONFIG_NS16550_* to CONFIG_UART_NS16550_* () Disable NS16550 for ARC as no port is defined anyway. Change-Id: I76bbe25b9bc75eb62df81e533f84f4f63a5257b7 Signed-off-by: Daniel Leung <daniel.leung@intel.com>
297 lines
6.9 KiB
Plaintext
297 lines
6.9 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 PLATFORM_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
|
|
|
|
# ---------- 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_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_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.
|