cherryusb.cmake 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  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_AUDIO 1)
  12. # set(CONFIG_CHERRYUSB_DEVICE_VIDEO 1)
  13. # set(CONFIG_CHERRYUSB_DEVICE_DWC2_ST 1)
  14. # set(CONFIG_CHERRYUSB_HOST 1)
  15. # set(CONFIG_CHERRYUSB_HOST_CDC_ACM 1)
  16. # set(CONFIG_CHERRYUSB_HOST_CDC_ECM 1)
  17. # set(CONFIG_CHERRYUSB_HOST_CDC_NCM 1)
  18. # set(CONFIG_CHERRYUSB_HOST_HID 1)
  19. # set(CONFIG_CHERRYUSB_HOST_MSC 1)
  20. # set(CONFIG_CHERRYUSB_HOST_VIDEO 1)
  21. # set(CONFIG_CHERRYUSB_HOST_AUDIO 1)
  22. # set(CONFIG_CHERRYUSB_HOST_CDC_RNDIS 1)
  23. # set(CONFIG_CHERRYUSB_HOST_BLUETOOTH 1)
  24. # set(CONFIG_CHERRYUSB_HOST_ASIX 1)
  25. # set(CONFIG_CHERRYUSB_HOST_RTL8152 1)
  26. # set(CONFIG_CHERRYUSB_HOST_DWC2_ST 1)
  27. # set(CONFIG_CHERRYUSB_HOST_XBOX 1)
  28. # set(CONFIG_CHERRYUSB_OSAL "freertos")
  29. # cmake-format: on
  30. list(
  31. APPEND
  32. cherryusb_incs
  33. ${CMAKE_CURRENT_LIST_DIR}
  34. ${CMAKE_CURRENT_LIST_DIR}/common
  35. ${CMAKE_CURRENT_LIST_DIR}/core
  36. ${CMAKE_CURRENT_LIST_DIR}/class/hub
  37. ${CMAKE_CURRENT_LIST_DIR}/class/cdc
  38. ${CMAKE_CURRENT_LIST_DIR}/class/hid
  39. ${CMAKE_CURRENT_LIST_DIR}/class/msc
  40. ${CMAKE_CURRENT_LIST_DIR}/class/audio
  41. ${CMAKE_CURRENT_LIST_DIR}/class/video
  42. ${CMAKE_CURRENT_LIST_DIR}/class/wireless
  43. ${CMAKE_CURRENT_LIST_DIR}/class/midi
  44. ${CMAKE_CURRENT_LIST_DIR}/class/adb
  45. ${CMAKE_CURRENT_LIST_DIR}/class/dfu
  46. ${CMAKE_CURRENT_LIST_DIR}/class/serial
  47. ${CMAKE_CURRENT_LIST_DIR}/class/vendor/net
  48. ${CMAKE_CURRENT_LIST_DIR}/class/vendor/wifi
  49. ${CMAKE_CURRENT_LIST_DIR}/class/vendor/display
  50. ${CMAKE_CURRENT_LIST_DIR}/class/vendor/xbox
  51. ${CMAKE_CURRENT_LIST_DIR}/class/aoa
  52. ${CMAKE_CURRENT_LIST_DIR}/class/gamepad
  53. )
  54. if(CONFIG_CHERRYUSB_DEVICE)
  55. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/core/usbd_core.c)
  56. if(CONFIG_CHERRYUSB_DEVICE_CDC_ACM)
  57. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbd_cdc_acm.c)
  58. endif()
  59. if(CONFIG_CHERRYUSB_DEVICE_HID)
  60. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/hid/usbd_hid.c)
  61. endif()
  62. if(CONFIG_CHERRYUSB_DEVICE_MSC)
  63. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/msc/usbd_msc.c)
  64. endif()
  65. if(CONFIG_CHERRYUSB_DEVICE_AUDIO)
  66. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/audio/usbd_audio.c)
  67. endif()
  68. if(CONFIG_CHERRYUSB_DEVICE_VIDEO)
  69. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/video/usbd_video.c)
  70. endif()
  71. if(CONFIG_CHERRYUSB_DEVICE_CDC_ECM)
  72. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbd_cdc_ecm.c)
  73. endif()
  74. if(CONFIG_CHERRYUSB_DEVICE_CDC_NCM)
  75. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbd_cdc_ncm.c)
  76. endif()
  77. if(CONFIG_CHERRYUSB_DEVICE_CDC_RNDIS)
  78. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/wireless/usbd_rndis.c)
  79. endif()
  80. if(CONFIG_CHERRYUSB_DEVICE_DFU)
  81. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/dfu/usbd_dfu.c)
  82. endif()
  83. if(CONFIG_CHERRYUSB_DEVICE_ADB)
  84. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/adb/usbd_adb.c)
  85. endif()
  86. if(CONFIG_CHERRYUSB_DEVICE_GAMEPAD)
  87. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/gamepad/usbd_gamepad.c)
  88. endif()
  89. if(CONFIG_CHERRYUSB_DEVICE_DISPLAY)
  90. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/vendor/display/usbd_display.c)
  91. endif()
  92. if(CONFIG_CHERRYUSB_DEVICE_FSDEV_ST)
  93. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/fsdev/usb_dc_fsdev.c)
  94. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/fsdev/usb_glue_st.c)
  95. elseif(CONFIG_CHERRYUSB_DEVICE_FSDEV_CUSTOM)
  96. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/fsdev/usb_dc_fsdev.c)
  97. elseif(CONFIG_CHERRYUSB_DEVICE_DWC2_ST)
  98. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
  99. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_st.c)
  100. elseif(CONFIG_CHERRYUSB_DEVICE_DWC2_ESP)
  101. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
  102. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_esp.c)
  103. elseif(CONFIG_CHERRYUSB_DEVICE_DWC2_KENDRYTE)
  104. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
  105. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_kendryte.c)
  106. elseif(CONFIG_CHERRYUSB_DEVICE_DWC2_AT)
  107. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
  108. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_at.c)
  109. elseif(CONFIG_CHERRYUSB_DEVICE_DWC2_HC)
  110. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
  111. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_hc.c)
  112. elseif(CONFIG_CHERRYUSB_DEVICE_DWC2_GD)
  113. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
  114. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_gd.c)
  115. elseif(CONFIG_CHERRYUSB_DEVICE_DWC2_CUSTOM)
  116. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
  117. elseif(CONFIG_CHERRYUSB_DEVICE_MUSB_ES)
  118. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_dc_musb.c)
  119. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_es.c)
  120. elseif(CONFIG_CHERRYUSB_DEVICE_MUSB_SUNXI)
  121. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_dc_musb.c)
  122. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_sunxi.c)
  123. elseif(CONFIG_CHERRYUSB_DEVICE_MUSB_BK)
  124. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_dc_musb.c)
  125. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_bk.c)
  126. elseif(CONFIG_CHERRYUSB_DEVICE_MUSB_SIFLI)
  127. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_dc_musb.c)
  128. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_sifli.c)
  129. elseif(CONFIG_CHERRYUSB_DEVICE_MUSB_CUSTOM)
  130. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_dc_musb.c)
  131. elseif(CONFIG_CHERRYUSB_DEVICE_CHIPIDEA_MCX)
  132. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/chipidea/usb_dc_chipidea.c)
  133. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/nxp/usb_glue_mcx.c)
  134. elseif(CONFIG_CHERRYUSB_DEVICE_KINETIS_MCX)
  135. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/kinetis/usb_dc_kinetis.c)
  136. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/kinetis/usb_glue_mcx.c)
  137. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/chipidea)
  138. elseif(CONFIG_CHERRYUSB_DEVICE_CHIPIDEA_CUSTOM)
  139. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/chipidea/usb_dc_chipidea.c)
  140. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/chipidea)
  141. elseif(CONFIG_CHERRYUSB_DEVICE_HPM)
  142. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/hpmicro/usb_dc_hpm.c)
  143. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/hpmicro/usb_glue_hpm.c)
  144. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/hpmicro)
  145. elseif(CONFIG_CHERRYUSB_DEVICE_BL)
  146. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/bouffalolab/usb_dc_bl.c)
  147. elseif(CONFIG_CHERRYUSB_DEVICE_AIC)
  148. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/aic/usb_dc_aic.c)
  149. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/aic/usb_dc_aic_ll.c)
  150. elseif(CONFIG_CHERRYUSB_DEVICE_RP2040)
  151. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/rp2040/usb_dc_rp2040.c)
  152. endif()
  153. endif()
  154. if(CONFIG_CHERRYUSB_HOST)
  155. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/core/usbh_core.c
  156. ${CMAKE_CURRENT_LIST_DIR}/class/hub/usbh_hub.c
  157. )
  158. if(CONFIG_CHERRYUSB_HOST_CDC_ACM)
  159. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/serial/usbh_cdc_acm.c)
  160. endif()
  161. if(CONFIG_CHERRYUSB_HOST_CDC_ECM)
  162. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbh_cdc_ecm.c)
  163. endif()
  164. if(CONFIG_CHERRYUSB_HOST_CDC_RNDIS)
  165. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/wireless/usbh_rndis.c)
  166. endif()
  167. if(CONFIG_CHERRYUSB_HOST_CDC_NCM)
  168. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbh_cdc_ncm.c)
  169. endif()
  170. if(CONFIG_CHERRYUSB_HOST_HID)
  171. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/hid/usbh_hid.c)
  172. endif()
  173. if(CONFIG_CHERRYUSB_HOST_MSC)
  174. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/msc/usbh_msc.c)
  175. if(CONFIG_CHERRYUSB_HOST_MSC_FATFS)
  176. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/third_party/fatfs-0.14/source/port/fatfs_usbh.c)
  177. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/third_party/fatfs-0.14/source/diskio.c)
  178. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/third_party/fatfs-0.14/source/ff.c)
  179. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/third_party/fatfs-0.14/source/ffsystem.c)
  180. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/third_party/fatfs-0.14/source/ffunicode.c)
  181. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/third_party/fatfs-0.14/source)
  182. endif()
  183. endif()
  184. if(CONFIG_CHERRYUSB_HOST_VIDEO)
  185. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/video/usbh_video.c)
  186. endif()
  187. if(CONFIG_CHERRYUSB_HOST_AUDIO)
  188. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/audio/usbh_audio.c)
  189. endif()
  190. if(CONFIG_CHERRYUSB_HOST_BLUETOOTH)
  191. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/wireless/usbh_bluetooth.c)
  192. set(BLUETOOTH_PATH ${CMAKE_CURRENT_LIST_DIR}/third_party/zephyr_bluetooth-2.7.5)
  193. list(
  194. APPEND
  195. cherryusb_srcs
  196. ${BLUETOOTH_PATH}/ble_hci_usbh.c
  197. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/beacon/src/main.c
  198. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central/src/main.c
  199. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central_hr/src/main.c
  200. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central_ht/src/main.c
  201. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central_multilink/src/main.c
  202. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central_multilink/src/central_multilink.c
  203. # ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/handsfree/src/main.c
  204. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/ibeacon/src/main.c
  205. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral/src/main.c
  206. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral/src/cts.c
  207. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_csc/src/main.c
  208. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_dis/src/main.c
  209. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_esp/src/main.c
  210. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_hids/src/main.c
  211. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_hids/src/hog.c
  212. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_hr/src/main.c
  213. # ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_ht/src/main.c
  214. # ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_ht/src/hts.c
  215. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_identity/src/main.c
  216. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_identity/src/peripheral_identity.c
  217. # ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_ots/src/main.c
  218. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_sc_only/src/main.c
  219. ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/scan_adv/src/main.c
  220. )
  221. include(${BLUETOOTH_PATH}/zephyr_bluetooth/zephyr_bluetooth.cmake)
  222. list(APPEND cherryusb_srcs ${zephyr_bluetooth_srcs})
  223. list(APPEND cherryusb_incs ${zephyr_bluetooth_incs})
  224. endif()
  225. if(CONFIG_CHERRYUSB_HOST_ASIX)
  226. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/vendor/net/usbh_asix.c)
  227. endif()
  228. if(CONFIG_CHERRYUSB_HOST_RTL8152)
  229. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/vendor/net/usbh_rtl8152.c)
  230. endif()
  231. if(CONFIG_CHERRYUSB_HOST_CH34X)
  232. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/serial/usbh_ch34x.c)
  233. endif()
  234. if(CONFIG_CHERRYUSB_HOST_CP210X)
  235. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/serial/usbh_cp210x.c)
  236. endif()
  237. if(CONFIG_CHERRYUSB_HOST_FTDI)
  238. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/serial/usbh_ftdi.c)
  239. endif()
  240. if(CONFIG_CHERRYUSB_HOST_PL2303)
  241. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/serial/usbh_pl2303.c)
  242. endif()
  243. if(CONFIG_CHERRYUSB_HOST_GSM)
  244. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/serial/usbh_gsm.c)
  245. endif()
  246. if(CONFIG_CHERRYUSB_HOST_AOA)
  247. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/aoa/usbh_aoa.c)
  248. endif()
  249. if(CONFIG_CHERRYUSB_HOST_XBOX)
  250. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/vendor/xbox/usbh_xbox.c)
  251. endif()
  252. if(CONFIG_CHERRYUSB_HOST_CDC_ACM
  253. OR CONFIG_CHERRYUSB_HOST_CH34X
  254. OR CONFIG_CHERRYUSB_HOST_CP210X
  255. OR CONFIG_CHERRYUSB_HOST_FTDI
  256. OR CONFIG_CHERRYUSB_HOST_PL2303
  257. OR CONFIG_CHERRYUSB_HOST_GSM
  258. )
  259. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/serial/usbh_serial.c)
  260. endif()
  261. if(CONFIG_CHERRYUSB_HOST_CDC_ECM
  262. OR CONFIG_CHERRYUSB_HOST_CDC_RNDIS
  263. OR CONFIG_CHERRYUSB_HOST_CDC_NCM
  264. OR CONFIG_CHERRYUSB_HOST_ASIX
  265. OR CONFIG_CHERRYUSB_HOST_RTL8152
  266. )
  267. if("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "idf")
  268. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/platform/idf/usbh_net.c)
  269. else()
  270. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/platform/lwip/usbh_lwip.c)
  271. endif()
  272. endif()
  273. if(CONFIG_CHERRYUSB_HOST_EHCI_BL)
  274. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci.c)
  275. # list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci_iso.c)
  276. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_glue_bouffalo.c)
  277. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/ehci)
  278. elseif(CONFIG_CHERRYUSB_HOST_EHCI_HPM)
  279. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci.c)
  280. # list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci_iso.c)
  281. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/hpmicro/usb_hc_hpm.c)
  282. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/hpmicro/usb_glue_hpm.c)
  283. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/hpmicro)
  284. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/ehci)
  285. elseif(CONFIG_CHERRYUSB_HOST_EHCI_AIC)
  286. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci.c)
  287. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ohci/usb_hc_ohci.c)
  288. # list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci_iso.c)
  289. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_glue_aic.c)
  290. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/ehci)
  291. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/ohci)
  292. elseif(CONFIG_CHERRYUSB_HOST_EHCI_MCX)
  293. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci.c)
  294. # list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci_iso.c)
  295. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/nxp/usb_glue_mcx.c)
  296. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/ehci)
  297. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/chipidea)
  298. elseif(CONFIG_CHERRYUSB_HOST_EHCI_CUSTOM)
  299. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci.c)
  300. # list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci_iso.c)
  301. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/port/ehci)
  302. elseif(CONFIG_CHERRYUSB_HOST_DWC2_ST)
  303. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_hc_dwc2.c)
  304. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_st.c)
  305. elseif(CONFIG_CHERRYUSB_HOST_DWC2_ESP)
  306. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_hc_dwc2.c)
  307. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_esp.c)
  308. elseif(CONFIG_CHERRYUSB_HOST_DWC2_KENDRYTE)
  309. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_hc_dwc2.c)
  310. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_kendryte.c)
  311. elseif(CONFIG_CHERRYUSB_HOST_DWC2_HC)
  312. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_hc_dwc2.c)
  313. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_hc.c)
  314. elseif(CONFIG_CHERRYUSB_HOST_DWC2_CUSTOM)
  315. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_hc_dwc2.c)
  316. elseif(CONFIG_CHERRYUSB_HOST_MUSB_ES)
  317. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_hc_musb.c)
  318. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_es.c)
  319. elseif(CONFIG_CHERRYUSB_HOST_MUSB_SUNXI)
  320. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_hc_musb.c)
  321. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_sunxi.c)
  322. elseif(CONFIG_CHERRYUSB_HOST_MUSB_BK)
  323. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_hc_musb.c)
  324. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_bk.c)
  325. elseif(CONFIG_CHERRYUSB_HOST_MUSB_SIFLI)
  326. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_hc_musb.c)
  327. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_sifli.c)
  328. elseif(CONFIG_CHERRYUSB_HOST_MUSB_CUSTOM)
  329. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_hc_musb.c)
  330. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_bk.c)
  331. elseif(CONFIG_CHERRYUSB_HOST_KINETIS_MCX)
  332. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/kinetis/usb_hc_kinetis.c)
  333. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/kinetis/usb_glue_mcx.c)
  334. elseif(CONFIG_CHERRYUSB_HOST_KINETIS_CUSTOM)
  335. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/kinetis/usb_hc_kinetis.c)
  336. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/kinetis/usb_glue_mcx.c)
  337. elseif(CONFIG_CHERRYUSB_HOST_RP2040)
  338. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/rp2040/usb_hc_rp2040.c)
  339. endif()
  340. if(CONFIG_TEST_USBH_SERIAL OR CONFIG_TEST_USBH_HID OR CONFIG_TEST_USBH_MSC)
  341. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/demo/usb_host.c)
  342. endif()
  343. endif()
  344. if(CONFIG_CHERRYUSB_DEVICE AND CONFIG_CHERRYUSB_HOST)
  345. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/core/usbotg_core.c)
  346. endif()
  347. if(DEFINED CONFIG_CHERRYUSB_OSAL)
  348. if("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "freertos")
  349. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/osal/usb_osal_freertos.c)
  350. elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "rtthread")
  351. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/osal/usb_osal_rtthread.c)
  352. elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "idf")
  353. list(APPEND cherryusb_incs ${CMAKE_CURRENT_LIST_DIR}/osal/idf)
  354. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/osal/idf/usb_osal_idf.c)
  355. elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "threadx")
  356. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/osal/usb_osal_threadx.c)
  357. elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "zephyr")
  358. list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/osal/usb_osal_zephyr.c)
  359. endif()
  360. endif()