menuconfig UART_K20
	bool "K20 serial driver"
	default n
	select SERIAL_HAS_DRIVER
	help
	This option enables the K20 serial driver.
	This specific driver can be used for the serial hardware
	available at the Freescale FRDM K64F platform.

# ---------- Port 0 ----------

menuconfig UART_K20_PORT_0
	bool "Enable K20 UART Port 0"
	default n
	depends on UART_K20
	help
	  This tells the driver to configure the UART port at boot, depending on
	  the additional configure options below.

config UART_K20_PORT_0_NAME
	string "Port 0 Device Name"
	default "UART_0"
	depends on UART_K20_PORT_0
	help
	  This is the device name for UART, and is included in the device
	  struct.

config UART_K20_PORT_0_BASE_ADDR
	hex "Port 0 Base Address"
	default 0x00000000
	depends on UART_K20_PORT_0
	help
	  The base address of UART port.

	  Leave this at 0x00000000 to skip initialization at boot.

config UART_K20_PORT_0_IRQ
	int "Port 0 Interrupt Vector"
	default 0
	depends on UART_K20_PORT_0
	help
	  The interrupt vector for UART port. This is used for interrupt driven
	  transfers.

config UART_K20_PORT_0_IRQ_PRI
	int "Port 0 Interrupt Priority"
	default 0
	depends on UART_K20_PORT_0
	help
	  The interrupt priority for UART port.

config UART_K20_PORT_0_BAUD_RATE
	int "Port 0 Baud Rate"
	default 0
	depends on UART_K20_PORT_0
	help
	  The baud rate for UART port to be set to at boot.

	  Leave at 0 to skip initialization.

config UART_K20_PORT_0_CLK_FREQ
	int "Port 0 Clock Frequency"
	default 0
	depends on UART_K20_PORT_0
	help
	  The clock frequency for UART port.

# ---------- Port 1 ----------

menuconfig UART_K20_PORT_1
	bool "Enable K20 UART Port 1"
	default n
	depends on UART_K20
	help
	  This tells the driver to configure the UART port at boot, depending on
	  the additional configure options below.

config UART_K20_PORT_1_NAME
	string "Port 1 Device Name"
	default "UART_1"
	depends on UART_K20_PORT_1
	help
	  This is the device name for UART, and is included in the device
	  struct.

config UART_K20_PORT_1_BASE_ADDR
	hex "Port 1 Base Address"
	default 0x00000000
	depends on UART_K20_PORT_1
	help
	  The base address of UART port.

	  Leave this at 0x00000000 to skip initialization at boot.

config UART_K20_PORT_1_IRQ
	int "Port 1 Interrupt Vector"
	default 0
	depends on UART_K20_PORT_1
	help
	  The interrupt vector for UART port. This is used for interrupt driven
	  transfers.

config UART_K20_PORT_1_IRQ_PRI
	int "Port 1 Interrupt Priority"
	default 0
	depends on UART_K20_PORT_1
	help
	  The interrupt priority for UART port.

config UART_K20_PORT_1_BAUD_RATE
	int "Port 1 Baud Rate"
	default 0
	depends on UART_K20_PORT_1
	help
	  The baud rate for UART port to be set to at boot.

	  Leave at 0 to skip initialization.

config UART_K20_PORT_1_CLK_FREQ
	int "Port 1 Clock Frequency"
	default 0
	depends on UART_K20_PORT_1
	help
	  The clock frequency for UART port.

# ---------- Port 2 ----------

menuconfig UART_K20_PORT_2
	bool "Enable K20 UART Port 2"
	default n
	depends on UART_K20
	help
	  This tells the driver to configure the UART port at boot, depending on
	  the additional configure options below.

config UART_K20_PORT_2_NAME
	string "Port 2 Device Name"
	default "UART_2"
	depends on UART_K20_PORT_2
	help
	  This is the device name for UART, and is included in the device
	  struct.

config UART_K20_PORT_2_BASE_ADDR
	hex "Port 2 Base Address"
	default 0x00000000
	depends on UART_K20_PORT_2
	help
	  The base address of UART port.

	  Leave this at 0x00000000 to skip initialization at boot.

config UART_K20_PORT_2_IRQ
	int "Port 2 Interrupt Vector"
	default 0
	depends on UART_K20_PORT_2
	help
	  The interrupt vector for UART port. This is used for interrupt driven
	  transfers.

config UART_K20_PORT_2_IRQ_PRI
	int "Port 2 Interrupt Priority"
	default 0
	depends on UART_K20_PORT_2
	help
	  The interrupt priority for UART port.

config UART_K20_PORT_2_BAUD_RATE
	int "Port 2 Baud Rate"
	default 0
	depends on UART_K20_PORT_2
	help
	  The baud rate for UART port to be set to at boot.

	  Leave at 0 to skip initialization.

config UART_K20_PORT_2_CLK_FREQ
	int "Port 2 Clock Frequency"
	default 0
	depends on UART_K20_PORT_2
	help
	  The clock frequency for UART port.

# ---------- Port 3 ----------

menuconfig UART_K20_PORT_3
	bool "Enable K20 UART Port 3"
	default n
	depends on UART_K20
	help
	  This tells the driver to configure the UART port at boot, depending on
	  the additional configure options below.

config UART_K20_PORT_3_NAME
	string "Port 3 Device Name"
	default "UART_3"
	depends on UART_K20_PORT_3
	help
	  This is the device name for UART, and is included in the device
	  struct.

config UART_K20_PORT_3_BASE_ADDR
	hex "Port 3 Base Address"
	default 0x00000000
	depends on UART_K20_PORT_3
	help
	  The base address of UART port.

	  Leave this at 0x00000000 to skip initialization at boot.

config UART_K20_PORT_3_IRQ
	int "Port 3 Interrupt Vector"
	default 0
	depends on UART_K20_PORT_3
	help
	  The interrupt vector for UART port. This is used for interrupt driven
	  transfers.

config UART_K20_PORT_3_IRQ_PRI
	int "Port 3 Interrupt Priority"
	default 0
	depends on UART_K20_PORT_3
	help
	  The interrupt priority for UART port.

config UART_K20_PORT_3_BAUD_RATE
	int "Port 3 Baud Rate"
	default 0
	depends on UART_K20_PORT_3
	help
	  The baud rate for UART port to be set to at boot.

	  Leave at 0 to skip initialization.

config UART_K20_PORT_3_CLK_FREQ
	int "Port 3 Clock Frequency"
	default 0
	depends on UART_K20_PORT_3
	help
	  The clock frequency for UART port.

# ---------- Port 4 ----------

menuconfig UART_K20_PORT_4
	bool "Enable K20 UART Port 4"
	default n
	depends on UART_K20
	help
	  This tells the driver to configure the UART port at boot, depending on
	  the additional configure options below.

config UART_K20_PORT_4_NAME
	string "Port 4 Device Name"
	default "UART_4"
	depends on UART_K20_PORT_4
	help
	  This is the device name for UART, and is included in the device
	  struct.

config UART_K20_PORT_4_BASE_ADDR
	hex "Port 4 Base Address"
	default 0x00000000
	depends on UART_K20_PORT_4
	help
	  The base address of UART port.

	  Leave this at 0x00000000 to skip initialization at boot.

config UART_K20_PORT_4_IRQ
	int "Port 4 Interrupt Vector"
	default 0
	depends on UART_K20_PORT_4
	help
	  The interrupt vector for UART port. This is used for interrupt driven
	  transfers.

config UART_K20_PORT_4_IRQ_PRI
	int "Port 4 Interrupt Priority"
	default 0
	depends on UART_K20_PORT_4
	help
	  The interrupt priority for UART port.

config UART_K20_PORT_4_BAUD_RATE
	int "Port 4 Baud Rate"
	default 0
	depends on UART_K20_PORT_4
	help
	  The baud rate for UART port to be set to at boot.

	  Leave at 0 to skip initialization.

config UART_K20_PORT_4_CLK_FREQ
	int "Port 4 Clock Frequency"
	default 0
	depends on UART_K20_PORT_4
	help
	  The clock frequency for UART port.
