1# Copyright (c) 2021 Andes Technology Corporation
2# SPDX-License-Identifier: Apache-2.0
3
4choice
5prompt "Andes V5 SoC Selection"
6depends on SOC_SERIES_RISCV_ANDES_V5
7
8config SOC_RISCV_ANDES_AE350
9	bool "Andes AE350 SoC implementation"
10	select ATOMIC_OPERATIONS_BUILTIN
11	select INCLUDE_RESET_VECTOR
12	select RISCV_ISA_EXT_M
13	select RISCV_ISA_EXT_A
14
15endchoice
16
17if SOC_SERIES_RISCV_ANDES_V5
18
19choice
20prompt "Base CPU ISA options"
21default RV32I_CPU
22
23config RV32I_CPU
24	bool "RISCV32 CPU ISA"
25	select RISCV_ISA_RV32I
26	select RISCV_ISA_EXT_ZICSR
27	select RISCV_ISA_EXT_ZIFENCEI
28
29config RV64I_CPU
30	bool "RISCV64 CPU ISA"
31	select RISCV_ISA_RV64I
32	select RISCV_ISA_EXT_ZICSR
33	select RISCV_ISA_EXT_ZIFENCEI
34	select 64BIT
35
36endchoice
37
38choice
39prompt "FPU options"
40default NO_FPU
41
42config NO_FPU
43	bool "No FPU"
44
45config SINGLE_PRECISION_FPU
46	bool "Single precision FPU"
47	select CPU_HAS_FPU
48
49config DOUBLE_PRECISION_FPU
50	bool "Double precision FPU"
51	select CPU_HAS_FPU_DOUBLE_PRECISION
52
53endchoice
54
55config CACHE_ENABLE
56	bool "Cache"
57	default n
58
59config SOC_ANDES_V5_HWDSP
60	bool "AndeStar V5 DSP ISA"
61	select RISCV_SOC_CONTEXT_SAVE
62	depends on !RISCV_GENERIC_TOOLCHAIN
63	help
64		This option enables the AndeStar v5 hardware DSP, in order to
65		support using the DSP instructions.
66
67config SOC_ANDES_V5_PFT
68	bool "Andes V5 PowerBrake extension"
69	default y
70	select RISCV_SOC_CONTEXT_SAVE
71	help
72		The PowerBrake extension throttles performance by reducing instruction
73		executing rate.
74
75config SOC_ANDES_V5_PMA
76	bool "Andes V5 Physical Memory Attribute (PMA)"
77	select ARCH_HAS_NOCACHE_MEMORY_SUPPORT
78	help
79		This option enables the Andes V5 PMA, in order to support SW to
80		configure physical memory attribute by PMA CSRs. The address
81		matching of Andes V5 PMA is like RISC-V PMP NAPOT mode
82		(power-of-two alignment).
83
84config SOC_ANDES_V5_PMA_REGION_MIN_ALIGN_AND_SIZE
85	int
86	depends on SOC_ANDES_V5_PMA
87	default 4096
88	help
89		Minimum size (and alignment) of an PMA region. Use this symbol
90		to guarantee minimum size and alignment of PMA regions.
91
92endif # SOC_SERIES_RISCV_ANDES_V5
93