1import os
2import rtconfig
3from building import *
4
5Import('SDK_LIB')
6
7objs = []
8cwd = GetCurrentDir()
9list = os.listdir(cwd)
10
11# add general drivers
12src = Split('''
13board.c
14''')
15
16if GetDepend(['BSP_USING_SPI3_SAMPLE']):
17    src += Glob('ports/spi_sample.c')
18
19if GetDepend(['BSP_USING_RW007']):
20    src += Glob('ports/drv_rw007.c')
21
22if GetDepend(['BSP_USING_CYW43012_WIFI']):
23    src += Glob('ports/drv_cyw43012.c')
24
25if GetDepend(['BSP_USING_SLIDER_SAMPLE']):
26    src += Glob('ports/slider_sample.c')
27
28path = [cwd]
29path += [cwd + '/ports']
30
31startup_path_prefix = SDK_LIB
32Tool_path = None
33index = 'Infineon_mtb-pdl-cat1'
34
35for filename in os.listdir(startup_path_prefix):
36    if index in filename:
37        Tool_path = os.path.join(startup_path_prefix, filename)
38
39if rtconfig.PLATFORM in ['gcc']:
40    src += [Tool_path +
41            '/drivers/source/TOOLCHAIN_GCC_ARM/cy_syslib_ext.S']
42elif rtconfig.PLATFORM in ['armclang']:
43    src += [Tool_path +
44            '/drivers/source/TOOLCHAIN_ARM/cy_syslib_ext.S']
45
46CPPDEFINES = ['CY8C624ALQI_S2D42', 'CORE_NAME_CM0P_0', 'CORE_NAME_CM4_0', 'CY_USING_PREBUILT_CM0P_IMAGE', 'CY_USING_HAL', 'COMPONENT_CAT1A', 'COMPONENT_CAT1']
47
48if GetDepend(['BSP_USING_CYW43012_WIFI']):
49    CPPDEFINES += [
50        "COMPONENT_WIFI_INTERFACE_SDIO",
51        "CYBSP_WIFI_CAPABLE",
52        "CY_RTOS_AWARE",
53        "CY_SUPPORTS_DEVICE_VALIDATION",
54        ]
55if GetDepend(['BSP_USING_CYW43012_BT']):
56    CPPDEFINES += [
57        "COMPONENT_43012",
58        "COMPONENT_APP_CY8CKIT_062S2_43012",
59        "COMPONENT_AW_AM497",
60        "COMPONENT_CAT1",
61        "COMPONENT_CAT1A",
62        "COMPONENT_CM0P_SLEEP",
63        "COMPONENT_CM4",
64        "COMPONENT_CM4_0",
65        "COMPONENT_Debug",
66        "COMPONENT_FREERTOS",
67        "COMPONENT_GCC_ARM",
68        "COMPONENT_HCI_UART",
69        "COMPONENT_MW_ABSTRACTION_RTOS",
70        "COMPONENT_MW_BTSTACK",
71        "COMPONENT_MW_BTSTACK_INTEGRATION",
72        "COMPONENT_MW_CLIB_SUPPORT",
73        "COMPONENT_MW_CMSIS",
74        "COMPONENT_MW_CORE_LIB",
75        "COMPONENT_MW_CORE_MAKE",
76        "COMPONENT_MW_FREERTOS",
77        "COMPONENT_MW_KV_STORE",
78        "COMPONENT_MW_MTB_HAL_CAT1",
79        "COMPONENT_MW_MTB_PDL_CAT1",
80        "COMPONENT_MW_RECIPE_MAKE_CAT1A",
81        "COMPONENT_MW_RETARGET_IO",
82        "COMPONENT_MW_SERIAL_FLASH",
83        "COMPONENT_PSOC6_02",
84        "COMPONENT_WICED_BLE",
85        "COMPONENT_WIFI_INTERFACE_SDIO",
86        "CORE_NAME_CM4_0=1",
87        "CY8C624ALQI_S2D42",
88        "CY_APPNAME_mtb_example_btstack_freertos_hello_sensor",
89        "CY_RETARGET_IO_CONVERT_LF_TO_CRLF",
90        "CY_RTOS_AWARE",
91        "CY_SUPPORTS_DEVICE_VALIDATION",
92        "CY_TARGET_BOARD=APP_CY8CKIT_062S2_43012",
93        "CY_USING_HAL",
94        "TARGET_APP_CY8CKIT_062S2_43012",
95        "USE_INTERNAL_FLASH"
96        ]
97group = DefineGroup('Drivers', src, depend=[''], CPPPATH=path, CPPDEFINES=CPPDEFINES)
98
99Return('group')
100