From 97ffcc8a7a63c64add02c09a3186faa7a8993b00 Mon Sep 17 00:00:00 2001 From: Johann Fischer Date: Wed, 28 Jul 2021 00:10:58 +0200 Subject: [PATCH] tests: uart_basic_api: add support for CDC ACM UART Add support for CDC ACM UART. Signed-off-by: Johann Fischer --- .../uart/uart_basic_api/overlay-usb.conf | 5 +++++ tests/drivers/uart/uart_basic_api/src/main.c | 15 +++++++++++++++ .../drivers/uart/uart_basic_api/testcase.yaml | 7 +++++++ tests/drivers/uart/uart_basic_api/usb.overlay | 18 ++++++++++++++++++ 4 files changed, 45 insertions(+) create mode 100644 tests/drivers/uart/uart_basic_api/overlay-usb.conf create mode 100644 tests/drivers/uart/uart_basic_api/usb.overlay diff --git a/tests/drivers/uart/uart_basic_api/overlay-usb.conf b/tests/drivers/uart/uart_basic_api/overlay-usb.conf new file mode 100644 index 00000000000..1f237687b14 --- /dev/null +++ b/tests/drivers/uart/uart_basic_api/overlay-usb.conf @@ -0,0 +1,5 @@ +CONFIG_USB_DEVICE_STACK=y +CONFIG_USB_DEVICE_PRODUCT="Zephyr CDC ACM UART" +CONFIG_USB_UART_CONSOLE=y +CONFIG_UART_LINE_CTRL=y +CONFIG_TEST_LOGGING_DEFAULTS=n diff --git a/tests/drivers/uart/uart_basic_api/src/main.c b/tests/drivers/uart/uart_basic_api/src/main.c index 2c8d30c9c3d..753365f9bc0 100644 --- a/tests/drivers/uart/uart_basic_api/src/main.c +++ b/tests/drivers/uart/uart_basic_api/src/main.c @@ -11,6 +11,7 @@ * @} */ +#include #include "test_uart.h" #ifdef CONFIG_SHELL @@ -57,6 +58,20 @@ void test_uart_pending(void) void test_main(void) { +#if defined(CONFIG_USB_UART_CONSOLE) + const struct device *dev; + uint32_t dtr = 0; + + dev = DEVICE_DT_GET(DT_CHOSEN(zephyr_console)); + if (!device_is_ready(dev) || usb_enable(NULL)) { + return; + } + + while (!dtr) { + uart_line_ctrl_get(dev, UART_LINE_CTRL_DTR, &dtr); + k_sleep(K_MSEC(100)); + } +#endif #ifndef CONFIG_SHELL ztest_test_suite(uart_basic_test, ztest_unit_test(test_uart_configure), diff --git a/tests/drivers/uart/uart_basic_api/testcase.yaml b/tests/drivers/uart/uart_basic_api/testcase.yaml index 444749d1b74..e9b579ce181 100644 --- a/tests/drivers/uart/uart_basic_api/testcase.yaml +++ b/tests/drivers/uart/uart_basic_api/testcase.yaml @@ -18,3 +18,10 @@ tests: tags: drivers filter: CONFIG_UART_CONSOLE harness: keyboard + drivers.uart.cdc_acm: + extra_args: OVERLAY_CONFIG="overlay-usb.conf" + DTC_OVERLAY_FILE="usb.overlay" + tags: drivers usb + filter: CONFIG_UART_CONSOLE + depends_on: usb_device + harness: keyboard diff --git a/tests/drivers/uart/uart_basic_api/usb.overlay b/tests/drivers/uart/uart_basic_api/usb.overlay new file mode 100644 index 00000000000..a3c18afd709 --- /dev/null +++ b/tests/drivers/uart/uart_basic_api/usb.overlay @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2021 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + chosen { + zephyr,console = &cdc_acm_uart0; + }; +}; + +&zephyr_udc0 { + cdc_acm_uart0: cdc_acm_uart0 { + compatible = "zephyr,cdc-acm-uart"; + label = "CDC_ACM_0"; + }; +};