# Copyright (c) 2020 ITE Corporation. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_RISCV32_IT8XXX2
	bool "ITE IT8XXX2 implementation"
	#depends on RISCV
	# TODO:
	# Error of can't link soft-float modules with single-float modules.
	# No library built with -mabi=ilp32f -march=rv32iafc?
	select CPU_HAS_FPU if RISCV_ISA_EXT_M
	select SOC_FAMILY_RISCV_ITE
	help
	    Enable support for ITE IT8XXX2
