1menu "TinyUSB Stack"
2    visible if USB_OTG_SUPPORTED
3
4    config TINYUSB
5        bool "Use TinyUSB Stack"
6        depends on USB_OTG_SUPPORTED
7        default n
8        help
9            Enable TinyUSB stack support.
10            Note that, esp-idf only uses the device stack provided by TinyUSB.
11
12    if TINYUSB
13        config TINYUSB_DEBUG_LEVEL
14            int "TinyUSB log level (0-3)"
15            default 0
16            range 0 3
17            help
18                Specify verbosity of TinyUSB log output.
19
20        menu "TinyUSB task configuration"
21            config TINYUSB_NO_DEFAULT_TASK
22                bool "Do not create a TinyUSB task"
23                default n
24                help
25                    This option allows to not create the FreeRTOS task during the driver initialization.
26                    User will have to handle TinyUSB events manually.
27
28            config TINYUSB_TASK_PRIORITY
29                int "TinyUSB task priority"
30                default 5
31                depends on !TINYUSB_NO_DEFAULT_TASK
32                help
33                    Set the priority of the default TinyUSB main task.
34
35            config TINYUSB_TASK_STACK_SIZE
36                int "TinyUSB task stack size (bytes)"
37                default 4096
38                depends on !TINYUSB_NO_DEFAULT_TASK
39                help
40                    Set the stack size of the default TinyUSB main task.
41        endmenu
42
43        menu "Descriptor configuration"
44            config TINYUSB_DESC_USE_ESPRESSIF_VID
45                bool "VID: Use Espressif's vendor ID"
46                default y
47                help
48                    Enable this option, USB device will use Espressif's vendor ID as its VID.
49                    This is helpful at product develop stage.
50
51            config TINYUSB_DESC_CUSTOM_VID
52                hex "VID: Custom vendor ID"
53                default 0x1234
54                depends on !TINYUSB_DESC_USE_ESPRESSIF_VID
55                help
56                    Custom Vendor ID.
57
58            config TINYUSB_DESC_USE_DEFAULT_PID
59                bool "PID: Use a default PID assigned to TinyUSB"
60                default y
61                help
62                    Default TinyUSB PID assigning uses values 0x4000...0x4007.
63
64            config TINYUSB_DESC_CUSTOM_PID
65                hex "PID: Custom product ID"
66                default 0x5678
67                depends on !TINYUSB_DESC_USE_DEFAULT_PID
68                help
69                    Custom Product ID.
70
71            config TINYUSB_DESC_BCD_DEVICE
72                hex "bcdDevice"
73                default 0x0100
74                help
75                    Version of the firmware of the USB device.
76
77            config TINYUSB_DESC_MANUFACTURER_STRING
78                string "Manufacturer name"
79                default "Espressif Systems"
80                help
81                    Name of the manufacturer of the USB device.
82
83            config TINYUSB_DESC_PRODUCT_STRING
84                string "Product name"
85                default "Espressif Device"
86                help
87                    Name of the USB device.
88
89            config TINYUSB_DESC_SERIAL_STRING
90                string "Serial string"
91                default "123456"
92                help
93                    Serial number of the USB device.
94
95            config TINYUSB_DESC_CDC_STRING
96                depends on TINYUSB_CDC_ENABLED
97                string "CDC Device String"
98                default "Espressif CDC Device"
99                help
100                    Name of the CDC device.
101
102            config TINYUSB_DESC_MSC_STRING
103                depends on TINYUSB_MSC_ENABLED
104                string "MSC Device String"
105                default "Espressif MSC Device"
106                help
107                    Name of the MSC device.
108
109            config TINYUSB_DESC_HID_STRING
110                depends on TINYUSB_HID_ENABLED
111                string "HID Device String"
112                default "Espressif HID Device"
113                help
114                    Name of the HID device
115        endmenu # "Descriptor configuration"
116
117        menu "Massive Storage Class (MSC)"
118            config TINYUSB_MSC_ENABLED
119                bool "Enable TinyUSB MSC feature"
120                default n
121                help
122                    Enable TinyUSB MSC feature.
123
124            config TINYUSB_MSC_BUFSIZE
125                depends on TINYUSB_MSC_ENABLED
126                int "MSC FIFO size"
127                default 512
128                help
129                    MSC FIFO size, in bytes.
130        endmenu # "Massive Storage Class"
131
132        menu "Communication Device Class (CDC)"
133            config TINYUSB_CDC_ENABLED
134                bool "Enable TinyUSB CDC feature"
135                default n
136                help
137                    Enable TinyUSB CDC feature.
138
139            config TINYUSB_CDC_RX_BUFSIZE
140                depends on TINYUSB_CDC_ENABLED
141                int "CDC FIFO size of RX channel"
142                default 64
143                help
144                    CDC FIFO size of RX channel.
145
146            config TINYUSB_CDC_TX_BUFSIZE
147                depends on TINYUSB_CDC_ENABLED
148                int "CDC FIFO size of TX channel"
149                default 64
150                help
151                    CDC FIFO size of TX channel.
152        endmenu # "Communication Device Class"
153    endif # TINYUSB
154
155endmenu # "TinyUSB Stack"
156