cherryusb.cmake 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  1. #
  2. # Copyright (c) 2024, sakumisu
  3. #
  4. # SPDX-License-Identifier: Apache-2.0
  5. #
  6. # cmake-format: off
  7. # set(CONFIG_CHERRYUSB_DEVICE 1)
  8. # set(CONFIG_CHERRYUSB_DEVICE_CDC 1)
  9. # set(CONFIG_CHERRYUSB_DEVICE_HID 1)
  10. # set(CONFIG_CHERRYUSB_DEVICE_MSC 1)
  11. # set(CONFIG_CHERRYUSB_DEVICE_DCD "dwc2_st")
  12. # set(CONFIG_CHERRYUSB_HOST 1)
  13. # set(CONFIG_CHERRYUSB_HOST_CDC_ACM 1)
  14. # set(CONFIG_CHERRYUSB_HOST_CDC_ECM 1)
  15. # set(CONFIG_CHERRYUSB_HOST_CDC_NCM 1)
  16. # set(CONFIG_CHERRYUSB_HOST_HID 1)
  17. # set(CONFIG_CHERRYUSB_HOST_MSC 1)
  18. # set(CONFIG_CHERRYUSB_HOST_VIDEO 1)
  19. # set(CONFIG_CHERRYUSB_HOST_AUDIO 1)
  20. # set(CONFIG_CHERRYUSB_HOST_CDC_RNDIS 1)
  21. # set(CONFIG_CHERRYUSB_HOST_BLUETOOTH 1)
  22. # set(CONFIG_CHERRYUSB_HOST_ASIX 1)
  23. # set(CONFIG_CHERRYUSB_HOST_RTL8152 1)
  24. # set(CONFIG_CHERRYUSB_OSAL "freertos")
  25. # set(CONFIG_CHERRYUSB_HOST_HCD "ehci_xxx")
  26. # cmake-format: on
  27. list(
  28. APPEND
  29. cherryusb_incs
  30. ${CMAKE_CURRENT_LIST_DIR}
  31. ${CMAKE_CURRENT_LIST_DIR}/common
  32. ${CMAKE_CURRENT_LIST_DIR}/core
  33. ${CMAKE_CURRENT_LIST_DIR}/class/hub
  34. ${CMAKE_CURRENT_LIST_DIR}/class/cdc
  35. ${CMAKE_CURRENT_LIST_DIR}/class/hid
  36. ${CMAKE_CURRENT_LIST_DIR}/class/msc
  37. ${CMAKE_CURRENT_LIST_DIR}/class/audio
  38. ${CMAKE_CURRENT_LIST_DIR}/class/video
  39. ${CMAKE_CURRENT_LIST_DIR}/class/wireless
  40. ${CMAKE_CURRENT_LIST_DIR}/class/midi
  41. ${CMAKE_CURRENT_LIST_DIR}/class/adb
  42. ${CMAKE_CURRENT_LIST_DIR}/class/dfu
  43. ${CMAKE_CURRENT_LIST_DIR}/class/vendor/net
  44. ${CMAKE_CURRENT_LIST_DIR}/class/vendor/serial
  45. ${CMAKE_CURRENT_LIST_DIR}/class/vendor/wifi
  46. ${CMAKE_CURRENT_LIST_DIR}/class/aoa
  47. )
  48. if(CONFIG_CHERRYUSB_DEVICE)
  49. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/core/usbd_core.c)
  50. if(CONFIG_CHERRYUSB_DEVICE_CDC_ACM)
  51. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbd_cdc_acm.c)
  52. endif()
  53. if(CONFIG_CHERRYUSB_DEVICE_HID)
  54. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/hid/usbd_hid.c)
  55. endif()
  56. if(CONFIG_CHERRYUSB_DEVICE_MSC)
  57. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/msc/usbd_msc.c)
  58. endif()
  59. if(CONFIG_CHERRYUSB_DEVICE_AUDIO)
  60. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/audio/usbd_audio.c)
  61. endif()
  62. if(CONFIG_CHERRYUSB_DEVICE_VIDEO)
  63. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/video/usbd_video.c)
  64. endif()
  65. if(CONFIG_CHERRYUSB_DEVICE_CDC_ECM)
  66. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbd_cdc_ecm.c)
  67. endif()
  68. if(CONFIG_CHERRYUSB_DEVICE_CDC_NCM)
  69. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbd_cdc_ncm.c)
  70. endif()
  71. if(CONFIG_CHERRYUSB_DEVICE_CDC_RNDIS)
  72. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/wireless/usbd_rndis.c)
  73. endif()
  74. if(CONFIG_CHERRYUSB_DEVICE_DFU)
  75. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/dfu/usbd_dfu.c)
  76. endif()
  77. if(CONFIG_CHERRYUSB_DEVICE_ADB)
  78. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/adb/usbd_adb.c)
  79. endif()
  80. if(DEFINED CONFIG_CHERRYUSB_DEVICE_DCD)
  81. if("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "fsdev")
  82. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/fsdev/usb_dc_fsdev.c)
  83. elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_st")
  84. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
  85. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_st.c)
  86. elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_esp")
  87. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
  88. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_esp.c)
  89. elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_at")
  90. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
  91. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_at.c)
  92. elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_gd")
  93. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
  94. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_gd.c)
  95. elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_hc")
  96. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
  97. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_hc.c)
  98. elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "musb_es")
  99. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_dc_musb.c)
  100. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_es.c)
  101. elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "musb_sunxi")
  102. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_dc_musb.c)
  103. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_sunxi.c)
  104. elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "musb_bk")
  105. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_dc_musb.c)
  106. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_bk.c)
  107. elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "chipidea_mcx")
  108. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/chipidea/usb_dc_chipidea.c)
  109. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/chipidea/usb_glue_mcx.c)
  110. elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "kinetis_mcx")
  111. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/kinetis/usb_dc_kinetis.c)
  112. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/kinetis/usb_glue_mcx.c)
  113. elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "hpm")
  114. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/hpm/usb_dc_hpm.c)
  115. elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "bl")
  116. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/bouffalolab/usb_dc_bl.c)
  117. elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "aic")
  118. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/aic/usb_dc_aic.c)
  119. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/aic/usb_dc_aic_ll.c)
  120. elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "rp2040")
  121. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/rp2040/usb_dc_rp2040.c)
  122. endif()
  123. endif()
  124. endif()
  125. if(CONFIG_CHERRYUSB_HOST)
  126. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/core/usbh_core.c
  127. ${CMAKE_CURRENT_LIST_DIR}/class/hub/usbh_hub.c
  128. )
  129. if(CONFIG_CHERRYUSB_HOST_CDC_ACM)
  130. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbh_cdc_acm.c)
  131. endif()
  132. if(CONFIG_CHERRYUSB_HOST_CDC_ECM)
  133. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbh_cdc_ecm.c)
  134. endif()
  135. if(CONFIG_CHERRYUSB_HOST_CDC_RNDIS)
  136. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/wireless/usbh_rndis.c)
  137. endif()
  138. if(CONFIG_CHERRYUSB_HOST_CDC_NCM)
  139. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbh_cdc_ncm.c)
  140. endif()
  141. if(CONFIG_CHERRYUSB_HOST_HID)
  142. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/hid/usbh_hid.c)
  143. endif()
  144. if(CONFIG_CHERRYUSB_HOST_MSC)
  145. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/msc/usbh_msc.c)
  146. if(CONFIG_CHERRYUSB_HOST_MSC_FATFS)
  147. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/third_party/fatfs-0.14/source/port/fatfs_usbh.c)
  148. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/third_party/fatfs-0.14/source/diskio.c)
  149. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/third_party/fatfs-0.14/source/ff.c)
  150. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/third_party/fatfs-0.14/source/ffsystem.c)
  151. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/third_party/fatfs-0.14/source/ffunicode.c)
  152. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/third_party/fatfs-0.14/source)
  153. endif()
  154. endif()
  155. if(CONFIG_CHERRYUSB_HOST_VIDEO)
  156. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/video/usbh_video.c)
  157. endif()
  158. if(CONFIG_CHERRYUSB_HOST_AUDIO)
  159. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/audio/usbh_audio.c)
  160. endif()
  161. if(CONFIG_CHERRYUSB_HOST_BLUETOOTH)
  162. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/wireless/usbh_bluetooth.c)
  163. set(BLUETOOTH_PATH ${CMAKE_CURRENT_LIST_DIR}/third_party/zephyr_bluetooth-2.7.5)
  164. list(
  165. APPEND
  166. cherryusb_srcs
  167. ${BLUETOOTH_PATH}/ble_hci_usbh.c
  168. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/beacon/src/main.c
  169. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central/src/main.c
  170. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central_hr/src/main.c
  171. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central_ht/src/main.c
  172. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central_multilink/src/main.c
  173. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central_multilink/src/central_multilink.c
  174. # ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/handsfree/src/main.c
  175. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/ibeacon/src/main.c
  176. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral/src/main.c
  177. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral/src/cts.c
  178. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_csc/src/main.c
  179. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_dis/src/main.c
  180. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_esp/src/main.c
  181. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_hids/src/main.c
  182. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_hids/src/hog.c
  183. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_hr/src/main.c
  184. # ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_ht/src/main.c
  185. # ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_ht/src/hts.c
  186. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_identity/src/main.c
  187. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_identity/src/peripheral_identity.c
  188. # ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_ots/src/main.c
  189. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_sc_only/src/main.c
  190. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/scan_adv/src/main.c
  191. )
  192. include(${BLUETOOTH_PATH}/zephyr_bluetooth/zephyr_bluetooth.cmake)
  193. list(APPEND cherryusb_srcs ${zephyr_bluetooth_srcs})
  194. list(APPEND cherryusb_incs ${zephyr_bluetooth_incs})
  195. endif()
  196. if(CONFIG_CHERRYUSB_HOST_ASIX)
  197. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/vendor/net/usbh_asix.c)
  198. endif()
  199. if(CONFIG_CHERRYUSB_HOST_RTL8152)
  200. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/vendor/net/usbh_rtl8152.c)
  201. endif()
  202. if(CONFIG_CHERRYUSB_HOST_CH34X)
  203. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/vendor/serial/usbh_ch34x.c)
  204. endif()
  205. if(CONFIG_CHERRYUSB_HOST_CP210X)
  206. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/vendor/serial/usbh_cp210x.c)
  207. endif()
  208. if(CONFIG_CHERRYUSB_HOST_FTDI)
  209. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/vendor/serial/usbh_ftdi.c)
  210. endif()
  211. if(CONFIG_CHERRYUSB_HOST_PL2303)
  212. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/vendor/serial/usbh_pl2303.c)
  213. endif()
  214. if(CONFIG_CHERRYUSB_HOST_BL616)
  215. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/vendor/wifi/usbh_bl616.c)
  216. endif()
  217. if(CONFIG_CHERRYUSB_HOST_AOA)
  218. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/aoa/usbh_aoa.c)
  219. endif()
  220. if(DEFINED CONFIG_CHERRYUSB_HOST_HCD)
  221. if("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "ehci_bouffalo")
  222. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci.c)
  223. # list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci_iso.c)
  224. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_glue_bouffalo.c)
  225. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/ehci)
  226. elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "ehci_hpm")
  227. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci.c)
  228. # list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci_iso.c)
  229. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_glue_hpm.c)
  230. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/ehci)
  231. elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "ehci_aic")
  232. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci.c)
  233. # list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci_iso.c)
  234. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_glue_aic.c)
  235. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/ehci)
  236. elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "ehci_mcx")
  237. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci.c)
  238. # list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci_iso.c)
  239. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_glue_mcx.c)
  240. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/ehci)
  241. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/chipidea)
  242. elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "ehci_nuvoton")
  243. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci.c)
  244. # list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci_iso.c)
  245. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_glue_nuvoton.c)
  246. elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "dwc2_st")
  247. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_hc_dwc2.c)
  248. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_st.c)
  249. elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "dwc2_esp")
  250. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_hc_dwc2.c)
  251. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_esp.c)
  252. elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "dwc2_hc")
  253. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_hc_dwc2.c)
  254. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_hc.c)
  255. elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "musb_es")
  256. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_hc_musb.c)
  257. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_es.c)
  258. elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "musb_sunxi")
  259. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_hc_musb.c)
  260. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_sunxi.c)
  261. elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "musb_bk")
  262. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_hc_musb.c)
  263. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_bk.c)
  264. elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "kinetis_mcx")
  265. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/kinetis/usb_hc_kinetis.c)
  266. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/kinetis/usb_glue_mcx.c)
  267. elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "rp2040")
  268. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/rp2040/usb_hc_rp2040.c)
  269. endif()
  270. endif()
  271. endif()
  272. if(DEFINED CONFIG_CHERRYUSB_OSAL)
  273. if("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "freertos")
  274. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/osal/usb_osal_freertos.c)
  275. elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "rtthread")
  276. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/osal/usb_osal_rtthread.c)
  277. elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "yoc")
  278. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/osal/usb_osal_yoc.c)
  279. elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "idf")
  280. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/osal/idf)
  281. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/osal/idf/usb_osal_idf.c)
  282. elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "threadx")
  283. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/osal/usb_osal_threadx.c)
  284. endif()
  285. endif()
  286. if(CONFIG_CHERRYRB)
  287. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/third_party/cherryrb/chry_ringbuffer.c)
  288. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/third_party/cherryrb)
  289. endif()
  290. if(CONFIG_CHERRYMP)
  291. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/third_party/cherrymp/chry_mempool.c)
  292. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/third_party/cherrymp)
  293. if("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "freertos")
  294. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/third_party/cherrymp/chry_mempool_osal_freertos.c)
  295. elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "rtthread")
  296. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/third_party/cherrymp/chry_mempool_osal_rtthread.c)
  297. endif()
  298. endif()