mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
pkg/tinyusb: add Kconfig variables for common tinyUSB descriptors
This commit is contained in:
parent
5685718bcf
commit
028c22083b
@ -19,6 +19,8 @@ menuconfig PACKAGE_TINYUSB
|
|||||||
bool "TinyUSB stack package"
|
bool "TinyUSB stack package"
|
||||||
depends on HAS_ARCH_32BIT
|
depends on HAS_ARCH_32BIT
|
||||||
depends on HAS_TINYUSB_DEVICE || HAS_TINYUSB_HOST
|
depends on HAS_TINYUSB_DEVICE || HAS_TINYUSB_HOST
|
||||||
|
select MODULE_FMT
|
||||||
|
select MODULE_LUID
|
||||||
select MODULE_PERIPH_USBDEV_CLK
|
select MODULE_PERIPH_USBDEV_CLK
|
||||||
select MODULE_SEMA
|
select MODULE_SEMA
|
||||||
select MODULE_TINYUSB_COMMON
|
select MODULE_TINYUSB_COMMON
|
||||||
@ -39,8 +41,8 @@ menuconfig PACKAGE_TINYUSB
|
|||||||
|| CPU_COMMON_SAMD5X || CPU_FAM_SAML21 || CPU_FAM_SAMR34 \
|
|| CPU_COMMON_SAMD5X || CPU_FAM_SAML21 || CPU_FAM_SAMR34 \
|
||||||
|| CPU_FAM_SAMR30
|
|| CPU_FAM_SAMR30
|
||||||
select MODULE_TINYUSB_PORTABLE_NRF5X if CPU_FAM_NRF52
|
select MODULE_TINYUSB_PORTABLE_NRF5X if CPU_FAM_NRF52
|
||||||
select PACKAGE_NRFX if CPU_FAM_NRF52
|
|
||||||
select MODULE_ZTIMER_MSEC
|
select MODULE_ZTIMER_MSEC
|
||||||
|
select PACKAGE_NRFX if CPU_FAM_NRF52
|
||||||
help
|
help
|
||||||
tinyUSB is an open-source cross-platform USB Host/Device stack for
|
tinyUSB is an open-source cross-platform USB Host/Device stack for
|
||||||
embedded systems.
|
embedded systems.
|
||||||
@ -74,6 +76,7 @@ config MODULE_TINYUSB_HW
|
|||||||
config MODULE_TINYUSB_DEVICE
|
config MODULE_TINYUSB_DEVICE
|
||||||
bool "Device Stack"
|
bool "Device Stack"
|
||||||
depends on HAS_TINYUSB_DEVICE
|
depends on HAS_TINYUSB_DEVICE
|
||||||
|
default y
|
||||||
help
|
help
|
||||||
Select to enable tinyUSB device stack
|
Select to enable tinyUSB device stack
|
||||||
|
|
||||||
@ -117,8 +120,7 @@ menu "Device Classes"
|
|||||||
bool "Bluetooth Host Controller Interface (BTH HCI)"
|
bool "Bluetooth Host Controller Interface (BTH HCI)"
|
||||||
depends on MODULE_TINYUSB_DEVICE
|
depends on MODULE_TINYUSB_DEVICE
|
||||||
|
|
||||||
config MODULE_TINYUSB_CLASS_CDC
|
rsource "Kconfig.cdc"
|
||||||
bool "Communication Device Class (CDC)"
|
|
||||||
|
|
||||||
config MODULE_TINYUSB_CLASS_DFU
|
config MODULE_TINYUSB_CLASS_DFU
|
||||||
bool "Device Firmware Update (DFU) Runtime"
|
bool "Device Firmware Update (DFU) Runtime"
|
||||||
@ -128,11 +130,8 @@ menu "Device Classes"
|
|||||||
bool "Device Firmware Update (DFU)"
|
bool "Device Firmware Update (DFU)"
|
||||||
depends on MODULE_TINYUSB_DEVICE
|
depends on MODULE_TINYUSB_DEVICE
|
||||||
|
|
||||||
config MODULE_TINYUSB_CLASS_HID
|
rsource "Kconfig.hid"
|
||||||
bool "Human Interface Device (HID)"
|
rsource "Kconfig.msc"
|
||||||
|
|
||||||
config MODULE_TINYUSB_CLASS_MSC
|
|
||||||
bool "Mass Storage Class (MSC)"
|
|
||||||
|
|
||||||
config MODULE_TINYUSB_CLASS_MIDI
|
config MODULE_TINYUSB_CLASS_MIDI
|
||||||
bool "Musical Instrument Digital Interface (MIDI)"
|
bool "Musical Instrument Digital Interface (MIDI)"
|
||||||
@ -159,4 +158,32 @@ menu "Device Classes"
|
|||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
if MODULE_TINYUSB_DEVICE
|
||||||
|
|
||||||
|
config TUSBD_EP0_SIZE
|
||||||
|
int "Device control endpoint (EP0) size [byte]"
|
||||||
|
default 64
|
||||||
|
|
||||||
|
config TUSBD_FS_EP_SIZE
|
||||||
|
int "Device endpoint size in Full-Speed mode [byte]"
|
||||||
|
default 64
|
||||||
|
|
||||||
|
config TUSBD_HS_EP_SIZE
|
||||||
|
int "Device endpoint Size in High-Speed mode [byte]"
|
||||||
|
default 512
|
||||||
|
|
||||||
|
config TUSBD_USE_CUSTOM_DESC
|
||||||
|
bool "Custom device descriptors"
|
||||||
|
depends on MODULE_TINYUSB_DEVICE
|
||||||
|
help
|
||||||
|
Enable this option to define custom descriptors for the selected
|
||||||
|
device classes. Otherwise, generic descriptors will be generated
|
||||||
|
according to the selected device classes.
|
||||||
|
At the moment, the generation of generic descriptors is only supported
|
||||||
|
for all combinations of up to two CDC interfaces, up to two generic
|
||||||
|
In/Out HID interfaces, up to one MSC interface and up to one vendor
|
||||||
|
interface. In all other cases, custom descriptors must be implemented
|
||||||
|
and handled.
|
||||||
|
|
||||||
|
endif # MODULE_TINYUSB_DEVICE
|
||||||
endif # PACKAGE_TINYUSB
|
endif # PACKAGE_TINYUSB
|
||||||
|
32
pkg/tinyusb/Kconfig.cdc
Normal file
32
pkg/tinyusb/Kconfig.cdc
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# Copyright (c) 2022 Gunar Schorcht
|
||||||
|
#
|
||||||
|
# This file is subject to the terms and conditions of the GNU Lesser
|
||||||
|
# General Public License v2.1. See the file LICENSE in the top level
|
||||||
|
# directory for more details.
|
||||||
|
#
|
||||||
|
|
||||||
|
menuconfig MODULE_TINYUSB_CLASS_CDC
|
||||||
|
bool "Communication Device Class (CDC)"
|
||||||
|
|
||||||
|
if MODULE_TINYUSB_CLASS_CDC && MODULE_TINYUSB_DEVICE
|
||||||
|
|
||||||
|
config TUSBD_CDC_NUMOF
|
||||||
|
int "Number of CDC interfaces"
|
||||||
|
default 1
|
||||||
|
range 1 2
|
||||||
|
|
||||||
|
config TUSBD_CDC_NOTIF_EP_SIZE
|
||||||
|
int "CDC notification endpoint size [byte]"
|
||||||
|
default 8
|
||||||
|
|
||||||
|
config TUSBD_CDC_0_STRING
|
||||||
|
string "CDC0 descriptor string"
|
||||||
|
depends on TUSBD_CDC_NUMOF > 0
|
||||||
|
default "TinyUSB CDC0"
|
||||||
|
|
||||||
|
config TUSBD_CDC_1_STRING
|
||||||
|
string "CDC1 descriptor string"
|
||||||
|
depends on TUSBD_CDC_NUMOF > 1
|
||||||
|
default "TinyUSB CDC1"
|
||||||
|
|
||||||
|
endif
|
42
pkg/tinyusb/Kconfig.hid
Normal file
42
pkg/tinyusb/Kconfig.hid
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# Copyright (c) 2022 Gunar Schorcht
|
||||||
|
#
|
||||||
|
# This file is subject to the terms and conditions of the GNU Lesser
|
||||||
|
# General Public License v2.1. See the file LICENSE in the top level
|
||||||
|
# directory for more details.
|
||||||
|
#
|
||||||
|
|
||||||
|
menuconfig MODULE_TINYUSB_CLASS_HID
|
||||||
|
bool "Human Interface Device (HID)"
|
||||||
|
|
||||||
|
if MODULE_TINYUSB_CLASS_HID && MODULE_TINYUSB_DEVICE
|
||||||
|
|
||||||
|
config TUSBD_HID_NUMOF
|
||||||
|
int "Number of HID interfaces"
|
||||||
|
default 1
|
||||||
|
range 1 2
|
||||||
|
|
||||||
|
config TUSBD_HID_EP_SIZE
|
||||||
|
int "HID endpoint size [byte]"
|
||||||
|
default 64
|
||||||
|
|
||||||
|
config TUSBD_HID_0_POLL_INTERVALL
|
||||||
|
int "HID0 polling interval [ms]"
|
||||||
|
depends on TUSBD_HID_NUMOF > 0
|
||||||
|
default 10
|
||||||
|
|
||||||
|
config TUSBD_HID_0_STRING
|
||||||
|
string "HID0 descriptor string"
|
||||||
|
depends on TUSBD_HID_NUMOF > 0
|
||||||
|
default "TinyUSB HID0 (Generic In/Out)"
|
||||||
|
|
||||||
|
config TUSBD_HID_1_POLL_INTERVALL
|
||||||
|
int "HID1 polling interval [ms]"
|
||||||
|
depends on TUSBD_HID_NUMOF > 1
|
||||||
|
default 10
|
||||||
|
|
||||||
|
config TUSBD_HID_1_STRING
|
||||||
|
string "HID1 descriptor string"
|
||||||
|
depends on TUSBD_HID_NUMOF > 1
|
||||||
|
default "TinyUSB HID1 (Generic In/Out)"
|
||||||
|
|
||||||
|
endif
|
26
pkg/tinyusb/Kconfig.msc
Normal file
26
pkg/tinyusb/Kconfig.msc
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# Copyright (c) 2022 Gunar Schorcht
|
||||||
|
#
|
||||||
|
# This file is subject to the terms and conditions of the GNU Lesser
|
||||||
|
# General Public License v2.1. See the file LICENSE in the top level
|
||||||
|
# directory for more details.
|
||||||
|
#
|
||||||
|
|
||||||
|
menuconfig MODULE_TINYUSB_CLASS_MSC
|
||||||
|
bool "Mass Storage Class (MSC)"
|
||||||
|
|
||||||
|
if MODULE_TINYUSB_CLASS_MSC && MODULE_TINYUSB_DEVICE
|
||||||
|
|
||||||
|
config TUSBD_MSC_NUMOF
|
||||||
|
int
|
||||||
|
default 1
|
||||||
|
|
||||||
|
config TUSBD_MSC_EP_SIZE
|
||||||
|
int "MSC endpoint size [byte]"
|
||||||
|
default 512
|
||||||
|
|
||||||
|
config TUSBD_MSC_STRING
|
||||||
|
string "MSC descriptor string"
|
||||||
|
depends on TUSBD_MSC_NUMOF > 0
|
||||||
|
default "TinyUSB MSC"
|
||||||
|
|
||||||
|
endif
|
Loading…
Reference in New Issue
Block a user