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

config GENERIC_RISCV
	bool
	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 || SPL_RISCV_MMODE)
	imply CMD_CPU
	imply SPL_CPU_SUPPORT
	imply SPL_OPENSBI
	imply SPL_LOAD_FIT
