SConscript 3.9 KB
Newer Older
T
thread-liu 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
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
''')

T
thread-liu 已提交
16 17 18
if GetDepend(['BSP_USING_SPI1']):
    src += Glob('ports/spi_sample.c')

T
thread-liu 已提交
19 20
if GetDepend(['BSP_USING_PMIC']):
    src += Glob('ports/drv_pmic.c')
T
thread-liu 已提交
21

T
thread-liu 已提交
22 23
if GetDepend(['BSP_USING_NAND']):
    src += Glob('ports/drv_nand.c')
T
thread-liu 已提交
24

T
thread-liu 已提交
25 26 27
if GetDepend(['BSP_USING_GBE']):
    src += Glob('ports/eth/drv_eth.c')

28
if GetDepend(['BSP_USING_SDCARD']):
29 30 31 32 33
    src += Glob('ports/drv_sdcard.c')

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

T
thread-liu 已提交
34 35 36 37
if GetDepend(['BSP_USING_AUDIO']):
    src += Glob('ports/drv_wm8994.c')
    src += Glob('ports/drv_sound.c')

T
thread-liu 已提交
38 39 40 41 42 43 44 45
if GetDepend(['BSP_USING_DCMI']):
    src += Glob('ports/drv_dcmi.c')
    src += Glob('ports/drv_ov5640.c')

if GetDepend(['BSP_USING_MFX']):
    src += Glob('ports/drv_mfx.c')
    src += Glob('ports/mfxstm32l152.c')

T
thread-liu 已提交
46 47 48
if GetDepend(['BSP_USING_FDCAN']):
    src += Glob('ports/drv_fdcan.c')

T
thread-liu 已提交
49 50 51
if GetDepend(['BSP_USING_QSPI']):
    src += Glob('ports/drv_qspi_flash.c')

T
thread-liu 已提交
52 53 54
if GetDepend(['BSP_USING_SPDIFRX']):
    src += Glob('ports/drv_spdifrx.c')

T
thread-liu 已提交
55 56 57
if GetDepend(['BSP_USING_DFSDM']):
    src += Glob('ports/drv_dfsdm.c')

T
thread-liu 已提交
58 59 60
if GetDepend(['BSP_USING_WWDG']):
    src += Glob('ports/drv_wwdg.c')

T
thread-liu 已提交
61 62 63
if GetDepend(['BSP_USING_EXTI']):
    src += Glob('ports/drv_exti.c')

T
thread-liu 已提交
64 65 66
if GetDepend(['BSP_USING_RNG']) or GetDepend(['BSP_USING_HASH']) or GetDepend(['BSP_USING_CRC']) or GetDepend(['BSP_USING_CRYP']):
    src += Glob('ports/crypto_sample.c')

T
thread-liu 已提交
67 68 69 70 71 72
if GetDepend(['BSP_USING_PWR']):
    src += Glob('ports/drv_pwr.c')

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

T
thread-liu 已提交
73 74 75
if GetDepend(['BSP_USING_RS485']):
    src += Glob('ports/drv_rs485.c')

T
thread-liu 已提交
76 77 78
if GetDepend(['BSP_USING_TIM14']):
    src += Glob('ports/timer_sample.c')

T
thread-liu 已提交
79 80 81
if GetDepend(['BSP_USING_DMA']):
    src += Glob('ports/dma_sample.c')

T
thread-liu 已提交
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
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')

T
thread-liu 已提交
97 98 99 100
path =  [cwd]
path += [cwd + '/CubeMX_Config/CM4/Inc']
path += [cwd + '/ports']

T
thread-liu 已提交
101 102 103 104 105 106 107
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']

T
thread-liu 已提交
108 109 110
if GetDepend(['BSP_USING_GBE']):
    path += [cwd + '/ports/eth']

T
thread-liu 已提交
111 112 113 114 115 116 117 118 119
startup_path_prefix = SDK_LIB

if rtconfig.CROSS_TOOL == 'gcc':
    src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/gcc/startup_stm32mp15xx.s']
elif rtconfig.CROSS_TOOL == 'keil':
    src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/arm/startup_stm32mp15xx.s']
elif rtconfig.CROSS_TOOL == 'iar':
    src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/iar/startup_stm32mp15xx.s']

T
thread-liu 已提交
120 121
src = list(set(src))

T
thread-liu 已提交
122
CPPDEFINES = ['CORE_CM4','NO_ATOMIC_64_SUPPORT','METAL_INTERNAL','METAL_MAX_DEVICE_REGIONS=2','VIRTIO_SLAVE_ONLY','STM32MP157Axx','__LOG_TRACE_IO_']
T
thread-liu 已提交
123 124 125 126

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

Return('group')