Files
luban-lite-t3e-pro/packages/third-party/cherryusb/SConscript
刘可亮 8bca5e8332 v1.0.4
2024-04-03 16:40:57 +08:00

172 lines
6.7 KiB
Python

Import('PRJ_KERNEL')
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]
src = []
CPPDEFINES = []
# USB DEVICE
if GetDepend(['LPKG_CHERRYUSB_DEVICE']) and GetDepend(['AIC_USB_DEVICE_DRV']):
path += [cwd + '/osal']
src += Glob('core/usbd_core.c')
if PRJ_KERNEL == 'rt-thread':
src += Glob('osal/usb_osal_rtthread.c')
elif PRJ_KERNEL == 'freertos':
src += Glob('osal/usb_osal_freertos.c')
elif PRJ_KERNEL == 'baremetal':
src += Glob('osal/usb_osal_baremetal.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_HS']):
CPPDEFINES+=['CONFIG_USB_HS']
if GetDepend(['LPKG_CHERRYUSB_DEVICE_CDC']):
src += Glob('class/cdc/usbd_cdc.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_HID']):
src += Glob('class/hid/usbd_hid.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_MSC']):
src += Glob('class/msc/usbd_msc.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_AUDIO']):
src += Glob('class/audio/usbd_audio.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_VIDEO']):
src += Glob('class/video/usbd_video.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_RNDIS']):
src += Glob('class/wireless/usbd_rndis.c')
if GetDepend(['LPKG_CHERRYUSB_USING_DFU']):
src += Glob('class/dfu/usbd_dfu.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_MIDI']):
src += Glob('class/midi/usbd_midi.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_CDC_TEMPLATE']):
src += Glob('demo/cdc_acm_template.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_CDC_AICUPG']):
src += Glob('demo/cdc_acm_aicupg.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_HID_MOUSE_TEMPLATE']):
src += Glob('demo/hid_mouse_template.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_HID_KEYBOARD_TEMPLATE']):
src += Glob('demo/hid_keyboard_template.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_HID_IO_TEMPLATE']):
src += Glob('demo/hid_custom_inout_template.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_MSC_RAM_TEMPLATE']):
src += Glob('demo/msc_ram_template.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_MSC_STORAGE_TEMPLATE']):
src += Glob('demo/msc_storage_template.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_AUDIO_V1_TEMPLATE']):
src += Glob('demo/audio_v1_mic_speaker_multichan_template.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_AUDIO_V2_TEMPLATE']):
src += Glob('demo/audio_v2_mic_speaker_multichan_template.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_AUDIO_SPEAKER_V2_TEMPLATE']):
src += Glob('demo/audio_v2_speaker_multichan_template.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_VIDEO_TEMPLATE']):
src += Glob('demo/video_static_mjpeg_template.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_RNDIS_TEMPLATE']):
src += Glob('demo/cdc_rndis_template.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_MIDI_TEMPLATE']):
src += Glob('demo/midi_template.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_AIC']):
src += Glob('port/aic/usb_dc_aic.c')
src += Glob('port/aic/usb_dc_aic_ll.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_FSDEV']):
src += Glob('port/fsdev/usb_dc_fsdev.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_DWC2']):
src += Glob('port/dwc2/usb_dc_dwc2.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_DWC2_STM32']):
src += Glob('port/dwc2/usb_glue_st.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_MUSB']):
src += Glob('port/musb/usb_dc_musb.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_MUSB_SUNXI']):
CPPDEFINES += ['CONFIG_USB_MUSB_SUNXI']
if GetDepend(['LPKG_CHERRYUSB_DEVICE_HPM']):
src += Glob('port/hpm/usb_dc_hpm.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_CH32_CH32V307']):
if GetDepend(['LPKG_CHERRYUSB_DEVICE_HS']):
src += Glob('port/ch32/usb_dc_usbhs.c')
else:
src += Glob('port/ch32/usb_dc_usbfs.c')
if GetDepend(['LPKG_CHERRYUSB_DEVICE_PUSB2']):
path += [cwd + '/port/pusb2/common']
path += [cwd + '/port/pusb2/fpusb2']
src += Glob('port/pusb2/fpusb2' + '/*.c')
src += Glob('port/pusb2/usb_dc_pusb2.c')
# USB HOST
if GetDepend(['LPKG_CHERRYUSB_HOST']) and GetDepend(['AIC_USB_HOST_EHCI_DRV']):
path += [cwd + '/osal']
path += [cwd + '/class/hub']
src += Glob('core/usbh_core.c')
src += Glob('class/hub/usbh_hub.c')
if PRJ_KERNEL == 'rt-thread':
src += Glob('osal/usb_osal_rtthread.c')
elif PRJ_KERNEL == 'freertos':
src += Glob('osal/usb_osal_freertos.c')
elif PRJ_KERNEL == 'baremetal':
src += Glob('osal/usb_osal_baremetal.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_CDC']):
src += Glob('class/cdc/usbh_cdc_acm.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_HID']):
src += Glob('class/hid/usbh_hid.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_MSC']):
src += Glob('class/msc/usbh_msc.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_RNDIS']):
src += Glob('class/wireless/usbh_rndis.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_CDC_ECM']):
src += Glob('class/cdc/usbh_cdc_ecm.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_BLUETOOTH']):
src += Glob('class/wireless/usbh_bluetooth.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_DWC2']):
src += Glob('port/dwc2/usb_hc_dwc2.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_DWC2_STM32']):
src += Glob('port/dwc2/usb_glue_st.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_MUSB']):
src += Glob('port/musb/usb_hc_musb.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_MUSB_SUNXI']):
CPPDEFINES += ['CONFIG_USB_MUSB_SUNXI']
if GetDepend(['LPKG_CHERRYUSB_HOST_EHCI']):
src += Glob('port/ehci/usb_hc_ehci.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_EHCI_AIC']):
src += Glob('port/ehci/usb_glue_aic.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_EHCI_HPM']):
src += Glob('port/ehci/usb_glue_hpm.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_XHCI']):
src += Glob('port/xhci/usb_hc_xhci.c')
src += Glob('port/xhci/xhci_dbg.c')
src += Glob('port/xhci/xhci.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_PUSB2']):
path += [cwd + '/port/pusb2/common']
path += [cwd + '/port/pusb2/fpusb2']
src += Glob('port/pusb2/fpusb2' + '/*.c')
src += Glob('port/pusb2/usb_hc_pusb2.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_TEMPLATE']):
src += Glob('demo/usb_host.c')
if GetDepend(['LPKG_CHERRYUSB_HOST_MSC_TEMPLATE']):
src += Glob('demo/usbh_msc_template.c')
group = DefineGroup('CherryUSB', src, depend = ['LPKG_USING_CHERRYUSB'], CPPPATH = path, CPPDEFINES = CPPDEFINES)
Return('group')