1# Copyright (c) 2023 Linaro Limited
2# SPDX-License-Identifier: Apache-2.0
3
4config UDC_STM32
5	bool "STM32 USB device controller driver"
6	depends on DT_HAS_ST_STM32_OTGFS_ENABLED \
7		|| DT_HAS_ST_STM32_OTGHS_ENABLED \
8		|| DT_HAS_ST_STM32_USB_ENABLED
9	select USE_STM32_LL_USB
10	select USE_STM32_HAL_PCD
11	select USE_STM32_HAL_PCD_EX
12	select PINCTRL
13	default y
14	help
15	  STM32 USB device controller driver.
16
17if UDC_STM32
18
19config UDC_STM32_STACK_SIZE
20	int "UDC controller driver internal thread stack size"
21	default 512
22	help
23	  STM32 USB device controller driver internal thread stack size.
24
25config UDC_STM32_THREAD_PRIORITY
26	int "STM32 USB controller driver thread priority"
27	default 8
28	help
29	  STM32 USB device controller driver thread priority.
30
31config UDC_STM32_MAX_QMESSAGES
32	int "STM32 UDC driver maximum number of ISR event messages"
33	range 4 64
34	default 8
35	help
36	  Maximum number of messages for handling of STM32 USBD ISR events.
37
38config UDC_STM32_CLOCK_CHECK
39	bool "Runtime USB 48MHz clock check"
40	default y if !(SOC_SERIES_STM32F1X || SOC_SERIES_STM32F3X || SOC_SERIES_STM32U5X)
41	help
42	  Enable USB clock 48MHz configuration runtime check.
43	  In specific cases, this check might provide wrong verdict and should
44	  be disabled.
45
46endif
47