1# Kconfig file for CherryUSB 2menuconfig CHERRYUSB 3 bool "CherryUSB Configuration" 4 default n 5 6if CHERRYUSB 7 8 menuconfig CHERRYUSB_DEVICE 9 bool "Enable usb device mode" 10 default n 11 12 if CHERRYUSB_DEVICE 13 choice 14 prompt "Select usb device speed" 15 default CHERRYUSB_DEVICE_SPEED_FS 16 config CHERRYUSB_DEVICE_SPEED_FS 17 bool "FS" 18 config CHERRYUSB_DEVICE_SPEED_HS 19 bool "HS" 20 config CHERRYUSB_DEVICE_SPEED_AUTO 21 bool "AUTO" 22 endchoice 23 24 choice 25 prompt "Select usb device ip, and some ip need config in usb_config.h, please check" 26 default CHERRYUSB_DEVICE_CUSTOM 27 config CHERRYUSB_DEVICE_CUSTOM 28 bool "CUSTOM (Implement it yourself)" 29 config CHERRYUSB_DEVICE_FSDEV_ST 30 bool "fsdev_st" 31 config CHERRYUSB_DEVICE_FSDEV_CUSTOM 32 bool "fsdev_custom" 33 config CHERRYUSB_DEVICE_DWC2_ST 34 bool "dwc2_st" 35 config CHERRYUSB_DEVICE_DWC2_ESP 36 bool "dwc2_esp" 37 config CHERRYUSB_DEVICE_DWC2_KENDRYTE 38 bool "dwc2_kendryte" 39 config CHERRYUSB_DEVICE_DWC2_AT 40 bool "dwc2_at" 41 config CHERRYUSB_DEVICE_DWC2_HC 42 bool "dwc2_hc" 43 config CHERRYUSB_DEVICE_DWC2_NATION 44 bool "dwc2_nation" 45 config CHERRYUSB_DEVICE_DWC2_GD 46 bool "dwc2_gd" 47 config CHERRYUSB_DEVICE_DWC2_CUSTOM 48 bool "dwc2_custom" 49 config CHERRYUSB_DEVICE_MUSB_ES 50 bool "musb_es" 51 config CHERRYUSB_DEVICE_MUSB_SUNXI 52 bool "musb_sunxi" 53 config CHERRYUSB_DEVICE_MUSB_BK 54 bool "musb_bk" 55 config CHERRYUSB_DEVICE_MUSB_SIFLI 56 bool "musb_sifli" 57 config CHERRYUSB_DEVICE_MUSB_CUSTOM 58 bool "musb_custom" 59 config CHERRYUSB_DEVICE_CHIPIDEA_MCX 60 bool "chipidea_mcx" 61 config CHERRYUSB_DEVICE_CHIPIDEA_CUSTOM 62 bool "chipidea_custom" 63 config CHERRYUSB_DEVICE_KINETIS_MCX 64 bool "kinetis_mcx" 65 config CHERRYUSB_DEVICE_KINETIS_MM32 66 bool "kinetis_mm32" 67 config CHERRYUSB_DEVICE_KINETIS_CUSTOM 68 bool "kinetis_custom" 69 config CHERRYUSB_DEVICE_BL 70 bool "bouffalo" 71 config CHERRYUSB_DEVICE_HPM 72 bool "hpm" 73 config CHERRYUSB_DEVICE_AIC 74 bool "aic" 75 config CHERRYUSB_DEVICE_RP2040 76 bool "rp2040" 77 config CHERRYUSB_DEVICE_CH32 78 bool "ch32" 79 config CHERRYUSB_DEVICE_PUSB2 80 bool "pusb2" 81 endchoice 82 83 config CHERRYUSB_DEVICE_CDC_ACM 84 bool 85 prompt "Enable usb cdc acm device" 86 default n 87 88 config CHERRYUSB_DEVICE_HID 89 bool 90 prompt "Enable usb hid device" 91 default n 92 93 config CHERRYUSB_DEVICE_MSC 94 bool 95 prompt "Enable usb msc device" 96 default n 97 98 config CHERRYUSB_DEVICE_AUDIO 99 bool 100 prompt "Enable usb audio device" 101 default n 102 103 config CHERRYUSB_DEVICE_VIDEO 104 bool 105 prompt "Enable usb video device" 106 default n 107 108 config CHERRYUSB_DEVICE_CDC_RNDIS 109 bool 110 prompt "Enable usb cdc rndis device" 111 default n 112 113 config CHERRYUSB_DEVICE_CDC_ECM 114 bool 115 prompt "Enable usb cdc ecm device" 116 default n 117 118 config CHERRYUSB_DEVICE_CDC_NCM 119 bool 120 prompt "Enable usb cdc ncm device" 121 default n 122 123 config CHERRYUSB_DEVICE_MTP 124 bool 125 prompt "Enable usb mtp device, it is commercial charge" 126 default n 127 128 config CHERRYUSB_DEVICE_ADB 129 bool 130 prompt "Enable usb adb device" 131 default n 132 133 config CHERRYUSB_DEVICE_DFU 134 bool 135 prompt "Enable usb dfu device" 136 default n 137 138 config USBDEV_REQUEST_BUFFER_LEN 139 int 140 prompt "Set device control transfer max buffer size" 141 default 512 142 143 config USBDEV_MSC_MAX_BUFSIZE 144 int 145 prompt "Set usb msc device max buffer size" 146 default 512 147 help 148 Set the maximum buffer size for usb msc device, it is used to transfer data. 149 you can change it to a larger value if you need larger speed but must be a power of blocksize. 150 151 config USBDEV_RNDIS_USING_LWIP 152 bool 153 prompt "Enable usb rndis device with lwip for lan" 154 default n 155 156 config USBDEV_CDC_ECM_USING_LWIP 157 bool 158 prompt "Enable usb cdc ecm device with lwip for lan" 159 default n 160 161 choice 162 prompt "Select usb device template, please select class driver first" 163 default CHERRYUSB_DEVICE_TEMPLATE_NONE 164 config CHERRYUSB_DEVICE_TEMPLATE_NONE 165 bool 166 prompt "none (Implement it yourself)" 167 config CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM 168 bool 169 prompt "cdc_acm" 170 depends on CHERRYUSB_DEVICE_CDC_ACM 171 config CHERRYUSB_DEVICE_TEMPLATE_MSC 172 bool 173 prompt "msc_ram" 174 depends on CHERRYUSB_DEVICE_MSC 175 config CHERRYUSB_DEVICE_TEMPLATE_HID_KEYBOARD 176 bool 177 prompt "hid_keyboard" 178 depends on CHERRYUSB_DEVICE_HID 179 config CHERRYUSB_DEVICE_TEMPLATE_HID_MOUSE 180 bool 181 prompt "hid_mouse" 182 depends on CHERRYUSB_DEVICE_HID 183 config CHERRYUSB_DEVICE_TEMPLATE_HID_CUSTOM 184 bool 185 prompt "hid_custom" 186 depends on CHERRYUSB_DEVICE_HID 187 config CHERRYUSB_DEVICE_TEMPLATE_VIDEO 188 bool 189 prompt "video" 190 depends on CHERRYUSB_DEVICE_VIDEO 191 config CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V1_MIC_SPEAKER 192 bool 193 prompt "audio_v1_mic_speaker_multichan" 194 depends on CHERRYUSB_DEVICE_AUDIO 195 config CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V2_MIC_SPEAKER 196 bool 197 prompt "audio_v2_mic_speaker_multichan" 198 depends on CHERRYUSB_DEVICE_AUDIO 199 config CHERRYUSB_DEVICE_TEMPLATE_CDC_RNDIS 200 bool 201 prompt "cdc_rndis" 202 depends on CHERRYUSB_DEVICE_CDC_RNDIS 203 config CHERRYUSB_DEVICE_TEMPLATE_CDC_ECM 204 bool 205 prompt "cdc_ecm" 206 depends on CHERRYUSB_DEVICE_CDC_ECM 207 config CHERRYUSB_DEVICE_TEMPLATE_CDC_NCM 208 bool 209 prompt "cdc_ncm" 210 depends on CHERRYUSB_DEVICE_CDC_NCM 211 config CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC 212 bool 213 prompt "cdc_acm_msc" 214 depends on CHERRYUSB_DEVICE_CDC_ACM && CHERRYUSB_DEVICE_MSC 215 config CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC_HID 216 bool 217 prompt "cdc_acm_msc_hid" 218 depends on CHERRYUSB_DEVICE_CDC_ACM && CHERRYUSB_DEVICE_MSC && CHERRYUSB_DEVICE_HID 219 config CHERRYUSB_DEVICE_TEMPLATE_WINUSBV1 220 bool 221 prompt "winusbv1" 222 config CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_CDC 223 bool 224 prompt "winusbv2_cdc" 225 depends on CHERRYUSB_DEVICE_CDC_ACM 226 config CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_HID 227 bool 228 prompt "winusbv2_hid" 229 depends on CHERRYUSB_DEVICE_HID 230 endchoice 231 endif 232 233 menuconfig CHERRYUSB_HOST 234 bool "Enable usb host mode" 235 default n 236 237 if CHERRYUSB_HOST 238 choice 239 prompt "Select usb host ip, and some ip need config in usb_config.h, please check" 240 default CHERRYUSB_HOST_CUSTOM 241 config CHERRYUSB_HOST_CUSTOM 242 bool "CUSTOM (Implement it yourself)" 243 config CHERRYUSB_HOST_EHCI_BL 244 bool "ehci_bouffalo" 245 config CHERRYUSB_HOST_EHCI_HPM 246 bool "ehci_hpm" 247 config CHERRYUSB_HOST_EHCI_AIC 248 bool "ehci_aic" 249 config CHERRYUSB_HOST_EHCI_MCX 250 bool "ehci_mcx" 251 config CHERRYUSB_HOST_EHCI_NUC980 252 bool "ehci_nuc980" 253 config CHERRYUSB_HOST_EHCI_MA35D0 254 bool "ehci_ma35d0" 255 config CHERRYUSB_HOST_EHCI_CUSTOM 256 bool "ehci_custom" 257 config CHERRYUSB_HOST_DWC2_ST 258 bool "dwc2_st" 259 config CHERRYUSB_HOST_DWC2_ESP 260 bool "dwc2_esp" 261 config CHERRYUSB_HOST_DWC2_KENDRYTE 262 bool "dwc2_kendryte" 263 config CHERRYUSB_HOST_DWC2_HC 264 bool "dwc2_hc" 265 config CHERRYUSB_HOST_DWC2_NATION 266 bool "dwc2_nation" 267 config CHERRYUSB_HOST_DWC2_CUSTOM 268 bool "dwc2_custom" 269 config CHERRYUSB_HOST_MUSB_ES 270 bool "musb_es" 271 config CHERRYUSB_HOST_MUSB_SUNXI 272 bool "musb_sunxi" 273 config CHERRYUSB_HOST_MUSB_BK 274 bool "musb_bk" 275 config CHERRYUSB_HOST_MUSB_SIFLI 276 bool "musb_sifli" 277 config CHERRYUSB_HOST_MUSB_CUSTOM 278 bool "musb_custom" 279 config CHERRYUSB_HOST_PUSB2 280 bool "pusb2" 281 config CHERRYUSB_HOST_XHCI_PHYTIUM 282 bool "xhci_phytium" 283 config CHERRYUSB_HOST_XHCI_CUSTOM 284 bool "xhci" 285 config CHERRYUSB_HOST_KINETIS_MCX 286 bool "kinetis_mcx" 287 config CHERRYUSB_HOST_KINETIS_MM32 288 bool "kinetis_mm32" 289 config CHERRYUSB_HOST_KINETIS_CUSTOM 290 bool "kinetis_custom" 291 config CHERRYUSB_HOST_RP2040 292 bool "rp2040" 293 endchoice 294 295 config CHERRYUSB_HOST_CDC_ACM 296 bool 297 prompt "Enable usb cdc acm driver" 298 default n 299 300 config CHERRYUSB_HOST_HID 301 bool 302 prompt "Enable usb hid driver" 303 default n 304 305 config CHERRYUSB_HOST_MSC 306 bool 307 prompt "Enable usb msc driver" 308 default n 309 310 config CHERRYUSB_HOST_CDC_ECM 311 bool 312 prompt "Enable usb cdc ecm driver" 313 select USBHOST_PLATFORM_CDC_ECM 314 default n 315 316 config CHERRYUSB_HOST_CDC_RNDIS 317 bool 318 prompt "Enable usb rndis driver" 319 select USBHOST_PLATFORM_CDC_RNDIS 320 default n 321 322 config CHERRYUSB_HOST_CDC_NCM 323 bool 324 prompt "Enable usb cdc ncm driver" 325 select USBHOST_PLATFORM_CDC_NCM 326 default n 327 328 config CHERRYUSB_HOST_VIDEO 329 bool 330 prompt "Enable usb video driver, it is commercial charge" 331 default n 332 333 config CHERRYUSB_HOST_AUDIO 334 bool 335 prompt "Enable usb audio driver, it is commercial charge" 336 default n 337 338 config CHERRYUSB_HOST_BLUETOOTH 339 bool 340 prompt "Enable usb bluetooth driver" 341 default n 342 343 config CHERRYUSB_HOST_ASIX 344 bool 345 prompt "Enable usb asix driver" 346 select USBHOST_PLATFORM_ASIX 347 default n 348 349 config CHERRYUSB_HOST_RTL8152 350 bool 351 prompt "Enable usb rtl8152 driver" 352 select USBHOST_PLATFORM_RTL8152 353 default n 354 355 config CHERRYUSB_HOST_FTDI 356 bool 357 prompt "Enable usb ftdi driver" 358 default n 359 360 config CHERRYUSB_HOST_CH34X 361 bool 362 prompt "Enable usb ch34x driver" 363 default n 364 365 config CHERRYUSB_HOST_CP210X 366 bool 367 prompt "Enable usb cp210x driver" 368 default n 369 370 config CHERRYUSB_HOST_PL2303 371 bool 372 prompt "Enable usb pl2303 driver" 373 default n 374 375 config CHERRYUSB_HOST_AOA 376 bool 377 prompt "Enable usb aoa driver" 378 default n 379 380 config USBHOST_PLATFORM_CDC_ECM 381 bool 382 383 config USBHOST_PLATFORM_CDC_RNDIS 384 bool 385 386 config USBHOST_PLATFORM_CDC_NCM 387 bool 388 389 config USBHOST_PLATFORM_ASIX 390 bool 391 392 config USBHOST_PLATFORM_RTL8152 393 bool 394 395 config USBHOST_PSC_PRIO 396 int 397 prompt "Set hubport change thread priority, 0 is the max priority" 398 default 0 399 400 config USBHOST_PSC_STACKSIZE 401 int 402 prompt "Set hubport change thread stacksize" 403 default 4096 404 405 config USBHOST_REQUEST_BUFFER_LEN 406 int 407 prompt "Set host control transfer max buffer size" 408 default 512 409 410 config USBHOST_CONTROL_TRANSFER_TIMEOUT 411 int 412 prompt "Set host control transfer timeout, unit is ms" 413 default 500 414 415 menu "Select USB host template, please select class driver first" 416 config TEST_USBH_CDC_ACM 417 int 418 prompt "demo for test cdc acm" 419 default 0 420 depends on CHERRYUSB_HOST_CDC_ACM 421 config TEST_USBH_HID 422 int 423 prompt "demo for test hid" 424 default 0 425 depends on CHERRYUSB_HOST_HID 426 config TEST_USBH_MSC 427 int 428 prompt "demo for test msc" 429 default 0 430 depends on CHERRYUSB_HOST_MSC 431 endmenu 432 endif 433endif 434