Kconfig 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. #
  2. # For a description of the syntax of this configuration file,
  3. # see the file kconfig-language.txt in the NuttX tools repository.
  4. #
  5. if ARCH_RISCV
  6. comment "RISC-V Options"
  7. choice
  8. prompt "RISC-V chip selection"
  9. default ARCH_CHIP_RISCV_CUSTOM
  10. config ARCH_CHIP_FE310
  11. bool "SiFive FE310"
  12. select ARCH_RV32IM
  13. ---help---
  14. SiFive FE310 processor (E31 RISC-V Core with MAC extensions).
  15. config ARCH_CHIP_K210
  16. bool "Kendryte K210"
  17. select ARCH_RV64GC
  18. select ARCH_HAVE_MPU
  19. select ARCH_HAVE_TESTSET
  20. select ARCH_HAVE_MULTICPU
  21. ---help---
  22. Kendryte K210 processor (RISC-V 64bit core with GC extensions)
  23. config ARCH_CHIP_LITEX
  24. bool "Enjoy Digital LITEX VEXRISCV"
  25. select ARCH_RV32IM
  26. ---help---
  27. Enjoy Digital LITEX VEXRISCV softcore processor (RV32IMA).
  28. config ARCH_CHIP_BL602
  29. bool "BouffaloLab BL602"
  30. select ARCH_RV32IM
  31. select ARCH_HAVE_FPU
  32. select ARCH_HAVE_RESET
  33. ---help---
  34. BouffaloLab BL602(rv32imfc)
  35. config ARCH_CHIP_ESP32C3
  36. bool "Espressif ESP32-C3"
  37. select ARCH_RV32IM
  38. select RV32IM_HW_MULDIV
  39. select ARCH_VECNOTIRQ
  40. select ARCH_HAVE_RESET
  41. select LIBC_ARCH_MEMCHR
  42. select LIBC_ARCH_MEMCMP
  43. select LIBC_ARCH_MEMCCMP
  44. select LIBC_ARCH_MEMMOVE
  45. select LIBC_ARCH_MEMSET
  46. select ARCH_HAVE_TEXT_HEAP
  47. ---help---
  48. Espressif ESP32-C3 (RV32IMC).
  49. config ARCH_CHIP_C906
  50. bool "THEAD C906"
  51. select ARCH_RV64GC
  52. select ARCH_HAVE_MPU
  53. ---help---
  54. THEAD C906 processor (RISC-V 64bit core with GCVX extensions).
  55. config ARCH_CHIP_MPFS
  56. bool "MicroChip Polarfire (MPFS)"
  57. select ARCH_RV64GC
  58. select ARCH_HAVE_MPU
  59. select ARCH_HAVE_RESET
  60. ---help---
  61. MicroChip Polarfire processor (RISC-V 64bit core with GCVX extensions).
  62. config ARCH_CHIP_RV32M1
  63. bool "NXP RV32M1"
  64. select ARCH_RV32IM
  65. ---help---
  66. NXP RV32M1 processor (RISC-V Core with PULP extensions).
  67. config ARCH_CHIP_RISCV_CUSTOM
  68. bool "Custom RISC-V chip"
  69. select ARCH_CHIP_CUSTOM
  70. ---help---
  71. Select this option if there is no directory for the chip under arch/risc-v/src/.
  72. endchoice
  73. config ARCH_RV32I
  74. bool
  75. default n
  76. select ARCH_HAVE_SETJMP
  77. config ARCH_RV32IM
  78. bool
  79. default n
  80. select ARCH_HAVE_SETJMP
  81. config ARCH_RV64GC
  82. bool
  83. default n
  84. select LIBC_ARCH_ELF_64BIT if LIBC_ARCH_ELF
  85. select ARCH_HAVE_SETJMP
  86. config ARCH_FAMILY
  87. string
  88. default "rv32im" if ARCH_RV32IM
  89. default "rv64gc" if ARCH_RV64GC
  90. config ARCH_CHIP
  91. string
  92. default "fe310" if ARCH_CHIP_FE310
  93. default "k210" if ARCH_CHIP_K210
  94. default "litex" if ARCH_CHIP_LITEX
  95. default "bl602" if ARCH_CHIP_BL602
  96. default "esp32c3" if ARCH_CHIP_ESP32C3
  97. default "c906" if ARCH_CHIP_C906
  98. default "mpfs" if ARCH_CHIP_MPFS
  99. default "rv32m1" if ARCH_CHIP_RV32M1
  100. config ARCH_RISCV_INTXCPT_EXTENSIONS
  101. bool "RISC-V Integer Context Extensions"
  102. default n
  103. ---help---
  104. RISC-V could be customized with extensions. Some Integer Context
  105. Registers have to be saved and restored when Contexts switch.
  106. if ARCH_RISCV_INTXCPT_EXTENSIONS
  107. config ARCH_RISCV_INTXCPT_EXTREGS
  108. int "Number of Extral RISC-V Integer Context Registers"
  109. default 0
  110. endif
  111. if ARCH_RV32IM
  112. source arch/risc-v/src/rv32im/Kconfig
  113. endif
  114. if ARCH_RV64GC
  115. source arch/risc-v/src/rv64gc/Kconfig
  116. endif
  117. if ARCH_CHIP_FE310
  118. source arch/risc-v/src/fe310/Kconfig
  119. endif
  120. if ARCH_CHIP_K210
  121. source arch/risc-v/src/k210/Kconfig
  122. endif
  123. if ARCH_CHIP_LITEX
  124. source arch/risc-v/src/litex/Kconfig
  125. endif
  126. if ARCH_CHIP_BL602
  127. source arch/risc-v/src/bl602/Kconfig
  128. endif
  129. if ARCH_CHIP_ESP32C3
  130. source arch/risc-v/src/esp32c3/Kconfig
  131. endif
  132. if ARCH_CHIP_C906
  133. source arch/risc-v/src/c906/Kconfig
  134. endif
  135. if ARCH_CHIP_MPFS
  136. source arch/risc-v/src/mpfs/Kconfig
  137. endif
  138. if ARCH_CHIP_RV32M1
  139. source arch/risc-v/src/rv32m1/Kconfig
  140. endif
  141. endif