2016-10-16 09:47:07 -06:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
|
|
#
|
|
|
|
|
|
|
|
if ARCH_RISCV
|
|
|
|
comment "RISC-V Options"
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "RISC-V chip selection"
|
2021-03-11 11:06:42 +08:00
|
|
|
default ARCH_CHIP_RISCV_CUSTOM
|
2016-10-16 09:47:07 -06:00
|
|
|
|
2019-11-28 20:37:24 +00:00
|
|
|
config ARCH_CHIP_FE310
|
|
|
|
bool "SiFive FE310"
|
2021-12-27 00:18:22 +08:00
|
|
|
select ARCH_RV32
|
|
|
|
select ARCH_RV_ISA_M
|
|
|
|
select ARCH_RV_ISA_A
|
|
|
|
select ARCH_RV_ISA_C
|
2019-11-28 20:37:24 +00:00
|
|
|
---help---
|
|
|
|
SiFive FE310 processor (E31 RISC-V Core with MAC extensions).
|
|
|
|
|
2019-12-31 09:06:20 -06:00
|
|
|
config ARCH_CHIP_K210
|
|
|
|
bool "Kendryte K210"
|
2021-12-27 00:18:22 +08:00
|
|
|
select ARCH_RV64
|
|
|
|
select ARCH_RV_ISA_M
|
|
|
|
select ARCH_RV_ISA_A
|
|
|
|
select ARCH_RV_ISA_C
|
2020-02-14 16:10:50 +09:00
|
|
|
select ARCH_HAVE_MPU
|
2020-01-10 08:04:41 -06:00
|
|
|
select ARCH_HAVE_TESTSET
|
|
|
|
select ARCH_HAVE_MULTICPU
|
2019-12-31 09:06:20 -06:00
|
|
|
---help---
|
|
|
|
Kendryte K210 processor (RISC-V 64bit core with GC extensions)
|
|
|
|
|
2020-03-21 14:01:56 +08:00
|
|
|
config ARCH_CHIP_LITEX
|
|
|
|
bool "Enjoy Digital LITEX VEXRISCV"
|
2021-12-27 00:18:22 +08:00
|
|
|
select ARCH_RV32
|
|
|
|
select ARCH_RV_ISA_M
|
|
|
|
select ARCH_RV_ISA_A
|
2020-03-21 14:01:56 +08:00
|
|
|
---help---
|
|
|
|
Enjoy Digital LITEX VEXRISCV softcore processor (RV32IMA).
|
|
|
|
|
2020-12-17 19:04:46 +08:00
|
|
|
config ARCH_CHIP_BL602
|
|
|
|
bool "BouffaloLab BL602"
|
2021-12-27 00:18:22 +08:00
|
|
|
select ARCH_RV32
|
|
|
|
select ARCH_RV_ISA_M
|
|
|
|
select ARCH_RV_ISA_A
|
|
|
|
select ARCH_RV_ISA_F
|
|
|
|
select ARCH_RV_ISA_C
|
2020-12-31 12:22:53 -08:00
|
|
|
select ARCH_HAVE_RESET
|
2020-12-17 19:04:46 +08:00
|
|
|
---help---
|
|
|
|
BouffaloLab BL602(rv32imfc)
|
|
|
|
|
2021-01-21 20:13:10 +08:00
|
|
|
config ARCH_CHIP_ESP32C3
|
|
|
|
bool "Espressif ESP32-C3"
|
2021-12-27 00:18:22 +08:00
|
|
|
select ARCH_RV32
|
|
|
|
select ARCH_RV_ISA_M
|
|
|
|
select ARCH_RV_ISA_C
|
2021-01-21 20:13:10 +08:00
|
|
|
select ARCH_VECNOTIRQ
|
2021-02-19 11:55:39 +01:00
|
|
|
select ARCH_HAVE_RESET
|
2021-08-26 17:20:23 +08:00
|
|
|
select LIBC_ARCH_ATOMIC
|
2021-11-13 14:06:26 +01:00
|
|
|
select LIBC_ARCH_MEMSET
|
|
|
|
select LIBC_ARCH_MEMCPY
|
|
|
|
select LIBC_ARCH_MEMMOVE
|
2021-03-08 18:00:09 +08:00
|
|
|
select LIBC_ARCH_MEMCMP
|
2021-11-13 14:06:26 +01:00
|
|
|
select LIBC_ARCH_MEMCHR
|
|
|
|
select LIBC_ARCH_STRCPY
|
|
|
|
select LIBC_ARCH_STRCHR
|
|
|
|
select LIBC_ARCH_STRCMP
|
|
|
|
select LIBC_ARCH_STRLCPY
|
|
|
|
select LIBC_ARCH_STRNCPY
|
|
|
|
select LIBC_ARCH_STRLEN
|
|
|
|
select LIBC_ARCH_STRNLEN
|
2021-06-18 00:47:45 +01:00
|
|
|
select ARCH_HAVE_TEXT_HEAP
|
2021-09-24 09:20:42 -03:00
|
|
|
select ARCH_HAVE_BOOTLOADER
|
2021-01-21 20:13:10 +08:00
|
|
|
---help---
|
|
|
|
Espressif ESP32-C3 (RV32IMC).
|
|
|
|
|
2021-03-08 23:19:29 +08:00
|
|
|
config ARCH_CHIP_C906
|
|
|
|
bool "THEAD C906"
|
2021-12-27 00:18:22 +08:00
|
|
|
select ARCH_RV64
|
|
|
|
select ARCH_RV_ISA_M
|
|
|
|
select ARCH_RV_ISA_A
|
|
|
|
select ARCH_RV_ISA_F
|
|
|
|
select ARCH_RV_ISA_D
|
|
|
|
select ARCH_RV_ISA_C
|
2021-03-16 10:06:06 +08:00
|
|
|
select ARCH_HAVE_MPU
|
2021-03-08 23:19:29 +08:00
|
|
|
---help---
|
|
|
|
THEAD C906 processor (RISC-V 64bit core with GCVX extensions).
|
|
|
|
|
2021-05-04 13:56:52 +03:00
|
|
|
config ARCH_CHIP_MPFS
|
2021-12-14 09:52:49 +02:00
|
|
|
bool "MicroChip Polarfire (MPFS)"
|
2021-12-27 00:18:22 +08:00
|
|
|
select ARCH_RV64
|
|
|
|
select ARCH_RV_ISA_M
|
|
|
|
select ARCH_RV_ISA_A
|
|
|
|
select ARCH_RV_ISA_F
|
|
|
|
select ARCH_RV_ISA_D
|
|
|
|
select ARCH_RV_ISA_C
|
2021-12-14 09:52:49 +02:00
|
|
|
select ARCH_HAVE_MPU
|
|
|
|
select ARCH_HAVE_RESET
|
|
|
|
select ARCH_HAVE_SPI_CS_CONTROL
|
|
|
|
select ARCH_HAVE_PWM_MULTICHAN
|
|
|
|
---help---
|
2021-05-04 13:56:52 +03:00
|
|
|
MicroChip Polarfire processor (RISC-V 64bit core with GCVX extensions).
|
|
|
|
|
2021-06-04 15:30:49 +08:00
|
|
|
config ARCH_CHIP_RV32M1
|
|
|
|
bool "NXP RV32M1"
|
2021-12-27 00:18:22 +08:00
|
|
|
select ARCH_RV32
|
|
|
|
select ARCH_RV_ISA_M
|
|
|
|
select ARCH_RV_ISA_C
|
2021-06-04 15:30:49 +08:00
|
|
|
---help---
|
|
|
|
NXP RV32M1 processor (RISC-V Core with PULP extensions).
|
|
|
|
|
2021-12-05 21:41:44 +08:00
|
|
|
config ARCH_CHIP_QEMU_RV32
|
|
|
|
bool "QEMU RV32"
|
2021-12-27 00:18:22 +08:00
|
|
|
select ARCH_RV32
|
|
|
|
select ARCH_RV_ISA_M
|
|
|
|
select ARCH_RV_ISA_A
|
|
|
|
select ARCH_RV_ISA_F
|
|
|
|
select ARCH_RV_ISA_D
|
2021-12-05 21:41:44 +08:00
|
|
|
---help---
|
|
|
|
QEMU Generic RV32 processor
|
|
|
|
|
2020-10-15 11:29:59 +08:00
|
|
|
config ARCH_CHIP_RISCV_CUSTOM
|
|
|
|
bool "Custom RISC-V chip"
|
|
|
|
select ARCH_CHIP_CUSTOM
|
|
|
|
---help---
|
|
|
|
Select this option if there is no directory for the chip under arch/risc-v/src/.
|
|
|
|
|
2016-10-16 09:47:07 -06:00
|
|
|
endchoice
|
|
|
|
|
2021-12-27 00:18:22 +08:00
|
|
|
config ARCH_RV32
|
2016-10-16 09:47:07 -06:00
|
|
|
bool
|
|
|
|
default n
|
2020-12-03 20:10:10 +08:00
|
|
|
select ARCH_HAVE_SETJMP
|
2016-10-16 09:47:07 -06:00
|
|
|
|
2021-12-27 00:18:22 +08:00
|
|
|
config ARCH_RV64
|
2016-10-16 09:47:07 -06:00
|
|
|
bool
|
|
|
|
default n
|
2021-12-27 00:18:22 +08:00
|
|
|
select LIBC_ARCH_ELF_64BIT if LIBC_ARCH_ELF
|
2020-12-03 20:10:10 +08:00
|
|
|
select ARCH_HAVE_SETJMP
|
2016-10-16 09:47:07 -06:00
|
|
|
|
2021-12-27 00:18:22 +08:00
|
|
|
config ARCH_RV_ISA_M
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config ARCH_RV_ISA_A
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config ARCH_RV_ISA_C
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config ARCH_RV_ISA_F
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
select ARCH_HAVE_FPU
|
|
|
|
|
|
|
|
config ARCH_RV_ISA_D
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
depends on ARCH_RV_ISA_F
|
|
|
|
select ARCH_HAVE_DPFPU
|
|
|
|
|
|
|
|
config ARCH_RV32I
|
2019-12-31 09:06:20 -06:00
|
|
|
bool
|
|
|
|
default n
|
2020-12-03 20:10:10 +08:00
|
|
|
select ARCH_HAVE_SETJMP
|
2019-12-31 09:06:20 -06:00
|
|
|
|
2016-10-16 09:47:07 -06:00
|
|
|
config ARCH_FAMILY
|
|
|
|
string
|
2021-12-27 00:18:22 +08:00
|
|
|
default "rv32" if ARCH_RV32
|
|
|
|
default "rv64" if ARCH_RV64
|
2016-10-16 09:47:07 -06:00
|
|
|
|
|
|
|
config ARCH_CHIP
|
|
|
|
string
|
2019-11-28 20:37:24 +00:00
|
|
|
default "fe310" if ARCH_CHIP_FE310
|
2019-12-31 09:06:20 -06:00
|
|
|
default "k210" if ARCH_CHIP_K210
|
2020-03-21 14:01:56 +08:00
|
|
|
default "litex" if ARCH_CHIP_LITEX
|
2020-12-17 19:04:46 +08:00
|
|
|
default "bl602" if ARCH_CHIP_BL602
|
2021-01-21 20:13:10 +08:00
|
|
|
default "esp32c3" if ARCH_CHIP_ESP32C3
|
2021-03-08 23:19:29 +08:00
|
|
|
default "c906" if ARCH_CHIP_C906
|
2021-05-04 13:56:52 +03:00
|
|
|
default "mpfs" if ARCH_CHIP_MPFS
|
2021-06-04 15:30:49 +08:00
|
|
|
default "rv32m1" if ARCH_CHIP_RV32M1
|
2021-12-05 21:41:44 +08:00
|
|
|
default "qemu-rv32" if ARCH_CHIP_QEMU_RV32
|
2021-06-04 15:30:49 +08:00
|
|
|
|
|
|
|
config ARCH_RISCV_INTXCPT_EXTENSIONS
|
|
|
|
bool "RISC-V Integer Context Extensions"
|
|
|
|
default n
|
2021-12-27 00:18:22 +08:00
|
|
|
depends on RV32M1_OPENISA_TOOLCHAIN
|
2021-06-04 15:30:49 +08:00
|
|
|
---help---
|
|
|
|
RISC-V could be customized with extensions. Some Integer Context
|
|
|
|
Registers have to be saved and restored when Contexts switch.
|
|
|
|
|
|
|
|
if ARCH_RISCV_INTXCPT_EXTENSIONS
|
|
|
|
|
|
|
|
config ARCH_RISCV_INTXCPT_EXTREGS
|
|
|
|
int "Number of Extral RISC-V Integer Context Registers"
|
|
|
|
default 0
|
|
|
|
|
|
|
|
endif
|
2016-10-16 09:47:07 -06:00
|
|
|
|
2021-12-20 14:20:47 +02:00
|
|
|
source "arch/risc-v/src/opensbi/Kconfig"
|
2021-12-27 00:18:22 +08:00
|
|
|
source "arch/risc-v/src/common/Kconfig"
|
2021-12-20 14:20:47 +02:00
|
|
|
|
2021-12-27 00:18:22 +08:00
|
|
|
if ARCH_RV32
|
2021-07-20 13:10:10 +02:00
|
|
|
source "arch/risc-v/src/rv32im/Kconfig"
|
2016-10-16 09:47:07 -06:00
|
|
|
endif
|
2019-11-28 20:37:24 +00:00
|
|
|
if ARCH_CHIP_FE310
|
2021-07-20 13:10:10 +02:00
|
|
|
source "arch/risc-v/src/fe310/Kconfig"
|
2019-11-28 20:37:24 +00:00
|
|
|
endif
|
2019-12-31 09:06:20 -06:00
|
|
|
if ARCH_CHIP_K210
|
2021-07-20 13:10:10 +02:00
|
|
|
source "arch/risc-v/src/k210/Kconfig"
|
2019-12-31 09:06:20 -06:00
|
|
|
endif
|
2020-03-21 14:01:56 +08:00
|
|
|
if ARCH_CHIP_LITEX
|
2021-07-20 13:10:10 +02:00
|
|
|
source "arch/risc-v/src/litex/Kconfig"
|
2020-03-21 14:01:56 +08:00
|
|
|
endif
|
2020-12-17 19:04:46 +08:00
|
|
|
if ARCH_CHIP_BL602
|
2021-07-20 13:10:10 +02:00
|
|
|
source "arch/risc-v/src/bl602/Kconfig"
|
2020-12-17 19:04:46 +08:00
|
|
|
endif
|
2021-01-21 20:13:10 +08:00
|
|
|
if ARCH_CHIP_ESP32C3
|
2021-07-20 13:10:10 +02:00
|
|
|
source "arch/risc-v/src/esp32c3/Kconfig"
|
2021-01-21 20:13:10 +08:00
|
|
|
endif
|
2021-03-08 23:19:29 +08:00
|
|
|
if ARCH_CHIP_C906
|
2021-07-20 13:10:10 +02:00
|
|
|
source "arch/risc-v/src/c906/Kconfig"
|
2021-03-08 23:19:29 +08:00
|
|
|
endif
|
2021-05-04 13:56:52 +03:00
|
|
|
if ARCH_CHIP_MPFS
|
2021-07-20 13:10:10 +02:00
|
|
|
source "arch/risc-v/src/mpfs/Kconfig"
|
2021-05-04 13:56:52 +03:00
|
|
|
endif
|
2021-06-04 15:30:49 +08:00
|
|
|
if ARCH_CHIP_RV32M1
|
2021-07-20 13:10:10 +02:00
|
|
|
source "arch/risc-v/src/rv32m1/Kconfig"
|
2021-06-04 15:30:49 +08:00
|
|
|
endif
|
2021-12-05 21:41:44 +08:00
|
|
|
if ARCH_CHIP_QEMU_RV32
|
|
|
|
source "arch/risc-v/src/qemu-rv32/Kconfig"
|
|
|
|
endif
|
2016-10-16 09:47:07 -06:00
|
|
|
endif
|