1# Copyright (c) 2021-2022 Nordic Semiconductor ASA
2# SPDX-License-Identifier: Apache-2.0
3
4
5menuconfig UDC_DRIVER
6	bool "USB device controller drivers [EXPERIMENTAL]"
7	select EXPERIMENTAL
8	select NET_BUF
9	help
10	  USB device controller driver.
11
12if UDC_DRIVER
13
14config UDC_BUF_COUNT
15	int "Number of buffers in the pool"
16	range 16 256
17	default 16
18	help
19	  Number of UDC request buffers in the pool.
20
21config UDC_BUF_POOL_SIZE
22	int "Memory available for requests"
23	range 64 32768
24	default 1024
25	help
26	  Total amount of memory available for UDC requests.
27
28config UDC_BUF_FORCE_NOCACHE
29	bool "Place the buffer pools in the nocache memory region"
30	depends on NOCACHE_MEMORY && DCACHE
31	help
32	  Place the buffer pools in the nocache memory region if the driver
33	  cannot handle buffers in cached memory.
34
35config UDC_WORKQUEUE
36	bool "Use a dedicate work queue for UDC drivers"
37	help
38	  This option provides a dedicated work queue for UDC drivers.
39
40config UDC_WORKQUEUE_STACK_SIZE
41	int "UDC workqueue stack size"
42	depends on UDC_WORKQUEUE
43	default 512
44
45config UDC_WORKQUEUE_PRIORITY
46	int "UDC workqueue priority"
47	depends on UDC_WORKQUEUE
48	default SYSTEM_WORKQUEUE_PRIORITY
49	help
50	  By default, UDC work queue priority is the same as
51	  System workqueue priority.
52
53module = UDC_DRIVER
54module-str = usb drv
55source "subsys/logging/Kconfig.template.log_config"
56
57source "drivers/usb/udc/Kconfig.dwc2"
58source "drivers/usb/udc/Kconfig.nrf"
59source "drivers/usb/udc/Kconfig.kinetis"
60source "drivers/usb/udc/Kconfig.skeleton"
61source "drivers/usb/udc/Kconfig.virtual"
62source "drivers/usb/udc/Kconfig.smartbond"
63source "drivers/usb/udc/Kconfig.stm32"
64source "drivers/usb/udc/Kconfig.it82xx2"
65source "drivers/usb/udc/Kconfig.mcux"
66source "drivers/usb/udc/Kconfig.numaker"
67source "drivers/usb/udc/Kconfig.rpi_pico"
68source "drivers/usb/udc/Kconfig.ambiq"
69source "drivers/usb/udc/Kconfig.renesas_ra"
70
71endif # UDC_DRIVER
72