# SPDX-License-Identifier: GPL-2.0+
#
# Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>

config GENERIC_RISCV
	bool
	select BINMAN if SPL
	select ARCH_EARLY_INIT_R
	imply CPU
	imply CPU_RISCV
	imply RISCV_TIMER if (RISCV_SMODE || SPL_RISCV_SMODE)
	imply SIFIVE_CLINT if RISCV_MMODE
	imply SPL_SIFIVE_CLINT if SPL_RISCV_MMODE
	imply CMD_CPU
	imply SPL_CPU
	imply SPL_OPENSBI
	imply SPL_LOAD_FIT
