1# Copyright (c) 2022 Nordic Semiconductor ASA
2#
3# SPDX-License-Identifier: Apache-2.0
4
5config USBD_CDC_ACM_CLASS
6	bool "USB CDC ACM implementation"
7	depends on SERIAL
8	depends on DT_HAS_ZEPHYR_CDC_ACM_UART_ENABLED
9	select SERIAL_HAS_DRIVER
10	select SERIAL_SUPPORT_INTERRUPT
11	select RING_BUFFER
12	select UART_INTERRUPT_DRIVEN
13	default y
14	help
15	  USB device CDC ACM class implementation.
16
17if USBD_CDC_ACM_CLASS
18
19config USBD_CDC_ACM_WORKQUEUE
20	bool "Use dedicated workqueue in CDC ACM"
21	help
22	  Use the dedicated queue in CDC ACM implementation if the systemwork
23	  queue cannot be used due to performance issues or other conflicts.
24
25config USBD_CDC_ACM_STACK_SIZE
26	int "USB CDC ACM workqueue stack size"
27	depends on USBD_CDC_ACM_WORKQUEUE
28	default 1024
29	help
30	  USB CDC ACM workqueue stack size.
31
32config USBD_CDC_ACM_BUF_POOL
33	bool "Use dedicated buffer pool"
34	default y if !USBD_MAX_SPEED_FULL
35	help
36	  Use a dedicated buffer pool whose size is based on the number of CDC
37	  ACM instances and the size of the bulk endpoints. When disabled, the
38	  implementation uses the UDC driver's pool.
39
40module = USBD_CDC_ACM
41module-str = usbd cdc_acm
42default-count = 1
43source "subsys/logging/Kconfig.template.log_config"
44
45endif
46