1# Kconfig file for package CherryUSB 2menuconfig RT_USING_CHERRYUSB 3 bool "Using USB with CherryUSB" 4 default n 5 6if RT_USING_CHERRYUSB 7 8 menuconfig RT_CHERRYUSB_DEVICE 9 bool "Enable usb device mode" 10 default n 11 12 if RT_CHERRYUSB_DEVICE 13 choice 14 prompt "Select usb device speed" 15 default RT_CHERRYUSB_DEVICE_SPEED_FS 16 config RT_CHERRYUSB_DEVICE_SPEED_FS 17 bool "FS" 18 config RT_CHERRYUSB_DEVICE_SPEED_HS 19 bool "HS" 20 config RT_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 RT_CHERRYUSB_DEVICE_CUSTOM 27 config RT_CHERRYUSB_DEVICE_CUSTOM 28 bool "CUSTOM (Implement it yourself)" 29 config RT_CHERRYUSB_DEVICE_FSDEV_ST 30 bool "fsdev_st" 31 config RT_CHERRYUSB_DEVICE_FSDEV_CUSTOM 32 bool "fsdev_custom" 33 config RT_CHERRYUSB_DEVICE_DWC2_ST 34 bool "dwc2_st" 35 config RT_CHERRYUSB_DEVICE_DWC2_ESP 36 bool "dwc2_esp" 37 config RT_CHERRYUSB_DEVICE_DWC2_KENDRYTE 38 bool "dwc2_kendryte" 39 config RT_CHERRYUSB_DEVICE_DWC2_AT 40 bool "dwc2_at" 41 config RT_CHERRYUSB_DEVICE_DWC2_HC 42 bool "dwc2_hc" 43 config RT_CHERRYUSB_DEVICE_DWC2_NATION 44 bool "dwc2_nation" 45 config RT_CHERRYUSB_DEVICE_DWC2_GD 46 bool "dwc2_gd" 47 config RT_CHERRYUSB_DEVICE_DWC2_CUSTOM 48 bool "dwc2_custom" 49 config RT_CHERRYUSB_DEVICE_MUSB_ES 50 bool "musb_es" 51 config RT_CHERRYUSB_DEVICE_MUSB_SUNXI 52 bool "musb_sunxi" 53 config RT_CHERRYUSB_DEVICE_MUSB_BK 54 bool "musb_bk" 55 config RT_CHERRYUSB_DEVICE_MUSB_SIFLI 56 bool "musb_sifli" 57 config RT_CHERRYUSB_DEVICE_MUSB_CUSTOM 58 bool "musb_custom" 59 config RT_CHERRYUSB_DEVICE_CHIPIDEA_MCX 60 bool "chipidea_mcx" 61 config RT_CHERRYUSB_DEVICE_CHIPIDEA_CUSTOM 62 bool "chipidea_custom" 63 config RT_CHERRYUSB_DEVICE_KINETIS_MCX 64 bool "kinetis_mcx" 65 config RT_CHERRYUSB_DEVICE_KINETIS_MM32 66 bool "kinetis_mm32" 67 config RT_CHERRYUSB_DEVICE_KINETIS_CUSTOM 68 bool "kinetis_custom" 69 config RT_CHERRYUSB_DEVICE_BL 70 bool "bouffalo" 71 config RT_CHERRYUSB_DEVICE_HPM 72 bool "hpm" 73 config RT_CHERRYUSB_DEVICE_AIC 74 bool "aic" 75 config RT_CHERRYUSB_DEVICE_RP2040 76 bool "rp2040" 77 config RT_CHERRYUSB_DEVICE_CH32 78 bool "ch32" 79 config RT_CHERRYUSB_DEVICE_PUSB2 80 bool "pusb2" 81 config RT_CHERRYUSB_DEVICE_NRF5X 82 bool "nrf5x" 83 endchoice 84 85 config RT_CHERRYUSB_DEVICE_CDC_ACM 86 bool 87 prompt "Enable usb cdc acm device" 88 default n 89 90 config RT_CHERRYUSB_DEVICE_HID 91 bool 92 prompt "Enable usb hid device" 93 default n 94 95 config RT_CHERRYUSB_DEVICE_MSC 96 bool 97 prompt "Enable usb msc device" 98 default n 99 100 config RT_CHERRYUSB_DEVICE_AUDIO 101 bool 102 prompt "Enable usb audio device" 103 default n 104 105 config RT_CHERRYUSB_DEVICE_VIDEO 106 bool 107 prompt "Enable usb video device" 108 default n 109 110 config RT_CHERRYUSB_DEVICE_CDC_RNDIS 111 bool 112 prompt "Enable usb cdc rndis device" 113 default n 114 115 config RT_CHERRYUSB_DEVICE_CDC_ECM 116 bool 117 prompt "Enable usb cdc ecm device" 118 default n 119 120 config RT_CHERRYUSB_DEVICE_CDC_NCM 121 bool 122 prompt "Enable usb cdc ncm device" 123 default n 124 125 config RT_CHERRYUSB_DEVICE_MTP 126 bool 127 prompt "Enable usb mtp device, it is commercial charge" 128 default n 129 130 config RT_CHERRYUSB_DEVICE_ADB 131 bool 132 prompt "Enable usb adb device" 133 default n 134 135 config RT_CHERRYUSB_DEVICE_DFU 136 bool 137 prompt "Enable usb dfu device" 138 default n 139 140 config RT_CHERRYUSB_DEVICE_CDC_ACM_CHARDEV 141 bool 142 prompt "Enable chardev for cdc acm device" 143 default n 144 145 config CONFIG_USBDEV_REQUEST_BUFFER_LEN 146 int 147 prompt "Set device control transfer max buffer size" 148 default 512 149 150 config CONFIG_USBDEV_MSC_MAX_BUFSIZE 151 int 152 prompt "Set usb msc device max buffer size" 153 default 512 154 help 155 Set the maximum buffer size for usb msc device, it is used to transfer data. 156 you can change it to a larger value if you need larger speed but must be a power of blocksize. 157 158 config CONFIG_USBDEV_RNDIS_USING_LWIP 159 bool 160 prompt "Enable usb rndis device with lwip for lan" 161 default n 162 163 config CONFIG_USBDEV_CDC_ECM_USING_LWIP 164 bool 165 prompt "Enable usb cdc ecm device with lwip for lan" 166 default n 167 168 choice 169 prompt "Select usb device template, please select class driver first" 170 default RT_CHERRYUSB_DEVICE_TEMPLATE_NONE 171 config RT_CHERRYUSB_DEVICE_TEMPLATE_NONE 172 bool 173 prompt "none (Implement it yourself)" 174 config RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM 175 bool 176 prompt "cdc_acm" 177 depends on RT_CHERRYUSB_DEVICE_CDC_ACM 178 config RT_CHERRYUSB_DEVICE_TEMPLATE_MSC 179 bool 180 prompt "msc_ram" 181 depends on RT_CHERRYUSB_DEVICE_MSC 182 config RT_CHERRYUSB_DEVICE_TEMPLATE_MSC_BLKDEV 183 bool 184 prompt "msc_blkdev" 185 depends on RT_CHERRYUSB_DEVICE_MSC 186 config RT_CHERRYUSB_DEVICE_TEMPLATE_HID_KEYBOARD 187 bool 188 prompt "hid_keyboard" 189 depends on RT_CHERRYUSB_DEVICE_HID 190 config RT_CHERRYUSB_DEVICE_TEMPLATE_HID_MOUSE 191 bool 192 prompt "hid_mouse" 193 depends on RT_CHERRYUSB_DEVICE_HID 194 config RT_CHERRYUSB_DEVICE_TEMPLATE_HID_CUSTOM 195 bool 196 prompt "hid_custom" 197 depends on RT_CHERRYUSB_DEVICE_HID 198 config RT_CHERRYUSB_DEVICE_TEMPLATE_VIDEO 199 bool 200 prompt "video" 201 depends on RT_CHERRYUSB_DEVICE_VIDEO 202 config RT_CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V1_MIC_SPEAKER 203 bool 204 prompt "audio_v1_mic_speaker_multichan" 205 depends on RT_CHERRYUSB_DEVICE_AUDIO 206 config RT_CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V2_MIC_SPEAKER 207 bool 208 prompt "audio_v2_mic_speaker_multichan" 209 depends on RT_CHERRYUSB_DEVICE_AUDIO 210 config RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_RNDIS 211 bool 212 prompt "cdc_rndis" 213 depends on RT_CHERRYUSB_DEVICE_CDC_RNDIS 214 config RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ECM 215 bool 216 prompt "cdc_ecm" 217 depends on RT_CHERRYUSB_DEVICE_CDC_ECM 218 config RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_NCM 219 bool 220 prompt "cdc_ncm" 221 depends on RT_CHERRYUSB_DEVICE_CDC_NCM 222 config RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC 223 bool 224 prompt "cdc_acm_msc" 225 depends on RT_CHERRYUSB_DEVICE_CDC_ACM && RT_CHERRYUSB_DEVICE_MSC 226 config RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC_HID 227 bool 228 prompt "cdc_acm_msc_hid" 229 depends on RT_CHERRYUSB_DEVICE_CDC_ACM && RT_CHERRYUSB_DEVICE_MSC && RT_CHERRYUSB_DEVICE_HID 230 config RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV1 231 bool 232 prompt "winusbv1" 233 config RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_CDC 234 bool 235 prompt "winusbv2_cdc" 236 depends on RT_CHERRYUSB_DEVICE_CDC_ACM 237 config RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_HID 238 bool 239 prompt "winusbv2_hid" 240 depends on RT_CHERRYUSB_DEVICE_HID 241 config RT_CHERRYUSB_DEVICE_TEMPLATE_ADB 242 bool 243 prompt "adb" 244 depends on RT_CHERRYUSB_DEVICE_ADB 245 config RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_CHARDEV 246 bool 247 prompt "cdc_acm_chardev" 248 depends on RT_CHERRYUSB_DEVICE_CDC_ACM_CHARDEV 249 endchoice 250 251 config CONFIG_USBDEV_MSC_BLOCK_DEV_NAME 252 string "usb device msc block device name" 253 depends on RT_CHERRYUSB_DEVICE_TEMPLATE_MSC_BLKDEV 254 default "sd0" 255 256 endif 257 258 menuconfig RT_CHERRYUSB_HOST 259 bool "Enable usb host mode" 260 default n 261 262 if RT_CHERRYUSB_HOST 263 choice 264 prompt "Select usb host ip, and some ip need config in usb_config.h, please check" 265 default RT_CHERRYUSB_HOST_CUSTOM 266 config RT_CHERRYUSB_HOST_CUSTOM 267 bool "CUSTOM (Implement it yourself)" 268 config RT_CHERRYUSB_HOST_EHCI_BL 269 bool "ehci_bouffalo" 270 config RT_CHERRYUSB_HOST_EHCI_HPM 271 bool "ehci_hpm" 272 config RT_CHERRYUSB_HOST_EHCI_AIC 273 bool "ehci_aic" 274 config RT_CHERRYUSB_HOST_EHCI_MCX 275 bool "ehci_mcx" 276 config RT_CHERRYUSB_HOST_EHCI_NUC980 277 bool "ehci_nuc980" 278 config RT_CHERRYUSB_HOST_EHCI_MA35D0 279 bool "ehci_ma35d0" 280 config RT_CHERRYUSB_HOST_EHCI_CUSTOM 281 bool "ehci_custom" 282 config RT_CHERRYUSB_HOST_DWC2_ST 283 bool "dwc2_st" 284 config RT_CHERRYUSB_HOST_DWC2_ESP 285 bool "dwc2_esp" 286 config RT_CHERRYUSB_HOST_DWC2_KENDRYTE 287 bool "dwc2_kendryte" 288 config RT_CHERRYUSB_HOST_DWC2_HC 289 bool "dwc2_hc" 290 config RT_CHERRYUSB_HOST_DWC2_NATION 291 bool "dwc2_nation" 292 config RT_CHERRYUSB_HOST_DWC2_CUSTOM 293 bool "dwc2_custom" 294 config RT_CHERRYUSB_HOST_MUSB_ES 295 bool "musb_es" 296 config RT_CHERRYUSB_HOST_MUSB_SUNXI 297 bool "musb_sunxi" 298 config RT_CHERRYUSB_HOST_MUSB_BK 299 bool "musb_bk" 300 config RT_CHERRYUSB_HOST_MUSB_SIFLI 301 bool "musb_sifli" 302 config RT_CHERRYUSB_HOST_MUSB_CUSTOM 303 bool "musb_custom" 304 config RT_CHERRYUSB_HOST_PUSB2 305 bool "pusb2" 306 config RT_CHERRYUSB_HOST_XHCI 307 bool "xhci" 308 config RT_CHERRYUSB_HOST_RP2040 309 bool "rp2040" 310 endchoice 311 312 config RT_CHERRYUSB_HOST_CDC_ACM 313 bool 314 prompt "Enable usb cdc acm driver" 315 default n 316 317 config RT_CHERRYUSB_HOST_HID 318 bool 319 prompt "Enable usb hid driver" 320 default n 321 322 config RT_CHERRYUSB_HOST_MSC 323 bool 324 prompt "Enable usb msc driver" 325 default n 326 select RT_USING_DFS 327 select RT_USING_DFS_ELMFAT 328 329 config RT_CHERRYUSB_HOST_CDC_ECM 330 bool 331 prompt "Enable usb cdc ecm driver" 332 select RT_USING_LWIP 333 select CONFIG_USBHOST_PLATFORM_CDC_ECM 334 default n 335 336 config RT_CHERRYUSB_HOST_CDC_RNDIS 337 bool 338 prompt "Enable usb rndis driver" 339 select RT_USING_LWIP 340 select CONFIG_USBHOST_PLATFORM_CDC_RNDIS 341 default n 342 343 config RT_CHERRYUSB_HOST_CDC_NCM 344 bool 345 prompt "Enable usb cdc ncm driver" 346 select RT_USING_LWIP 347 select CONFIG_USBHOST_PLATFORM_CDC_NCM 348 default n 349 350 config RT_CHERRYUSB_HOST_VIDEO 351 bool 352 prompt "Enable usb video driver, it is commercial charge" 353 default n 354 355 config RT_CHERRYUSB_HOST_AUDIO 356 bool 357 prompt "Enable usb audio driver, it is commercial charge" 358 default n 359 360 config RT_CHERRYUSB_HOST_BLUETOOTH 361 bool 362 prompt "Enable usb bluetooth driver" 363 default n 364 365 config RT_CHERRYUSB_HOST_ASIX 366 bool 367 prompt "Enable usb asix driver" 368 select RT_USING_LWIP 369 select CONFIG_USBHOST_PLATFORM_ASIX 370 default n 371 372 config RT_CHERRYUSB_HOST_RTL8152 373 bool 374 prompt "Enable usb rtl8152 driver" 375 select RT_USING_LWIP 376 select CONFIG_USBHOST_PLATFORM_RTL8152 377 default n 378 379 config RT_CHERRYUSB_HOST_FTDI 380 bool 381 prompt "Enable usb ftdi driver" 382 default n 383 384 config RT_CHERRYUSB_HOST_CH34X 385 bool 386 prompt "Enable usb ch34x driver" 387 default n 388 389 config RT_CHERRYUSB_HOST_CP210X 390 bool 391 prompt "Enable usb cp210x driver" 392 default n 393 394 config RT_CHERRYUSB_HOST_PL2303 395 bool 396 prompt "Enable usb pl2303 driver" 397 default n 398 399 config CONFIG_USBHOST_PLATFORM_CDC_ECM 400 bool 401 402 config CONFIG_USBHOST_PLATFORM_CDC_RNDIS 403 bool 404 405 config CONFIG_USBHOST_PLATFORM_CDC_NCM 406 bool 407 408 config CONFIG_USBHOST_PLATFORM_ASIX 409 bool 410 411 config CONFIG_USBHOST_PLATFORM_RTL8152 412 bool 413 414 config CONFIG_USBHOST_PSC_PRIO 415 int 416 prompt "Set hubport change thread priority, 0 is the max priority" 417 default 0 418 419 config CONFIG_USBHOST_PSC_STACKSIZE 420 int 421 prompt "Set hubport change thread stacksize" 422 default 4096 423 424 config CONFIG_USBHOST_REQUEST_BUFFER_LEN 425 int 426 prompt "Set host control transfer max buffer size" 427 default 512 428 429 config CONFIG_USBHOST_CONTROL_TRANSFER_TIMEOUT 430 int 431 prompt "Set host control transfer timeout, unit is ms" 432 default 500 433 434 config RT_LWIP_PBUF_POOL_BUFSIZE 435 int "The size of each pbuf in the pbuf pool" 436 range 1500 2000 437 default 1600 438 439 config CONFIG_USB_DFS_MOUNT_POINT 440 string "usb host dfs mount point" 441 depends on RT_CHERRYUSB_HOST_MSC 442 default "/" 443 444 menu "Select USB host template, please select class driver first" 445 config CONFIG_TEST_USBH_CDC_ACM 446 int 447 prompt "demo for test cdc acm, cannot enable this demo, we have used serial framework instead" 448 default 0 449 depends on RT_CHERRYUSB_HOST_CDC_ACM 450 config CONFIG_TEST_USBH_HID 451 int 452 prompt "demo for test hid" 453 default 0 454 depends on RT_CHERRYUSB_HOST_HID 455 config CONFIG_TEST_USBH_MSC 456 int 457 prompt "demo for test msc, cannot enable this demo, we have used dfs instead" 458 default 0 459 depends on RT_CHERRYUSB_HOST_MSC 460 endmenu 461 endif 462endif 463