1# Copyright (c) 2023 Nordic Semiconductor ASA
2# SPDX-License-Identifier: Apache-2.0
3
4config UDC_DWC2
5	bool "DWC2 USB device controller driver"
6	default y
7	depends on DT_HAS_SNPS_DWC2_ENABLED
8	select NRFS if NRFS_HAS_VBUS_DETECTOR_SERVICE
9	select NRFS_VBUS_DETECTOR_SERVICE_ENABLED if NRFS_HAS_VBUS_DETECTOR_SERVICE
10	select EVENTS
11	help
12	  DWC2 USB device controller driver.
13
14config UDC_DWC2_DMA
15	bool "DWC2 USB DMA support"
16	default y
17	depends on UDC_DWC2
18	help
19	  Enable Buffer DMA if DWC2 USB controller supports Internal DMA.
20
21config UDC_DWC2_HIBERNATION
22	bool "DWC2 USB Hibernation support"
23	default y
24	depends on UDC_DWC2
25	help
26	  Enable Hibernation if DWC2 USB controller supports hibernation.
27
28config UDC_DWC2_STACK_SIZE
29	int "UDC DWC2 driver internal thread stack size"
30	depends on UDC_DWC2
31	default 512
32	help
33	  DWC2 driver internal thread stack size.
34
35config UDC_DWC2_THREAD_PRIORITY
36	int "UDC DWC2 driver thread priority"
37	depends on UDC_DWC2
38	default 8
39	help
40	  DWC2 driver thread priority.
41
42config UDC_DWC2_USBHS_VBUS_READY_TIMEOUT
43	int "UDC DWC2 USBHS VBUS ready event timeout in ms"
44	depends on UDC_DWC2
45	depends on NRFS_HAS_VBUS_DETECTOR_SERVICE
46	default 0
47	help
48	  UDC DWC2 USBHS VBUS ready event timeout. If the VBUS is not ready
49	  and the Nordic USBHS controller is used, the udc_enable() is
50	  blocked for this amount of time. Set it to zero to wait forever.
51