# SPDX-License-Identifier: GPL-2.0-only

config SOC_SIFIVE_FU740
	bool
	select ARCH_RISCV_RV64
	select ARCH_RISCV_S
	select ARCH_RISCV_U
	select ARCH_RISCV_PMP
	select ARCH_BOOTBLOCK_RISCV
	select ARCH_VERSTAGE_RISCV
	select ARCH_ROMSTAGE_RISCV
	select ARCH_RAMSTAGE_RISCV
	select DRIVERS_UART_SIFIVE
	select RISCV_USE_ARCH_TIMER
	select UART_OVERRIDE_REFCLK
	select RISCV_HAS_OPENSBI

config SEPARATE_ROMSTAGE
	default n if SOC_SIFIVE_FU740

if SOC_SIFIVE_FU740

config MEMLAYOUT_LD_FILE
	string
	default "src/soc/sifive/fu740/memlayout.ld"

config RISCV_ARCH
	string
	default "rv64imac"

config RISCV_ABI
	string
	default "lp64"

config RISCV_CODEMODEL
	string
	default "medany"

# 4x U7 cores (RV64IMAFDC) + 1x S7 core (RV64IMAC)
config MAX_CPUS
	int
	default 5

config RISCV_WORKING_HARTID
	int
	default 1 # use U7 core as S7 core does not support supervisor mode

config OPENSBI_PLATFORM
	string
	default "generic"

config OPENSBI_TEXT_START
	hex
	default 0x80000000

config OPENSBI_FW_DYNAMIC_BOOT_HART
	int
	default 1
	help
	  Choose the first U74 core as boot hart since
	  hart 0 is the S7 which does not support Supervisor mode

config RISCV_SOC_HAS_MENVCFG
	bool
	default n

endif