2022-09-14 09:03:56 +02:00
|
|
|
# Package tinyUSB has its own USB device driver. Therefore, it cannot be used
|
|
|
|
# together with periph/usbdev for now.
|
|
|
|
ifneq (,$(filter periph_usbdev,$(USEMODULE)))
|
|
|
|
$(error "Package tinyUSB is not yet compatible with periph/usdev")
|
|
|
|
endif
|
|
|
|
|
|
|
|
# tinyUSB muteces use priority inheritance
|
|
|
|
# USEMODULE += core_mutex_priority_inheritance
|
|
|
|
|
|
|
|
# tinyUSB modules always needed
|
|
|
|
USEMODULE += tinyusb_common
|
|
|
|
USEMODULE += tinyusb_contrib
|
|
|
|
USEMODULE += tinyusb_hw
|
|
|
|
|
|
|
|
ifeq (,$(filter tinyusb_class_%,$(USEMODULE)))
|
|
|
|
$(error At least one tinyusb_class_* module has to be enabled)
|
|
|
|
endif
|
|
|
|
|
|
|
|
# tinyUSB device stack has to be supported if tinyusb_device is used
|
|
|
|
ifneq (,$(filter tinyusb_device,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += tinyusb_device
|
|
|
|
endif
|
|
|
|
|
|
|
|
# tinyUSB host stack has to be supported if tinyusb_host is used
|
|
|
|
ifneq (,$(filter tinyusb_host,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += tinyusb_host
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Following device classes work only with tinyUSB device stack
|
|
|
|
ifneq (,$(filter tinyusb_class_audio,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += tinyusb_device
|
|
|
|
endif
|
|
|
|
ifneq (,$(filter tinyusb_class_bth,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += tinyusb_device
|
|
|
|
endif
|
|
|
|
ifneq (,$(filter tinyusb_class_dfu,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += tinyusb_device
|
|
|
|
endif
|
|
|
|
ifneq (,$(filter tinyusb_class_dfu_runtime,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += tinyusb_device
|
|
|
|
endif
|
|
|
|
ifneq (,$(filter tinyusb_class_midi,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += tinyusb_device
|
|
|
|
endif
|
|
|
|
ifneq (,$(filter tinyusb_class_net_ecm_rndis,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += tinyusb_device
|
|
|
|
endif
|
|
|
|
ifneq (,$(filter tinyusb_class_net_ncm,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += tinyusb_device
|
|
|
|
endif
|
|
|
|
ifneq (,$(filter tinyusb_class_usbtmc,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += tinyusb_device
|
|
|
|
endif
|
|
|
|
ifneq (,$(filter tinyusb_class_video,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += tinyusb_device
|
|
|
|
endif
|
|
|
|
|
2022-09-28 23:52:45 +02:00
|
|
|
# tinyUSB hardware driver selection
|
|
|
|
ifneq (,$(filter esp32s2 esp32s3,$(CPU_FAM)))
|
|
|
|
USEMODULE += tinyusb_portable_espressif
|
|
|
|
else
|
|
|
|
$(error CPU family not supported)
|
|
|
|
endif
|
|
|
|
|
2022-09-14 09:03:56 +02:00
|
|
|
# other module dependencies
|
|
|
|
USEMODULE += periph_usbdev_clk
|
|
|
|
USEMODULE += sema
|
|
|
|
USEMODULE += ztimer_msec
|