1LOCAL_DIR := $(GET_LOCAL_DIR)
2MODULE := $(LOCAL_DIR)
3
4PLATFORM := sifive
5VARIANT := sifive_u
6
7WITH_SMP := 1
8
9GLOBAL_DEFINES += SIFIVE_FREQ=500000000 # 500 MHz
10
11RISCV_MODE ?= supervisor
12
13ifeq ($(RISCV_MODE),supervisor)
14MEMBASE ?= 0x080300000
15SMP_MAX_CPUS := 4
16else
17MEMBASE ?= 0x080000000
18SMP_MAX_CPUS := 5
19endif
20
21MEMSIZE ?= 0x200000000 # 8 GiB
22
23MODULE_SRCS := $(LOCAL_DIR)/target.c
24# set some global defines based on capability
25GLOBAL_DEFINES += TARGET_HAS_DEBUG_LED=1
26GLOBAL_DEFINES += PLATFORM_HAS_DYNAMIC_TIMER=1
27GLOBAL_DEFINES += ARCH_RISCV_CLINT_BASE=0x02000000
28GLOBAL_DEFINES += ARCH_RISCV_MTIME_RATE=1000000  # 1 MHz
29
30include make/module.mk
31