mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-08 06:15:21 +00:00
Introduce `CONFIG_RISCV_GP_PURPOSE` choice to make sure that only one of `CONFIG_RISCV_GP` or `CONFIG_RISCV_CURRENT_VIA_GP` can be enabled, instead of relying of dependencies. To do that, introduce a new `CONFIG_RISCV_SOC_HAS_GP_RELATIVE_ADDRESSING` that can be selected by SoC when it implemented global pointer (GP) initialization for relative addressing in its linker. `CONFIG_RISCV_GP` will be the default choice when `CONFIG_RISCV_SOC_HAS_GP_RELATIVE_ADDRESSING=y` Signed-off-by: Yong Cong Sin <ycsin@meta.com> Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
38 lines
963 B
Plaintext
38 lines
963 B
Plaintext
# Copyright (c) 2021 Henrik Brix Andersen <henrik@brixandersen.dk>
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config SOC_NEORV32
|
|
select RISCV
|
|
select RISCV_ISA_RV32I
|
|
select RISCV_ISA_EXT_M
|
|
select RISCV_ISA_EXT_A
|
|
select RISCV_ISA_EXT_ZICSR
|
|
select RISCV_ISA_EXT_ZIFENCEI
|
|
select RISCV_PRIVILEGED
|
|
select RISCV_SOC_HAS_GP_RELATIVE_ADDRESSING
|
|
imply XIP
|
|
|
|
if SOC_NEORV32
|
|
|
|
config SOC_NEORV32_V1_8_6
|
|
bool "v1.8.6"
|
|
# NEORV32 RISC-V ISA A extension implements only LR/SC, not AMO
|
|
select ATOMIC_OPERATIONS_C
|
|
|
|
config SOC_NEORV32_VERSION
|
|
hex
|
|
default 0x01080600 if SOC_NEORV32_V1_8_6
|
|
help
|
|
The targeted NEORV32 version as BCD-coded number. The format is
|
|
identical to that of the NEORV32 Machine implementation ID (mimpid)
|
|
register.
|
|
|
|
config SOC_NEORV32_ISA_C
|
|
bool "RISC-V ISA Extension \"C\""
|
|
select RISCV_ISA_EXT_C
|
|
help
|
|
Enable this if the NEORV32 CPU implementation supports the RISC-V ISA
|
|
"C" extension (Compressed Instructions).
|
|
|
|
endif # SOC_NEORV32
|