Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
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.