summaryrefslogtreecommitdiff
path: root/bsp/stm32/stm32mp157a-st-discovery/board/SConscript
blob: 46a3634f70798629395db25d3cff908bbe64382f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import os
import rtconfig
from building import *

Import('SDK_LIB')

cwd = GetCurrentDir()

# add general drivers
src = Split('''
board.c
CubeMX_Config/Common/System/system_stm32mp1xx.c
CubeMX_Config/CM4/Src/stm32mp1xx_hal_msp.c
''')

if GetDepend(['BSP_USING_SPI5']):
    src += Glob('ports/spi_sample.c')

if GetDepend(['BSP_USING_RCC']):
    src += Glob('ports/drv_rcc.c')

if GetDepend(['BSP_USING_EXTI']):
    src += Glob('ports/drv_exti.c')

if GetDepend(['BSP_USING_PWR']):
    src += Glob('ports/drv_pwr.c')

if GetDepend(['BSP_USING_WWDG']):
    src += Glob('ports/drv_wwdg.c')

if GetDepend(['BSP_USING_LPTIM']):
    src += Glob('ports/drv_lptim.c')

if GetDepend(['BSP_USING_TIM14']):
    src += Glob('ports/timer_sample.c')

if GetDepend(['BSP_USING_PMIC']):
    src += Glob('ports/drv_pmic.c')

if GetDepend(['BSP_USING_RS485']):
    src += Glob('ports/drv_rs485.c')

if GetDepend(['BSP_USING_GBE']):
    src += Glob('ports/drv_eth.c')

if GetDepend(['BSP_USING_SDMMC']):
    src += Glob('ports/drv_sdio.c')

if GetDepend(['BSP_USING_AUDIO']):
    src += Glob('ports/audio/drv_cs42l51.c')
    src += Glob('ports/audio/drv_sound.c')
    src += Glob('ports/audio/audio_play.c')

if GetDepend(['BSP_USING_AUDIO_RECORD']):
    src += Glob('ports/audio/drv_mic.c')

if GetDepend(['(BSP_USING_RNG)']) or GetDepend(['(BSP_USING_HASH)']) or GetDepend(['(BSP_USING_CRC)']) or GetDepend(['BSP_USING_CRYP']):
    src += Glob('ports/crypto/crypto_sample.c')

if GetDepend(['BSP_USING_OPENAMP']):
    src +=  Glob('CubeMX_Config/CM4/Src/ipcc.c')
    src +=  Glob('CubeMX_Config/CM4/Src/openamp.c')
    src +=  Glob('CubeMX_Config/CM4/Src/openamp_log.c')
    src +=  Glob('CubeMX_Config/CM4/Src/mbox_ipcc.c')
    src +=  Glob('CubeMX_Config/CM4/Src/rsc_table.c')
    src +=  Glob('ports/OpenAMP/libmetal/lib/*.c')
    src +=  Glob('ports/OpenAMP/libmetal/lib/system/generic/*.c')
    src +=  Glob('ports/OpenAMP/libmetal/lib/system/generic/cortexm/*.c')
    src +=  Glob('ports/OpenAMP/open-amp/lib/rpmsg/*.c')
    src +=  Glob('ports/OpenAMP/open-amp/lib/remoteproc/*.c')
    src +=  Glob('ports/OpenAMP/open-amp/lib/virtio/*.c')
    src +=  Glob('ports/OpenAMP/virtual_driver/*.c')
    src +=  Glob('ports/OpenAMP/drv_openamp.c')

path =  [cwd]
path += [cwd + '/CubeMX_Config/CM4/Inc']
path += [cwd + '/ports']
path += [cwd + '/ports/audio']

if GetDepend(['BSP_USING_OPENAMP']):
    path += [cwd + '/ports/OpenAMP']
    path += [cwd + '/ports/OpenAMP/open-amp/lib/include']
    path += [cwd + '/ports/OpenAMP/libmetal/lib/include']
    path += [cwd + '/ports/OpenAMP/virtual_driver']
    path += [cwd + '/CubeMX_Config/CM4/Inc']

startup_path_prefix = SDK_LIB

if rtconfig.PLATFORM in ['gcc']:
    src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/gcc/startup_stm32mp15xx.s']
elif rtconfig.PLATFORM in ['armcc', 'armclang']:
    src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/arm/startup_stm32mp15xx.s']
elif rtconfig.PLATFORM in ['iccarm']:
    src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/iar/startup_stm32mp15xx.s']

CPPDEFINES = ['CORE_CM4','NO_ATOMIC_64_SUPPORT','METAL_INTERNAL','METAL_MAX_DEVICE_REGIONS=2','VIRTIO_SLAVE_ONLY','STM32MP157Axx','__LOG_TRACE_IO_']

group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)

Return('group')