31 #if !defined(CONFIG_TUSBD_USE_CUSTOM_DESC)
33 #if !defined(HAVE_TUSBD_ITF_TYPE)
35 #if CONFIG_TUSBD_CDC_NUMOF > 0
39 #if CONFIG_TUSBD_CDC_NUMOF > 1
43 #if CONFIG_TUSBD_DFU_NUMOF
46 #if CONFIG_TUSBD_DFU_RT_NUMOF
49 #if CONFIG_TUSBD_HID_NUMOF > 0
52 #if CONFIG_TUSBD_HID_NUMOF > 1
55 #if CONFIG_TUSBD_MSC_NUMOF
58 #if CONFIG_TUSBD_NET_NUMOF
62 #if CONFIG_TUSBD_VENDOR_NUMOF
69 #if !defined(HAVE_TUSBD_EP_TYPE)
71 #if CONFIG_TUSBD_CDC_NUMOF > 0
72 TUSBD_EP_CDC_0_NOTIF = TUSBD_ITF_CDC_0 + 0x81,
73 TUSBD_EP_CDC_0_OUT = TUSBD_ITF_CDC_0_DATA + 0x01,
74 TUSBD_EP_CDC_0_IN = TUSBD_ITF_CDC_0_DATA + 0x81,
76 #if CONFIG_TUSBD_CDC_NUMOF > 1
77 TUSBD_EP_CDC_1_NOTIF = TUSBD_ITF_CDC_1 + 0x81,
78 TUSBD_EP_CDC_1_OUT = TUSBD_ITF_CDC_1_DATA + 0x01,
79 TUSBD_EP_CDC_1_IN = TUSBD_ITF_CDC_1_DATA + 0x81,
81 #if CONFIG_TUSBD_HID_NUMOF > 0
82 TUSBD_EP_HID_0_OUT = TUSBD_ITF_HID_0 + 0x01,
83 TUSBD_EP_HID_0_IN = TUSBD_ITF_HID_0 + 0x81,
85 #if CONFIG_TUSBD_HID_NUMOF > 1
86 TUSBD_EP_HID_1_OUT = TUSBD_ITF_HID_1 + 0x01,
87 TUSBD_EP_HID_1_IN = TUSBD_ITF_HID_1 + 0x81,
89 #if CONFIG_TUSBD_MSC_NUMOF
90 TUSBD_EP_MSC_OUT = TUSBD_ITF_MSC + 0x01,
91 TUSBD_EP_MSC_IN = TUSBD_ITF_MSC + 0x81,
93 #if CONFIG_TUSBD_NET_NUMOF
94 TUSBD_EP_NET_NOTIF = TUSBD_ITF_NET + 0x81,
95 TUSBD_EP_NET_OUT = TUSBD_ITF_NET_DATA + 0x01,
96 TUSBD_EP_NET_IN = TUSBD_ITF_NET_DATA + 0x81,
98 #if CONFIG_TUSBD_VENDOR_NUMOF
99 TUSBD_EP_VENDOR_OUT = TUSBD_ITF_VENDOR + 0x01,
100 TUSBD_EP_VENDOR_IN = TUSBD_ITF_VENDOR + 0x81,
106 #if !defined(HAVE_TUSBD_STR_IDX_TYPE)
108 TUSBD_STR_IDX_LANGUAGE = 0,
109 TUSBD_STR_IDX_MANUFACTURER,
110 TUSBD_STR_IDX_PRODUCT,
111 TUSBD_STR_IDX_SERIAL,
112 #if CONFIG_TUSBD_CDC_NUMOF > 0
115 #if CONFIG_TUSBD_CDC_NUMOF > 1
118 #if CONFIG_TUSBD_DFU_NUMOF
119 TUSBD_STR_IDX_DFU_SLOT_0,
120 TUSBD_STR_IDX_DFU_SLOT_1,
122 #if CONFIG_TUSBD_DFU_RT_NUMOF
123 TUSBD_STR_IDX_DFU_RT,
125 #if CONFIG_TUSBD_HID_NUMOF > 0
128 #if CONFIG_TUSBD_HID_NUMOF > 1
131 #if CONFIG_TUSBD_MSC_NUMOF
135 #if CONFIG_TUSBD_NET_NUMOF
136 #if CONFIG_TUSBD_NET_CDC_ECM
137 TUSBD_STR_IDX_NET_CDC_ECM,
139 #if CONFIG_TUSBD_NET_CDC_NCM
140 TUSBD_STR_IDX_NET_CDC_NCM,
142 #if CONFIG_TUSBD_NET_RNDIS
143 TUSBD_STR_IDX_NET_RNDIS,
145 TUSBD_STR_IDX_NET_MAC,
148 #if CONFIG_TUSBD_VENDOR_NUMOF
149 TUSBD_STR_IDX_VENDOR,
156 #define CONFIG_TUSBD_DFU_ALT_NUMOF 2
158 #if !defined(TUSBD_DESC_TOTAL_LEN)
160 #if CONFIG_TUSBD_NET_CDC_ECM
161 #define TUSBD_DESC_NET_LEN TUD_CDC_ECM_DESC_LEN
162 #elif CONFIG_TUSBD_NET_CDC_NCM
163 #define TUSBD_DESC_NET_LEN TUD_CDC_NCM_DESC_LEN
164 #elif CONFIG_TUSBD_NET_RNDIS
165 #define TUSBD_DESC_NET_LEN TUD_RNDIS_DESC_LEN
167 #define TUSBD_DESC_NET_LEN 0
170 #define TUSBD_DESC_TOTAL_LEN (TUD_CONFIG_DESC_LEN + \
171 (CONFIG_TUSBD_CDC_NUMOF * TUD_CDC_DESC_LEN) + \
172 (CONFIG_TUSBD_DFU_NUMOF * TUD_DFU_DESC_LEN(CONFIG_TUSBD_DFU_ALT_NUMOF)) + \
173 (CONFIG_TUSBD_DFU_RT_NUMOF * TUD_DFU_RT_DESC_LEN) + \
174 (CONFIG_TUSBD_HID_NUMOF * TUD_HID_INOUT_DESC_LEN) + \
175 (CONFIG_TUSBD_MSC_NUMOF * TUD_MSC_DESC_LEN) + \
176 (CONFIG_TUSBD_VENDOR_NUMOF * TUD_VENDOR_DESC_LEN) + \
185 #if CONFIG_TUSBD_NET_CDC_ECM && CONFIG_TUSBD_NET_RNDIS
187 #define TUSBD_DESC_ALT_NET_LEN TUD_RNDIS_DESC_LEN
189 #define TUSBD_DESC_ALT_TOTAL_LEN (TUD_CONFIG_DESC_LEN + \
190 (CONFIG_TUSBD_CDC_NUMOF * TUD_CDC_DESC_LEN) + \
191 (CONFIG_TUSBD_DFU_NUMOF * TUD_DFU_DESC_LEN(CONFIG_TUSBD_DFU_ALT_NUMOF)) + \
192 (CONFIG_TUSBD_DFU_RT_NUMOF * TUD_DFU_RT_DESC_LEN) + \
193 (CONFIG_TUSBD_HID_NUMOF * TUD_HID_INOUT_DESC_LEN) + \
194 (CONFIG_TUSBD_MSC_NUMOF * TUD_MSC_DESC_LEN) + \
195 (CONFIG_TUSBD_VENDOR_NUMOF * TUD_VENDOR_DESC_LEN) + \
196 TUSBD_DESC_ALT_NET_LEN)
TinyUSB default configurations.