From 645cb04c4dc5fad7692290d6a0126cb8464edde0 Mon Sep 17 00:00:00 2001 From: Karl Fessel Date: Wed, 22 Sep 2021 13:02:19 +0200 Subject: [PATCH 1/3] cpu/riscv,gd32v: add CPU_ARCH, CPU_CORE information adds CPU_ARCH to riscv_common preparing to handle it like cortex-m does adds CPU_CORE to gd32v --- cpu/gd32v/Makefile.features | 2 ++ cpu/riscv_common/Makefile.features | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/cpu/gd32v/Makefile.features b/cpu/gd32v/Makefile.features index 3090c73568..7dd18287e6 100644 --- a/cpu/gd32v/Makefile.features +++ b/cpu/gd32v/Makefile.features @@ -1,3 +1,5 @@ +CPU_CORE := rv32imac + FEATURES_PROVIDED += periph_clic FEATURES_PROVIDED += periph_gpio FEATURES_PROVIDED += periph_timer diff --git a/cpu/riscv_common/Makefile.features b/cpu/riscv_common/Makefile.features index ef3f9e470f..30a1b8a5f6 100644 --- a/cpu/riscv_common/Makefile.features +++ b/cpu/riscv_common/Makefile.features @@ -1,3 +1,7 @@ +ifeq ($(findstring rv32,$(CPU_CORE)),rv32) + CPU_ARCH := rv32 +endif + FEATURES_PROVIDED += arch_32bit FEATURES_PROVIDED += arch_riscv FEATURES_PROVIDED += cpp From fe03c4c05915dced64ba23a291c3ba0a4e251452 Mon Sep 17 00:00:00 2001 From: Karl Fessel Date: Wed, 22 Sep 2021 15:50:28 +0200 Subject: [PATCH 2/3] cpu/riscv,gd32: match Kconfig to Makefile changes --- cpu/gd32v/Kconfig | 5 ++++- cpu/riscv_common/Kconfig | 7 ++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cpu/gd32v/Kconfig b/cpu/gd32v/Kconfig index 0358c5cb49..c705279676 100644 --- a/cpu/gd32v/Kconfig +++ b/cpu/gd32v/Kconfig @@ -7,7 +7,7 @@ config CPU_FAM_GD32V bool - select CPU_CORE_RV32I + select CPU_CORE_RV32IMAC select HAS_CPU_GD32V select HAS_PERIPH_CLIC select HAS_PERIPH_GPIO @@ -37,4 +37,7 @@ config CPU_MODEL config CPU default "gd32v" if CPU_FAM_GD32V +config CPU_CORE + default "rv32imac" if CPU_CORE_RV32IMAC + source "$(RIOTCPU)/riscv_common/Kconfig" diff --git a/cpu/riscv_common/Kconfig b/cpu/riscv_common/Kconfig index 24f1329b41..500c0a0016 100644 --- a/cpu/riscv_common/Kconfig +++ b/cpu/riscv_common/Kconfig @@ -15,7 +15,7 @@ config CPU_ARCH_RISCV select MODULE_MALLOC_THREAD_SAFE if TEST_KCONFIG select HAS_SSP -config CPU_CORE_RV32I +config CPU_CORE_RV32IMAC bool select CPU_ARCH_RISCV select HAS_ARCH_32BIT @@ -27,7 +27,4 @@ config HAS_ARCH_RISCV Indicates that the current CPU has a RISC-V. config CPU_ARCH - default "risc-v" if CPU_ARCH_RISCV - -config CPU_CORE - default "rv32i" if CPU_CORE_RV32I + default "rv32" if CPU_CORE_RV32IMAC From baf07e881ea5e5bff72c264bed8cba5d0e940d4c Mon Sep 17 00:00:00 2001 From: Karl Fessel Date: Wed, 22 Sep 2021 15:51:54 +0200 Subject: [PATCH 3/3] cpu/fe310: add CPU_CORE information --- cpu/fe310/Kconfig | 5 ++++- cpu/fe310/Makefile.features | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cpu/fe310/Kconfig b/cpu/fe310/Kconfig index bcb1a48349..a38d65a0a1 100644 --- a/cpu/fe310/Kconfig +++ b/cpu/fe310/Kconfig @@ -7,7 +7,7 @@ config CPU_FAM_FE310 bool - select CPU_CORE_RV32I + select CPU_CORE_RV32IMAC select HAS_CPU_FE310 select HAS_PERIPH_CPUID select HAS_PERIPH_GPIO @@ -42,6 +42,9 @@ config CPU_MODEL config CPU default "fe310" if CPU_FAM_FE310 +config CPU_CORE + default "rv32imac" if CPU_CORE_RV32IMAC + rsource "Kconfig.clk" source "$(RIOTCPU)/riscv_common/Kconfig" diff --git a/cpu/fe310/Makefile.features b/cpu/fe310/Makefile.features index 56d9979106..9850ba39b4 100644 --- a/cpu/fe310/Makefile.features +++ b/cpu/fe310/Makefile.features @@ -1,3 +1,5 @@ +CPU_CORE := rv32imac + FEATURES_PROVIDED += periph_cpuid FEATURES_PROVIDED += periph_gpio periph_gpio_irq FEATURES_PROVIDED += periph_pm