@@ -76,6 +76,10 @@ extern "C" {
76
76
# define CONFIG_TINYUSB_NCM_ENABLED 0
77
77
#endif
78
78
79
+ #if CONFIG_TINYUSB_ENABLED
80
+ # define CFG_TUD_ENABLED 1
81
+ #endif
82
+
79
83
/* */
80
84
/* COMMON CONFIGURATION */
81
85
/* */
@@ -84,6 +88,7 @@ extern "C" {
84
88
#endif
85
89
#define CFG_TUSB_RHPORT0_MODE OPT_MODE_DEVICE
86
90
#define CFG_TUSB_OS OPT_OS_FREERTOS
91
+ #define BOARD_TUD_RHPORT 0
87
92
88
93
/* USB DMA on some MCUs can only access a specific SRAM region with restriction on alignment.
89
94
* Tinyusb use follows macros to declare transferring memory so that they can be put
@@ -97,17 +102,23 @@ extern "C" {
97
102
#endif
98
103
99
104
#ifndef CFG_TUSB_MEM_ALIGN
105
+ #if CONFIG_IDF_TARGET_ESP32P4
106
+ # define CFG_TUSB_MEM_ALIGN TU_ATTR_ALIGNED(64)
107
+ #else
100
108
# define CFG_TUSB_MEM_ALIGN TU_ATTR_ALIGNED(4)
101
109
#endif
110
+ #endif
102
111
103
112
#if CONFIG_IDF_TARGET_ESP32P4
104
113
#define CFG_TUD_MAX_SPEED OPT_MODE_HIGH_SPEED
105
114
#else
106
115
#define CFG_TUD_MAX_SPEED OPT_MODE_FULL_SPEED
107
116
#endif
108
117
118
+ #define BOARD_TUD_MAX_SPEED CFG_TUD_MAX_SPEED
119
+
109
120
/* */
110
- /* DRIVER CONFIGURATION */
121
+ /* DEVICE CONFIGURATION */
111
122
/* */
112
123
113
124
#define CFG_TUD_MAINTASK_SIZE 4096
@@ -155,6 +166,35 @@ extern "C" {
155
166
#define CFG_TUD_VENDOR_RX_BUFSIZE CONFIG_TINYUSB_VENDOR_RX_BUFSIZE
156
167
#define CFG_TUD_VENDOR_TX_BUFSIZE CONFIG_TINYUSB_VENDOR_TX_BUFSIZE
157
168
169
+ /* */
170
+ /* HOST CONFIGURATION */
171
+ /* */
172
+
173
+ #define CFG_TUH_ENABLED CFG_TUD_ENABLED
174
+ #define CFG_TUSB_RHPORT1_MODE OPT_MODE_HOST
175
+ #define BOARD_TUH_RHPORT 1
176
+ #define BOARD_TUH_MAX_SPEED CFG_TUD_MAX_SPEED
177
+ #define CFG_TUH_ENUMERATION_BUFSIZE 256
178
+
179
+ #define CFG_TUH_HUB 2 // number of supported hubs
180
+ #define CFG_TUH_CDC 1 // CDC ACM
181
+ #define CFG_TUH_CDC_FTDI 1 // FTDI Serial. FTDI is not part of CDC class, only to re-use CDC driver API
182
+ #define CFG_TUH_CDC_CP210X 1 // CP210x Serial. CP210X is not part of CDC class, only to re-use CDC driver API
183
+ #define CFG_TUH_CDC_CH34X 1 // CH340 or CH341 Serial. CH34X is not part of CDC class, only to re-use CDC driver API
184
+ #define CFG_TUH_HID 1 // typical keyboard + mouse device can have 3-4 HID interfaces
185
+ #define CFG_TUH_MSC 1
186
+ //#define CFG_TUH_VENDOR 3
187
+
188
+ #define CFG_TUH_DEVICE_MAX (3*CFG_TUH_HUB + 1)
189
+
190
+ //------------- HID -------------//
191
+ #define CFG_TUH_HID_EPIN_BUFSIZE 64
192
+ #define CFG_TUH_HID_EPOUT_BUFSIZE 64
193
+
194
+ //------------- CDC -------------//
195
+ #define CFG_TUH_CDC_LINE_CONTROL_ON_ENUM 0x03
196
+ #define CFG_TUH_CDC_LINE_CODING_ON_ENUM { 115200, CDC_LINE_CODING_STOP_BITS_1, CDC_LINE_CODING_PARITY_NONE, 8 }
197
+
158
198
#ifdef __cplusplus
159
199
}
160
200
#endif
0 commit comments