forked from polarfire-soc/platform
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwscript.py
67 lines (59 loc) · 2.59 KB
/
wscript.py
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
import configparser
def options(opt):
opt.load('compiler_c')
def configure(cfg):
cfg.load('compiler_c')
DRIVER_LOOK_UP= {
'core10g' : 'drivers/fpga_ip/Core10GBaseKR_PHY/*.c',
'coreGPIO' : 'drivers/fpga_ip/CoreGPIO/*.c',
'coreI2C' : 'drivers/fpga_ip/CoreI2C/*.c',
'coreMMC' : 'drivers/fpga_ip/CoreMMC/*.c',
'corePWM' : 'drivers/fpga_ip/CorePWM/*.c',
'coreQSPI' : 'drivers/fpga_ip/CoreQSPI/*.c',
'coreSPI' : 'drivers/fpga_ip/CoreSPI/*.c',
'coreSysService' : 'drivers/fpga_ip/CoreSysServices_PF/*.c',
'coreTSE' : 'drivers/fpga_ip/CoreTSE/*.c',
'coreTimer' : 'drivers/fpga_ip/CoreTimer/*.c',
'coreUART' : 'drivers/fpga_ip/CoreUARTapb/*.c',
'CAN' : 'drivers/mss/mss_can/*.c',
'ETH' : 'drivers/mss/mss_ethernet_mac/*.c',
'GPIO' : 'drivers/mss/mss_gpio/*.c',
'I2C' : 'drivers/mss/mss_i2c/*.c',
'MMC' : 'drivers/mss/mss_mmc/*.c',
'UART' : 'drivers/mss/mss_mmuart/*.c',
'PDMA' : 'drivers/mss/mss_pdma/*.c',
'QSPI' : 'drivers/mss/mss_qspi/*.c',
'RTC' : 'drivers/mss/mss_rtc/*.c',
'SPI' : 'drivers/mss/mss_spi/*.c',
'SysService' : 'drivers/mss/mss_sys_services/*.c',
'Timer' : 'drivers/mss/mss_timer/*.c',
'USB' : 'drivers/mss/mss_usb/*.c',
'Watchdog' : 'drivers/mss/mss_watchdog/*.c',
'PCIE' : 'drivers/mss/pf_pcie/*.c',
}
def build(bld):
# Find all C source files in the platform directory
cfg = configparser.ConfigParser()
cfg.read(f'{bld.path}/../../usr_config.ini')
plt = [DRIVER_LOOK_UP[k] for k in DRIVER_LOOK_UP.keys() if cfg.getboolean('driver',k,fallback=False)]
platform_driver_sources = bld.path.ant_glob(plt)
platform_c_sources = bld.path.ant_glob([
'hal/**/*.c',
'mpfs_hal/**/*.c'
])
platform_asm_sources = bld.path.ant_glob([
'**/*.S',
'**/*.s'
])
# platform_sources = platform_c_sources + platform_asm_sources + platform_driver_sources
platform_sources = platform_c_sources + platform_driver_sources
# Create a static library for the platform code
bld.stlib(
target='libplatform',
cflags = '-g -O2',
includes = ['.',
'platform_config_reference',
'../boards/icicle-kit-es',
'../boards/icicle-kit-es/platform_config/lim-debug'],
source=platform_sources,
)