28#if !defined(CONFIG_TUSBD_USE_CUSTOM_DESC)
30#if !defined(HAVE_TUSBD_ITF_TYPE)
32#if CONFIG_TUSBD_CDC_NUMOF > 0
36#if CONFIG_TUSBD_CDC_NUMOF > 1
40#if CONFIG_TUSBD_DFU_NUMOF
43#if CONFIG_TUSBD_DFU_RT_NUMOF
46#if CONFIG_TUSBD_HID_NUMOF > 0
49#if CONFIG_TUSBD_HID_NUMOF > 1
52#if CONFIG_TUSBD_MSC_NUMOF
55#if CONFIG_TUSBD_NET_NUMOF
59#if CONFIG_TUSBD_VENDOR_NUMOF
66#if !defined(HAVE_TUSBD_EP_TYPE)
68#if CONFIG_TUSBD_CDC_NUMOF > 0
69 TUSBD_EP_CDC_0_NOTIF = TUSBD_ITF_CDC_0 + 0x81,
70 TUSBD_EP_CDC_0_OUT = TUSBD_ITF_CDC_0_DATA + 0x01,
71 TUSBD_EP_CDC_0_IN = TUSBD_ITF_CDC_0_DATA + 0x81,
73#if CONFIG_TUSBD_CDC_NUMOF > 1
74 TUSBD_EP_CDC_1_NOTIF = TUSBD_ITF_CDC_1 + 0x81,
75 TUSBD_EP_CDC_1_OUT = TUSBD_ITF_CDC_1_DATA + 0x01,
76 TUSBD_EP_CDC_1_IN = TUSBD_ITF_CDC_1_DATA + 0x81,
78#if CONFIG_TUSBD_HID_NUMOF > 0
79 TUSBD_EP_HID_0_OUT = TUSBD_ITF_HID_0 + 0x01,
80 TUSBD_EP_HID_0_IN = TUSBD_ITF_HID_0 + 0x81,
82#if CONFIG_TUSBD_HID_NUMOF > 1
83 TUSBD_EP_HID_1_OUT = TUSBD_ITF_HID_1 + 0x01,
84 TUSBD_EP_HID_1_IN = TUSBD_ITF_HID_1 + 0x81,
86#if CONFIG_TUSBD_MSC_NUMOF
87 TUSBD_EP_MSC_OUT = TUSBD_ITF_MSC + 0x01,
88 TUSBD_EP_MSC_IN = TUSBD_ITF_MSC + 0x81,
90#if CONFIG_TUSBD_NET_NUMOF
91 TUSBD_EP_NET_NOTIF = TUSBD_ITF_NET + 0x81,
92 TUSBD_EP_NET_OUT = TUSBD_ITF_NET_DATA + 0x01,
93 TUSBD_EP_NET_IN = TUSBD_ITF_NET_DATA + 0x81,
95#if CONFIG_TUSBD_VENDOR_NUMOF
96 TUSBD_EP_VENDOR_OUT = TUSBD_ITF_VENDOR + 0x01,
97 TUSBD_EP_VENDOR_IN = TUSBD_ITF_VENDOR + 0x81,
103#if !defined(HAVE_TUSBD_STR_IDX_TYPE)
105 TUSBD_STR_IDX_LANGUAGE = 0,
106 TUSBD_STR_IDX_MANUFACTURER,
107 TUSBD_STR_IDX_PRODUCT,
108 TUSBD_STR_IDX_SERIAL,
109#if CONFIG_TUSBD_CDC_NUMOF > 0
112#if CONFIG_TUSBD_CDC_NUMOF > 1
115#if CONFIG_TUSBD_DFU_NUMOF
116 TUSBD_STR_IDX_DFU_SLOT_0,
117 TUSBD_STR_IDX_DFU_SLOT_1,
119#if CONFIG_TUSBD_DFU_RT_NUMOF
120 TUSBD_STR_IDX_DFU_RT,
122#if CONFIG_TUSBD_HID_NUMOF > 0
125#if CONFIG_TUSBD_HID_NUMOF > 1
128#if CONFIG_TUSBD_MSC_NUMOF
132#if CONFIG_TUSBD_NET_NUMOF
133#if CONFIG_TUSBD_NET_CDC_ECM
134 TUSBD_STR_IDX_NET_CDC_ECM,
136#if CONFIG_TUSBD_NET_CDC_NCM
137 TUSBD_STR_IDX_NET_CDC_NCM,
139#if CONFIG_TUSBD_NET_RNDIS
140 TUSBD_STR_IDX_NET_RNDIS,
142 TUSBD_STR_IDX_NET_MAC,
145#if CONFIG_TUSBD_VENDOR_NUMOF
146 TUSBD_STR_IDX_VENDOR,
153#define CONFIG_TUSBD_DFU_ALT_NUMOF 2
155#if !defined(TUSBD_DESC_TOTAL_LEN)
157#if CONFIG_TUSBD_NET_CDC_ECM
158#define TUSBD_DESC_NET_LEN TUD_CDC_ECM_DESC_LEN
159#elif CONFIG_TUSBD_NET_CDC_NCM
160#define TUSBD_DESC_NET_LEN TUD_CDC_NCM_DESC_LEN
161#elif CONFIG_TUSBD_NET_RNDIS
162#define TUSBD_DESC_NET_LEN TUD_RNDIS_DESC_LEN
164#define TUSBD_DESC_NET_LEN 0
167#define TUSBD_DESC_TOTAL_LEN (TUD_CONFIG_DESC_LEN + \
168 (CONFIG_TUSBD_CDC_NUMOF * TUD_CDC_DESC_LEN) + \
169 (CONFIG_TUSBD_DFU_NUMOF * TUD_DFU_DESC_LEN(CONFIG_TUSBD_DFU_ALT_NUMOF)) + \
170 (CONFIG_TUSBD_DFU_RT_NUMOF * TUD_DFU_RT_DESC_LEN) + \
171 (CONFIG_TUSBD_HID_NUMOF * TUD_HID_INOUT_DESC_LEN) + \
172 (CONFIG_TUSBD_MSC_NUMOF * TUD_MSC_DESC_LEN) + \
173 (CONFIG_TUSBD_VENDOR_NUMOF * TUD_VENDOR_DESC_LEN) + \
182#if CONFIG_TUSBD_NET_CDC_ECM && CONFIG_TUSBD_NET_RNDIS
184#define TUSBD_DESC_ALT_NET_LEN TUD_RNDIS_DESC_LEN
186#define TUSBD_DESC_ALT_TOTAL_LEN (TUD_CONFIG_DESC_LEN + \
187 (CONFIG_TUSBD_CDC_NUMOF * TUD_CDC_DESC_LEN) + \
188 (CONFIG_TUSBD_DFU_NUMOF * TUD_DFU_DESC_LEN(CONFIG_TUSBD_DFU_ALT_NUMOF)) + \
189 (CONFIG_TUSBD_DFU_RT_NUMOF * TUD_DFU_RT_DESC_LEN) + \
190 (CONFIG_TUSBD_HID_NUMOF * TUD_HID_INOUT_DESC_LEN) + \
191 (CONFIG_TUSBD_MSC_NUMOF * TUD_MSC_DESC_LEN) + \
192 (CONFIG_TUSBD_VENDOR_NUMOF * TUD_VENDOR_DESC_LEN) + \
193 TUSBD_DESC_ALT_NET_LEN)
TinyUSB default configurations.