Kconfig.rtt 15 KB

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