1Import('RTT_ROOT')
2Import('rtconfig')
3from building import *
4
5cwd = GetCurrentDir()
6
7# add the general drivers.
8src = Split("""
9drv_common.c
10""")
11
12if GetDepend(['RT_USING_PIN']):
13    src += ['drv_gpio.c']
14
15if GetDepend(['RT_USING_SERIAL']):
16    if GetDepend(['RT_USING_SERIAL_V2']):
17        src += ['drv_usart_v2.c']
18    else:
19        src += ['drv_uart.c']
20
21if GetDepend(['RT_USING_I2C', 'RT_USING_I2C_BITOPS']):
22    if GetDepend('BSP_USING_I2C1'):
23        src += ['drv_soft_i2c.c']
24
25if GetDepend(['RT_USING_I2C']):
26    if GetDepend('BSP_USING_HW_I2C1') or GetDepend('BSP_USING_HW_I2C3') or GetDepend('BSP_USING_HW_I2C4') or GetDepend('BSP_USING_HW_I2C6'):
27        src += ['drv_i2c.c']
28
29if GetDepend(['BSP_USING_SDIO1']):
30    src += Glob('drv_sdio.c')
31
32if GetDepend(['BSP_USING_SDCARD']):
33    src += Glob('drv_sdcard.c')
34
35if GetDepend(['BSP_USING_PWM']):
36    src += ['drv_pwm.c']
37
38if GetDepend(['BSP_USING_SPI']):
39    src += ['drv_spi.c']
40
41if GetDepend(['BSP_USING_ADC']):
42    src += ['drv_adc.c']
43
44if GetDepend(['BSP_USING_USBD']):
45    src += ['drv_usbd.c']
46
47if GetDepend('BSP_USING_RTC'):
48    src += ['drv_rtc.c']
49
50if GetDepend('BSP_USING_ON_CHIP_FLASH'):
51    src += ['drv_flash.c']
52
53if GetDepend(['RT_USING_WDT']):
54    src += ['drv_wdt.c']
55
56if GetDepend(['RT_USING_DAC']):
57    src += ['drv_dac.c']
58
59if GetDepend(['BSP_USING_TIM']):
60    src += ['drv_hwtimer.c']
61
62if GetDepend(['BSP_USING_ETH']):
63    src += ['drv_eth.c']
64
65path =  [cwd]
66path += [cwd + '/config']
67
68group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
69
70Return('group')
71