1Import('RTT_ROOT')
2Import('rtconfig')
3from building import *
4
5cwd = GetCurrentDir()
6
7# add the general drivers.
8src = Split("""
9""")
10
11# add pin drivers.
12if GetDepend('RT_USING_PIN'):
13    src += ['drv_gpio.c']
14
15# add usart drivers.
16if GetDepend(['RT_USING_SERIAL']):
17    if GetDepend(['RT_USING_SERIAL_V2']):
18        src += ['drv_usart_v2.c']
19    else:
20        src += ['drv_usart.c']
21
22# add i2c drivers.
23if GetDepend(['RT_USING_I2C', 'RT_USING_I2C_BITOPS']):
24    if GetDepend('BSP_USING_I2C0') or GetDepend('BSP_USING_I2C1') or GetDepend('BSP_USING_I2C2') or GetDepend('BSP_USING_I2C3'):
25        src += ['drv_soft_i2c.c']
26
27 # add i2c hard drivers.
28if GetDepend(['RT_USING_I2C']):
29    if GetDepend('BSP_USING_HW_I2C0') or GetDepend('BSP_USING_HW_I2C1'):
30        src += ['drv_hw_i2c.c']
31
32# add spi drivers.
33if GetDepend('RT_USING_SPI'):
34    src += ['drv_spi.c']
35
36# add spi flash drivers.
37if GetDepend('RT_USING_SFUD'):
38    src += ['drv_spi_flash.c', 'drv_spi.c']
39
40# add wdt drivers.
41if GetDepend('RT_USING_WDT'):
42    src += ['drv_wdt.c']
43
44# add rtc drivers.
45if GetDepend('RT_USING_RTC'):
46    src += ['drv_rtc.c']
47
48# add timer drivers.
49if GetDepend('RT_USING_HWTIMER'):
50    src += ['drv_hwtimer.c']
51
52# add adc drivers.
53if GetDepend('RT_USING_ADC'):
54    src += ['drv_adc.c']
55
56# add sdio drivers.
57if GetDepend('RT_USING_SDIO'):
58    src += ['drv_sdio.c']
59
60# add pwm drivers.
61if GetDepend('RT_USING_PWM'):
62    src += ['drv_pwm.c']
63
64# add can drivers.
65if GetDepend('RT_USING_CAN'):
66    src += ['drv_can.c']
67
68# add sdram drivers.
69if GetDepend('BSP_USING_SDRAM'):
70    src += ['drv_sdram.c']
71
72path = [cwd]
73
74group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
75
76Return('group')
77