2019-12-03 15:48:18 -08:00
|
|
|
LOCAL_DIR := $(GET_LOCAL_DIR)
|
|
|
|
|
MODULE := $(LOCAL_DIR)
|
|
|
|
|
|
|
|
|
|
PLATFORM := sifive
|
|
|
|
|
VARIANT := sifive_u
|
|
|
|
|
|
2019-12-04 09:08:57 -08:00
|
|
|
WITH_SMP := 1
|
2019-12-04 09:35:56 -08:00
|
|
|
BOOT_HART := 1
|
2019-12-04 09:08:57 -08:00
|
|
|
|
2019-12-03 15:48:18 -08:00
|
|
|
GLOBAL_DEFINES += SIFIVE_FREQ=500000000 # 500 MHz
|
|
|
|
|
|
2019-12-04 09:35:56 -08:00
|
|
|
RISCV_MODE ?= machine
|
|
|
|
|
|
|
|
|
|
ifeq ($(RISCV_MODE),supervisor)
|
|
|
|
|
MEMBASE ?= 0x080200000
|
|
|
|
|
SMP_MAX_CPUS := 4
|
|
|
|
|
else
|
2019-12-03 15:48:18 -08:00
|
|
|
MEMBASE ?= 0x080000000
|
2019-12-04 09:35:56 -08:00
|
|
|
SMP_MAX_CPUS := 5
|
|
|
|
|
endif
|
2019-12-03 15:48:18 -08:00
|
|
|
MEMSIZE ?= 0x200000000 # 8 GiB
|
|
|
|
|
|
|
|
|
|
MODULE_SRCS := $(LOCAL_DIR)/target.c
|
|
|
|
|
# set some global defines based on capability
|
|
|
|
|
GLOBAL_DEFINES += TARGET_HAS_DEBUG_LED=1
|
|
|
|
|
GLOBAL_DEFINES += PLATFORM_HAS_DYNAMIC_TIMER=1
|
|
|
|
|
GLOBAL_DEFINES += ARCH_RISCV_CLINT_BASE=0x02000000
|
|
|
|
|
GLOBAL_DEFINES += ARCH_RISCV_MTIME_RATE=1000000 # 1 MHz
|
|
|
|
|
|
|
|
|
|
include make/module.mk
|