1from building import *
2
3src = []
4cwd = []
5
6CPPDEFINES = []
7
8cwd = GetCurrentDir()
9
10path =  [cwd]
11
12if GetDepend('BSP_USING_GPIO'):
13    src += ['drv_gpio.c']
14
15if  GetDepend('BSP_USING_LPUART'):
16    src += ['drv_uart.c']
17
18if  GetDepend('BSP_USING_HWTIMER'):
19    src += ['drv_hwtimer.c']
20
21if GetDepend('BSP_USING_RTC'):
22    src += ['drv_rtc.c']
23
24if  GetDepend('BSP_USING_SPI'):
25    src += ['drv_spi.c']
26
27if  GetDepend('BSP_USING_I2C'):
28    src += ['drv_i2c.c']
29
30if GetDepend('BSP_USING_WDT'):
31    src += ['drv_wdt.c']
32
33if GetDepend('BSP_USING_PWM'):
34    src += ['drv_pwm.c']
35
36if GetDepend('BSP_USING_ADC'):
37    src += ['drv_adc.c']
38
39if GetDepend('BSP_USING_LPADC'):
40    src += ['drv_lpadc.c']
41
42if GetDepend('BSP_USING_CAN'):
43    src += ['drv_can.c']
44
45if GetDepend('BSP_USING_SDRAM'):
46    src += ['drv_sdram.c']
47
48if GetDepend('BSP_USING_LCD'):
49    src += ['drv_lcd.c']
50
51if GetDepend('BSP_USING_ETH'):
52    src += ['drv_eth.c']
53
54if GetDepend('BSP_USING_PHY'):
55    src += ['drv_mdio.c']
56    if GetDepend('PHY_USING_KSZ8081'):
57        src += ['drv_ksz8081.c']
58    if GetDepend('PHY_USING_RTL8211F'):
59        src += ['drv_rtl8211f.c']
60
61if GetDepend('BSP_USING_AUDIO'):
62    src += ['drv_sai.c']
63    src += ['bsp_wm8960.c']
64
65if GetDepend('BSP_USING_SDIO'):
66    src += ['drv_sdio.c']
67
68if GetDepend('BSP_USING_USB_DEVICE'):
69    src += ['drv_usbd.c']
70    src += Glob('usb/device/*.c')
71
72if GetDepend('BSP_USING_USB_DEVICE') or GetDepend('RT_USING_USB_HOST'):
73    src += Glob('usb/phy/*.c')
74    CPPDEFINES += ['ENDIANNESS','USE_RTOS']
75
76if GetDepend('RT_USING_USB_HOST'):
77    src += ['drv_usbh.c']
78    src += Glob('usb/host/*.c')
79
80if GetDepend('BSP_USING_PULSE_ENCODER'):
81    src += ['drv_pulse_encoder.c']
82
83if GetDepend('BSP_USING_FLEXSPI'):
84    src += ['drv_flexspi.c']
85
86if GetDepend('BSP_USING_LCD_MIPI'):
87    src += ['drv_lcd_mipi.c']
88
89if GetDepend(['BSP_USING_VGLITE']):
90    src += Glob('vglite/font/*.c')
91    src += Glob('vglite/font/mcufont/decoder/*.c')
92    src += Glob('vglite/VGLite/rtos/*.c')
93    src += Glob('vglite/VGLite/*.c')
94    src += Glob('vglite/VGLiteKernel/rtos/*.c')
95    src += Glob('vglite/VGLiteKernel/*.c')
96    path += [cwd + '/vglite/font', cwd + '/vglite/font/mcufont/decoder', cwd + '/vglite/inc', cwd + '/vglite/VGLite', cwd + '/vglite/VGLite/rtos', cwd + '/vglite/VGLiteKernel', cwd + '/vglite/VGLiteKernel/rtos']
97
98    if GetDepend(['VGLITE_USING_ELM']):
99        src += Glob('vglite/elementary/src/*.c')
100        path += [cwd + '/vglite/elementary/inc', cwd + '/vglite/elementary/src']
101
102src += ['drv_common.c']
103
104group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES=CPPDEFINES)
105
106Return('group')
107
108