zephyr/drivers/usb/udc/CMakeLists.txt
Johann Fischer c8eaa11a0b drivers: udc: add new UDC driver for SAM0 USB controller
The UDC driver for this beautiful USB controller is mostly rewritten
from scratch. USB Pad Calibration and clock handling are copied from the
usb_dc_sam0 driver.

The driver uses multipacket transfers for all endpoints except the OUT
control endpoint. The OUT control endpoint has a buffer that is always
mapped to the endpoint buffer register so that it always has a valid
buffer. The driver provides up to 7 IN and 7 OUT endpoints that support
any type of transfer. Double buffering is not used, for the possible
case of isochronous transfers some changes would be required in the
future.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-04-27 08:35:00 +02:00

24 lines
1.2 KiB
CMake

# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
zephyr_library_sources(udc_common.c)
zephyr_library_include_directories(${ZEPHYR_BASE}/drivers/usb/common/)
zephyr_library_sources_ifdef(CONFIG_UDC_DWC2 udc_dwc2.c)
zephyr_library_sources_ifdef(CONFIG_UDC_NRF udc_nrf.c)
zephyr_library_sources_ifdef(CONFIG_UDC_KINETIS udc_kinetis.c)
zephyr_library_sources_ifdef(CONFIG_UDC_SKELETON udc_skeleton.c)
zephyr_library_sources_ifdef(CONFIG_UDC_VIRTUAL udc_virtual.c)
zephyr_library_sources_ifdef(CONFIG_UDC_SMARTBOND udc_smartbond.c)
zephyr_library_sources_ifdef(CONFIG_UDC_STM32 udc_stm32.c)
zephyr_library_sources_ifdef(CONFIG_UDC_IT82XX2 udc_it82xx2.c)
zephyr_library_sources_ifdef(CONFIG_UDC_NXP_EHCI udc_mcux_ehci.c)
zephyr_library_sources_ifdef(CONFIG_UDC_NXP_IP3511 udc_mcux_ip3511.c)
zephyr_library_sources_ifdef(CONFIG_UDC_NUMAKER udc_numaker.c)
zephyr_library_sources_ifdef(CONFIG_UDC_RPI_PICO udc_rpi_pico.c)
zephyr_library_sources_ifdef(CONFIG_UDC_AMBIQ udc_ambiq.c)
zephyr_library_sources_ifdef(CONFIG_UDC_RENESAS_RA udc_renesas_ra.c)
zephyr_library_sources_ifdef(CONFIG_UDC_MAX32 udc_max32.c)
zephyr_library_sources_ifdef(CONFIG_UDC_SAM0 udc_sam0.c)