From 62d321caa028dee04bf0b43fc0abb68b40e80ddd Mon Sep 17 00:00:00 2001 From: sakumisu <1203593632@qq.com> Date: Sun, 2 Jun 2024 11:20:13 +0800 Subject: refactor(drivers/usb):replace rtt usb stack with cherryusb (#8799) --- components/drivers/usb/cherryusb/SConscript | 210 ++++++++++++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 components/drivers/usb/cherryusb/SConscript (limited to 'components/drivers/usb/cherryusb/SConscript') diff --git a/components/drivers/usb/cherryusb/SConscript b/components/drivers/usb/cherryusb/SConscript new file mode 100644 index 0000000000..1bdb16d503 --- /dev/null +++ b/components/drivers/usb/cherryusb/SConscript @@ -0,0 +1,210 @@ +from building import * + +cwd = GetCurrentDir() +path = [cwd + '/common'] +path += [cwd + '/core'] +path += [cwd + '/class/cdc'] +path += [cwd + '/class/msc'] +path += [cwd + '/class/hid'] +path += [cwd + '/class/audio'] +path += [cwd + '/class/video'] +path += [cwd + '/class/wireless'] +path += [cwd + '/class/dfu'] +path += [cwd + '/class/midi'] +path += [cwd + '/class/vendor/net'] +path += [cwd + '/class/vendor/serial'] +src = [] + +CPPDEFINES = [] + +# USB DEVICE +if GetDepend(['RT_CHERRYUSB_DEVICE']): + path += [cwd + '/osal'] + src += Glob('core/usbd_core.c') + src += Glob('osal/usb_osal_rtthread.c') + + if GetDepend(['RT_CHERRYUSB_DEVICE_SPEED_HS']): + CPPDEFINES+=['CONFIG_USB_HS'] + + if GetDepend(['RT_CHERRYUSB_DEVICE_FSDEV']): + src += Glob('port/fsdev/usb_dc_fsdev.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_DWC2_ST']): + src += Glob('port/dwc2/usb_dc_dwc2.c') + src += Glob('port/dwc2/usb_glue_st.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_DWC2_ESP']): + src += Glob('port/dwc2/usb_dc_dwc2.c') + src += Glob('port/dwc2/usb_glue_esp.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_DWC2_AT']): + src += Glob('port/dwc2/usb_dc_dwc2.c') + src += Glob('port/dwc2/usb_glue_at.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_DWC2_GD']): + src += Glob('port/dwc2/usb_dc_dwc2.c') + src += Glob('port/dwc2/usb_glue_gd.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_DWC2_CUSTOM']): + src += Glob('port/dwc2/usb_dc_dwc2.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_MUSB_STANDARD']): + src += Glob('port/musb/usb_dc_musb.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_MUSB_SUNXI']): + src += Glob('port/musb/usb_dc_musb.c') + src += Glob('port/musb/usb_glue_sunxi.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_MUSB_CUSTOM']): + src += Glob('port/musb/usb_dc_musb.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_BL']): + src += Glob('port/bouffalolab/usb_dc_bl.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_HPM']): + src += Glob('port/hpm/usb_dc_hpm.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_AIC']): + src += Glob('port/aic/usb_dc_aic.c') + src += Glob('port/aic/usb_dc_aic_ll.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_CH32']): + if GetDepend(['RT_CHERRYUSB_DEVICE_SPEED_HS']): + src += Glob('port/ch32/usb_dc_usbhs.c') + else: + src += Glob('port/ch32/usb_dc_usbfs.c') + + if GetDepend(['RT_CHERRYUSB_DEVICE_CDC_ACM']): + src += Glob('class/cdc/usbd_cdc.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_HID']): + src += Glob('class/hid/usbd_hid.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_MSC']): + src += Glob('class/msc/usbd_msc.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_AUDIO']): + src += Glob('class/audio/usbd_audio.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_VIDEO']): + src += Glob('class/video/usbd_video.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_CDC_RNDIS']): + src += Glob('class/wireless/usbd_rndis.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_CDC_ECM']): + src += Glob('class/cdc/usbd_cdc_ecm.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_CDC_NCM']): + src += Glob('class/cdc/usbd_cdc_ncm.c') + if GetDepend(['RT_CHERRYUSB_USING_DFU']): + src += Glob('class/dfu/usbd_dfu.c') + + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM']): + src += Glob('demo/cdc_acm_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_MSC']): + src += Glob('demo/msc_ram_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_HID_MOUSE']): + src += Glob('demo/hid_mouse_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_HID_KEYBOARD']): + src += Glob('demo/hid_keyboard_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_HID_CUSTOM']): + src += Glob('demo/hid_custom_inout_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_VIDEO']): + src += Glob('demo/video_static_mjpeg_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V1_MIC_SPEAKER']): + src += Glob('demo/audio_v1_mic_speaker_multichan_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V2_MIC_SPEAKER']): + src += Glob('demo/audio_v2_mic_speaker_multichan_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_RNDIS']): + src += Glob('demo/cdc_rndis_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ECM']): + src += Glob('demo/cdc_ecm_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_NCM']): + src += Glob('demo/cdc_ncm_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC']): + src += Glob('demo/cdc_acm_msc_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC_HID']): + src += Glob('demo/cdc_acm_hid_msc_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV1']): + src += Glob('demo/winusb1.0_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_CDC']): + src += Glob('demo/winusb2.0_cdc_template.c') + if GetDepend(['RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_HID']): + src += Glob('demo/winusb2.0_hid_template.c') + +# USB HOST +if GetDepend(['RT_CHERRYUSB_HOST']): + path += [cwd + '/class/hub'] + src += Glob('core/usbh_core.c') + src += Glob('class/hub/usbh_hub.c') + src += Glob('osal/usb_osal_rtthread.c') + + if GetDepend(['RT_CHERRYUSB_HOST_EHCI_BL']): + src += Glob('port/ehci/usb_hc_ehci.c') + src += Glob('port/ehci/usb_glue_bouffalo.c') + if GetDepend(['RT_CHERRYUSB_HOST_EHCI_HPM']): + src += Glob('port/ehci/usb_hc_ehci.c') + src += Glob('port/ehci/usb_glue_hpm.c') + if GetDepend(['RT_CHERRYUSB_HOST_EHCI_AIC']): + path += [cwd + '/port/ehci'] + path += [cwd + '/port/ohci'] + src += Glob('port/ehci/usb_hc_ehci.c') + src += Glob('port/ehci/usb_glue_aic.c') + src += Glob('port/ohci/usb_hc_ohci.c') + if GetDepend(['RT_CHERRYUSB_HOST_EHCI_NUVOTON_NUC980']): + src += Glob('port/ehci/usb_hc_ehci.c') + src += Glob('port/ehci/usb_glue_nuc980.c') + if GetDepend(['RT_CHERRYUSB_HOST_EHCI_NUVOTON_MA35D0']): + src += Glob('port/ehci/usb_hc_ehci.c') + src += Glob('port/ehci/usb_glue_ma35d0.c') + if GetDepend(['RT_CHERRYUSB_HOST_EHCI_CUSTOM']): + src += Glob('port/ehci/usb_hc_ehci.c') + if GetDepend(['RT_CHERRYUSB_HOST_DWC2_ST']): + src += Glob('port/dwc2/usb_hc_dwc2.c') + src += Glob('port/dwc2/usb_glue_st.c') + if GetDepend(['RT_CHERRYUSB_HOST_DWC2_ESP']): + src += Glob('port/dwc2/usb_hc_dwc2.c') + src += Glob('port/dwc2/usb_glue_esp.c') + if GetDepend(['RT_CHERRYUSB_HOST_DWC2_CUSTOM']): + src += Glob('port/dwc2/usb_hc_dwc2.c') + if GetDepend(['RT_CHERRYUSB_HOST_MUSB_STANDARD']): + src += Glob('port/musb/usb_hc_musb.c') + if GetDepend(['RT_CHERRYUSB_HOST_MUSB_SUNXI']): + src += Glob('port/musb/usb_hc_musb.c') + src += Glob('port/musb/usb_glue_sunxi.c') + if GetDepend(['RT_CHERRYUSB_HOST_MUSB_CUSTOM']): + src += Glob('port/musb/usb_hc_musb.c') + + if GetDepend(['RT_CHERRYUSB_HOST_CDC_ACM']): + src += Glob('class/cdc/usbh_cdc_acm.c') + if GetDepend(['RT_CHERRYUSB_HOST_HID']): + src += Glob('class/hid/usbh_hid.c') + if GetDepend(['RT_CHERRYUSB_HOST_MSC']): + src += Glob('class/msc/usbh_msc.c') + if GetDepend(['RT_CHERRYUSB_HOST_CDC_RNDIS']): + src += Glob('class/wireless/usbh_rndis.c') + if GetDepend(['RT_CHERRYUSB_HOST_CDC_ECM']): + src += Glob('class/cdc/usbh_cdc_ecm.c') + if GetDepend(['RT_CHERRYUSB_HOST_CDC_NCM']): + src += Glob('class/cdc/usbh_cdc_ncm.c') + if GetDepend(['RT_CHERRYUSB_HOST_VIDEO']): + src += Glob('class/video/usbh_video.c') + if GetDepend(['RT_CHERRYUSB_HOST_AUDIO']): + src += Glob('class/audio/usbh_audio.c') + if GetDepend(['RT_CHERRYUSB_HOST_BLUETOOTH']): + src += Glob('class/wireless/usbh_bluetooth.c') + if GetDepend(['RT_CHERRYUSB_HOST_ASIX']): + src += Glob('class/vendor/net/usbh_asix.c') + if GetDepend(['RT_CHERRYUSB_HOST_RTL8152']): + src += Glob('class/vendor/net/usbh_rtl8152.c') + if GetDepend(['RT_CHERRYUSB_HOST_FTDI']): + src += Glob('class/vendor/serial/usbh_ftdi.c') + if GetDepend(['RT_CHERRYUSB_HOST_CH34X']): + src += Glob('class/vendor/serial/usbh_ch34x.c') + if GetDepend(['RT_CHERRYUSB_HOST_CP210X']): + src += Glob('class/vendor/serial/usbh_cp210x.c') + if GetDepend(['RT_CHERRYUSB_HOST_PL2303']): + src += Glob('class/vendor/serial/usbh_pl2303.c') + + if GetDepend(['RT_CHERRYUSB_HOST_TEMPLATE']): + src += Glob('demo/usb_host.c') + + if GetDepend('RT_USING_DFS') and GetDepend(['RT_CHERRYUSB_HOST_MSC']): + src += Glob('platform/rtthread/usbh_dfs.c') + + if GetDepend('RT_CHERRYUSB_HOST_CDC_ECM') \ + or GetDepend('RT_CHERRYUSB_HOST_CDC_RNDIS') \ + or GetDepend('RT_CHERRYUSB_HOST_CDC_NCM') \ + or GetDepend('RT_CHERRYUSB_HOST_CDC_ASIX') \ + or GetDepend('RT_CHERRYUSB_HOST_CDC_RTL8152'): + src += Glob('platform/rtthread/usbh_lwip.c') + +src += Glob('platform/rtthread/usb_msh.c') +src += Glob('platform/rtthread/usb_check.c') + +group = DefineGroup('CherryUSB', src, depend = ['RT_USING_CHERRYUSB'], CPPPATH = path, CPPDEFINES = CPPDEFINES) + +Return('group') + -- cgit v1.3.1