blob: 1a0a2443492b789a77c1d6bf5d2f4904cd89c0a8 [file] [log] [blame]
# Copyright (c) 2021 Andes Technology Corporation
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_ANDES_AE350
select RISCV
select RISCV_PRIVILEGED
select RISCV_HAS_PLIC
config SOC_ANDES_AE350
select ATOMIC_OPERATIONS_BUILTIN
select INCLUDE_RESET_VECTOR
select RISCV_ISA_EXT_M
select RISCV_ISA_EXT_A
select RISCV_ISA_EXT_C
select CPU_HAS_DCACHE
select CPU_HAS_ICACHE
select RISCV_PMP
if SOC_SERIES_ANDES_AE350
choice
prompt "Base CPU ISA options"
default RV32I_CPU
config RV32I_CPU
bool "RISCV32 CPU ISA"
select RISCV_ISA_RV32I
select RISCV_ISA_EXT_ZICSR
select RISCV_ISA_EXT_ZIFENCEI
config RV32E_CPU
bool "RISCV32E CPU ISA"
select RISCV_ISA_RV32E
select RISCV_ISA_EXT_ZICSR
select RISCV_ISA_EXT_ZIFENCEI
config RV64I_CPU
bool "RISCV64 CPU ISA"
select RISCV_ISA_RV64I
select RISCV_ISA_EXT_ZICSR
select RISCV_ISA_EXT_ZIFENCEI
select 64BIT
endchoice
choice
prompt "FPU options"
default NO_FPU
config NO_FPU
bool "No FPU"
config SINGLE_PRECISION_FPU
bool "Single precision FPU"
select CPU_HAS_FPU
config DOUBLE_PRECISION_FPU
bool "Double precision FPU"
select CPU_HAS_FPU_DOUBLE_PRECISION
endchoice
config SOC_ANDES_V5_HWDSP
bool "AndeStar V5 DSP ISA"
select RISCV_SOC_CONTEXT_SAVE
depends on !RISCV_GENERIC_TOOLCHAIN
help
This option enables the AndeStar v5 hardware DSP, in order to
support using the DSP instructions.
config SOC_ANDES_V5_PFT
bool "Andes V5 PowerBrake extension"
default y
select RISCV_SOC_CONTEXT_SAVE
help
The PowerBrake extension throttles performance by reducing instruction
executing rate.
config SOC_ANDES_V5_EXECIT
bool "Andes V5 EXEC.IT extension"
depends on RISCV_ISA_EXT_C
depends on !RISCV_GENERIC_TOOLCHAIN
depends on !LINKER_USE_NO_RELAX
help
The EXEC.IT extension (Execution on Instruction Table) generate
a look-up table and replaces suitable 32-bit instructions with
the 16-bit "exec.it <INDEX>".
config SOC_ANDES_V5_PMA
bool "Andes V5 Physical Memory Attribute (PMA)"
select ARCH_HAS_NOCACHE_MEMORY_SUPPORT
help
This option enables the Andes V5 PMA, in order to support SW to
configure physical memory attribute by PMA CSRs. The address
matching of Andes V5 PMA is like RISC-V PMP NAPOT mode
(power-of-two alignment).
config SOC_ANDES_V5_PMA_REGION_MIN_ALIGN_AND_SIZE
int
depends on SOC_ANDES_V5_PMA
default 4096
help
Minimum size (and alignment) of an PMA region. Use this symbol
to guarantee minimum size and alignment of PMA regions.
# Workaround for not being able to have commas in macro arguments
DT_ANDESTECH_L2C := andestech,l2c
config SOC_ANDES_V5_L2C
bool
default $(dt_compat_enabled,$(DT_ANDESTECH_L2C))
config SOC_ANDES_V5_IOCP
bool "Andes V5 I/O Coherence Port (IOCP)"
depends on SOC_ANDES_V5_L2C
depends on DCACHE
help
Support Andes V5 I/O Coherence Port to handle cache coherency
between cache and external non-caching master, such as DMA
controller.
endif # SOC_SERIES_ANDES_AE350