zephyr/drivers/serial/Kconfig.cmsdk_apb
Vincenzo Frascino bb1818a535 serial: Add driver for CMSDK (Cortex-M System Design Kit) APB UART
Add driver for CMSDK APB UART ports. The driver implements RX and TX
functionalities. Data transmission is implemented using polling and
interrupts. The driver default configuration for the port is to use
8bit data transmission, 1 stop bit, no parity control.

The driver exposes a public uart driver API and allows to register up
to five UART devices: from 'UART_0' to 'UART_4'. The driver performs
the required pinmux, the clock control configuration is left to the
platform.

The driver has been verified to work with the Hello World sample
application on a Beetle Board.

Jira: ZEP-1245
Change-Id: I5baf78b7659aae2a574d8e66205e6fd5eb579133
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@linaro.org>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2016-11-11 20:39:54 +00:00

190 lines
4.6 KiB
Plaintext

# Kconfig.beetle - ARM CMSDK APB SoC UART configuration options
#
#
# Copyright (c) 2016 Linaro Limited
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
menuconfig UART_CMSDK_APB
bool "ARM CMSDK APB UART driver"
default n
select SERIAL_HAS_DRIVER
depends on SOC_FAMILY_ARM
help
This option enables the UART driver for ARM CMSDK APB UART.
if UART_CMSDK_APB
# ---------- Port 0 ----------
config UART_CMSDK_APB_PORT0
bool "Enable driver for UART 0"
default n
help
Build the driver to utilize UART controller Port 0.
config UART_CMSDK_APB_PORT0_NAME
string "Device Name for UART 0"
default "UART_0"
depends on UART_CMSDK_APB_PORT0
help
This is the device name for UART, and is included in the device
struct.
config UART_CMSDK_APB_PORT0_IRQ_PRI
int "UART Interrupt Priority (Interrupt support)"
default 2
depends on UART_CMSDK_APB_PORT0
depends on UART_INTERRUPT_DRIVEN
help
The interrupt priority for UART port.
config UART_CMSDK_APB_PORT0_BAUD_RATE
int "Baud Rate"
range 9600 115200
default 115200
depends on UART_CMSDK_APB_PORT0
help
The baud rate for UART port to be set to at boot.
# ---------- Port 1 ----------
config UART_CMSDK_APB_PORT1
bool "Enable driver for UART 1"
default n
help
Build the driver to utilize UART controller Port 1.
config UART_CMSDK_APB_PORT1_NAME
string "Device Name for UART 1"
default "UART_1"
depends on UART_CMSDK_APB_PORT1
help
This is the device name for UART, and is included in the device
struct.
config UART_CMSDK_APB_PORT1_IRQ_PRI
int "UART Interrupt Priority (Interrupt support)"
default 2
depends on UART_CMSDK_APB_PORT1
depends on UART_INTERRUPT_DRIVEN
help
The interrupt priority for UART port.
config UART_CMSDK_APB_PORT1_BAUD_RATE
int "Baud Rate"
range 9600 115200
default 115200
depends on UART_CMSDK_APB_PORT1
help
The baud rate for UART port to be set to at boot.
# ---------- Port 2 ----------
config UART_CMSDK_APB_PORT2
bool "Enable driver for UART 2"
default n
help
Build the driver to utilize UART controller Port 2.
config UART_CMSDK_APB_PORT2_NAME
string "Device Name for UART 2"
default "UART_2"
depends on UART_CMSDK_APB_PORT2
help
This is the device name for UART, and is included in the device
struct.
config UART_CMSDK_APB_PORT2_IRQ_PRI
int "UART Interrupt Priority (Interrupt support)"
default 2
depends on UART_CMSDK_APB_PORT2
depends on UART_INTERRUPT_DRIVEN
help
The interrupt priority for UART port.
config UART_CMSDK_APB_PORT2_BAUD_RATE
int "Baud Rate"
range 9600 115200
default 115200
depends on UART_CMSDK_APB_PORT2
help
The baud rate for UART port to be set to at boot.
# ---------- Port 3 ----------
config UART_CMSDK_APB_PORT3
bool "Enable driver for UART 3"
default n
help
Build the driver to utilize UART controller Port 3.
config UART_CMSDK_APB_PORT3_NAME
string "Device Name for UART 3"
default "UART_3"
depends on UART_CMSDK_APB_PORT3
help
This is the device name for UART, and is included in the device
struct.
config UART_CMSDK_APB_PORT3_IRQ_PRI
int "UART Interrupt Priority (Interrupt support)"
default 2
depends on UART_CMSDK_APB_PORT3
depends on UART_INTERRUPT_DRIVEN
help
The interrupt priority for UART port.
config UART_CMSDK_APB_PORT3_BAUD_RATE
int "Baud Rate"
range 9600 115200
default 115200
depends on UART_CMSDK_APB_PORT3
help
The baud rate for UART port to be set to at boot.
# ---------- Port 4 ----------
config UART_CMSDK_APB_PORT4
bool "Enable driver for UART 4"
default n
help
Build the driver to utilize UART controller Port 4.
config UART_CMSDK_APB_PORT4_NAME
string "Device Name for UART 4"
default "UART_4"
depends on UART_CMSDK_APB_PORT4
help
This is the device name for UART, and is included in the device
struct.
config UART_CMSDK_APB_PORT4_IRQ_PRI
int "UART Interrupt Priority (Interrupt support)"
default 2
depends on UART_CMSDK_APB_PORT4
depends on UART_INTERRUPT_DRIVEN
help
The interrupt priority for UART port.
config UART_CMSDK_APB_PORT4_BAUD_RATE
int "Baud Rate"
range 9600 115200
default 115200
depends on UART_CMSDK_APB_PORT4
help
The baud rate for UART port to be set to at boot.
endif # UART_CMSDK_APB