From c79f1b0d9404846c34097e767cc3140d25bb76ca Mon Sep 17 00:00:00 2001 From: Jamie McCrae Date: Fri, 2 Feb 2024 11:37:55 +0000 Subject: [PATCH] kconfig: soc: adopt Nordic SoC series to support hw model v2 scheme This commit adopts hw model v2 to nRF SoC family. This ensures that when hw model v2 is used for an nRF51, nRF52, nRF53, and nRF91 SoC series, so that all SoC selections are handled internally by Kconfig, and no selection / re-configuration is possible by end-user or through configuration files. Hw model v2 requires the SoC to be self-contained, that is no references are allowed out-side the SoC Kconfig tree. All Zephyr Kconfig specifics are therefore sourced into the Zephyr Kconfig tree through Kconfig.zephyr and Kconfig.zephyr.defconfig. Signed-off-by: Jamie McCrae --- .../arm => }/nordic_nrf/CMakeLists.txt | 3 + soc/{soc_legacy/arm => }/nordic_nrf/Kconfig | 8 +- .../arm => }/nordic_nrf/Kconfig.defconfig | 2 +- soc/nordic_nrf/Kconfig.soc | 47 ++++++++ .../arm => }/nordic_nrf/common/CMakeLists.txt | 0 .../arm => }/nordic_nrf/common/poweroff.c | 0 .../nordic_nrf/common/soc_nrf_common.S | 0 .../nordic_nrf/common/soc_nrf_common.h | 0 .../arm => }/nordic_nrf/common/soc_secure.c | 0 .../arm => }/nordic_nrf/common/soc_secure.h | 0 .../arm => }/nordic_nrf/nrf51/CMakeLists.txt | 0 .../nordic_nrf/nrf51/Kconfig.defconfig.series | 5 - .../arm => }/nordic_nrf/nrf51/Kconfig.series | 1 - soc/nordic_nrf/nrf51/Kconfig.soc | 28 +++++ .../arm => }/nordic_nrf/nrf51/soc.c | 0 .../arm => }/nordic_nrf/nrf51/soc.h | 0 .../arm => }/nordic_nrf/nrf52/CMakeLists.txt | 0 .../Kconfig.soc => nordic_nrf/nrf52/Kconfig} | 66 +---------- .../nrf52/Kconfig.defconfig.nrf52805_CAAA | 3 - .../nrf52/Kconfig.defconfig.nrf52810_QFAA | 3 - .../nrf52/Kconfig.defconfig.nrf52811_QFAA | 3 - .../nrf52/Kconfig.defconfig.nrf52820_QDAA | 4 - .../nrf52/Kconfig.defconfig.nrf52832_CIAA | 3 - .../nrf52/Kconfig.defconfig.nrf52832_QFAA | 3 - .../nrf52/Kconfig.defconfig.nrf52832_QFAB | 3 - .../nrf52/Kconfig.defconfig.nrf52833_QDAA | 0 .../nrf52/Kconfig.defconfig.nrf52833_QIAA | 4 - .../nrf52/Kconfig.defconfig.nrf52840_QFAA | 0 .../nrf52/Kconfig.defconfig.nrf52840_QIAA | 3 - .../nordic_nrf/nrf52/Kconfig.defconfig.series | 5 +- .../arm => }/nordic_nrf/nrf52/Kconfig.series | 1 - soc/nordic_nrf/nrf52/Kconfig.soc | 105 ++++++++++++++++++ .../arm => }/nordic_nrf/nrf52/soc.c | 0 .../arm => }/nordic_nrf/nrf52/soc.h | 0 .../arm => }/nordic_nrf/nrf53/CMakeLists.txt | 0 .../Kconfig.soc => nordic_nrf/nrf53/Kconfig} | 55 ++++----- .../Kconfig.defconfig.nrf5340_CPUAPP_QKAA | 3 - .../Kconfig.defconfig.nrf5340_CPUNET_QKAA | 3 - .../nordic_nrf/nrf53/Kconfig.defconfig.series | 5 +- .../arm => }/nordic_nrf/nrf53/Kconfig.series | 2 +- soc/nordic_nrf/nrf53/Kconfig.soc | 28 +++++ .../nordic_nrf/nrf53/Kconfig.sync_rtc | 0 .../nordic_nrf/nrf53/Kconfig.sync_rtc_ipm | 0 .../arm => }/nordic_nrf/nrf53/soc.c | 0 .../arm => }/nordic_nrf/nrf53/soc.h | 0 .../arm => }/nordic_nrf/nrf53/soc_cpu_idle.h | 0 .../arm => }/nordic_nrf/nrf53/sync_rtc.c | 0 .../arm => }/nordic_nrf/nrf91/CMakeLists.txt | 0 soc/nordic_nrf/nrf91/Kconfig | 12 ++ .../nrf91/Kconfig.defconfig.nrf9131_LACA | 3 - .../nrf91/Kconfig.defconfig.nrf9160_SICA | 3 - .../nrf91/Kconfig.defconfig.nrf9161_LACA | 3 - .../nordic_nrf/nrf91/Kconfig.defconfig.series | 5 +- .../arm => }/nordic_nrf/nrf91/Kconfig.series | 5 +- .../arm => }/nordic_nrf/nrf91/Kconfig.soc | 29 ++--- .../arm => }/nordic_nrf/nrf91/soc.c | 0 .../arm => }/nordic_nrf/nrf91/soc.h | 0 soc/nordic_nrf/soc.yml | 27 +++++ soc/{soc_legacy/arm => }/nordic_nrf/timing.c | 0 .../nordic_nrf/validate_base_addresses.c | 0 .../nordic_nrf/validate_enabled_instances.c | 0 soc/soc_legacy/arm/nordic_nrf/Kconfig.soc | 6 - .../nrf51/Kconfig.defconfig.nrf51822_QFAA | 9 -- .../nrf51/Kconfig.defconfig.nrf51822_QFAB | 9 -- .../nrf51/Kconfig.defconfig.nrf51822_QFAC | 9 -- .../arm/nordic_nrf/nrf51/Kconfig.soc | 19 ---- soc/soc_legacy/arm/renesas_ra/ra4m1/linker.ld | 8 -- 67 files changed, 302 insertions(+), 241 deletions(-) rename soc/{soc_legacy/arm => }/nordic_nrf/CMakeLists.txt (84%) rename soc/{soc_legacy/arm => }/nordic_nrf/Kconfig (96%) rename soc/{soc_legacy/arm => }/nordic_nrf/Kconfig.defconfig (92%) create mode 100644 soc/nordic_nrf/Kconfig.soc rename soc/{soc_legacy/arm => }/nordic_nrf/common/CMakeLists.txt (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/common/poweroff.c (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/common/soc_nrf_common.S (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/common/soc_nrf_common.h (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/common/soc_secure.c (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/common/soc_secure.h (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf51/CMakeLists.txt (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf51/Kconfig.defconfig.series (76%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf51/Kconfig.series (89%) create mode 100644 soc/nordic_nrf/nrf51/Kconfig.soc rename soc/{soc_legacy/arm => }/nordic_nrf/nrf51/soc.c (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf51/soc.h (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/CMakeLists.txt (100%) rename soc/{soc_legacy/arm/nordic_nrf/nrf52/Kconfig.soc => nordic_nrf/nrf52/Kconfig} (74%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/Kconfig.defconfig.nrf52805_CAAA (84%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/Kconfig.defconfig.nrf52810_QFAA (84%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/Kconfig.defconfig.nrf52811_QFAA (84%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/Kconfig.defconfig.nrf52820_QDAA (81%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_CIAA (87%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAA (87%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAB (87%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QDAA (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QIAA (81%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QFAA (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QIAA (84%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/Kconfig.defconfig.series (72%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/Kconfig.series (90%) create mode 100644 soc/nordic_nrf/nrf52/Kconfig.soc rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/soc.c (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf52/soc.h (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf53/CMakeLists.txt (100%) rename soc/{soc_legacy/arm/nordic_nrf/nrf53/Kconfig.soc => nordic_nrf/nrf53/Kconfig} (96%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUAPP_QKAA (91%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUNET_QKAA (90%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf53/Kconfig.defconfig.series (72%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf53/Kconfig.series (86%) create mode 100644 soc/nordic_nrf/nrf53/Kconfig.soc rename soc/{soc_legacy/arm => }/nordic_nrf/nrf53/Kconfig.sync_rtc (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf53/Kconfig.sync_rtc_ipm (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf53/soc.c (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf53/soc.h (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf53/soc_cpu_idle.h (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf53/sync_rtc.c (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf91/CMakeLists.txt (100%) create mode 100644 soc/nordic_nrf/nrf91/Kconfig rename soc/{soc_legacy/arm => }/nordic_nrf/nrf91/Kconfig.defconfig.nrf9131_LACA (84%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf91/Kconfig.defconfig.nrf9160_SICA (84%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf91/Kconfig.defconfig.nrf9161_LACA (84%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf91/Kconfig.defconfig.series (72%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf91/Kconfig.series (90%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf91/Kconfig.soc (76%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf91/soc.c (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/nrf91/soc.h (100%) create mode 100644 soc/nordic_nrf/soc.yml rename soc/{soc_legacy/arm => }/nordic_nrf/timing.c (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/validate_base_addresses.c (100%) rename soc/{soc_legacy/arm => }/nordic_nrf/validate_enabled_instances.c (100%) delete mode 100644 soc/soc_legacy/arm/nordic_nrf/Kconfig.soc delete mode 100644 soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAA delete mode 100644 soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAB delete mode 100644 soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAC delete mode 100644 soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.soc delete mode 100644 soc/soc_legacy/arm/renesas_ra/ra4m1/linker.ld diff --git a/soc/soc_legacy/arm/nordic_nrf/CMakeLists.txt b/soc/nordic_nrf/CMakeLists.txt similarity index 84% rename from soc/soc_legacy/arm/nordic_nrf/CMakeLists.txt rename to soc/nordic_nrf/CMakeLists.txt index bd7725404b8..e259b3b3d98 100644 --- a/soc/soc_legacy/arm/nordic_nrf/CMakeLists.txt +++ b/soc/nordic_nrf/CMakeLists.txt @@ -4,6 +4,9 @@ zephyr_library() add_subdirectory(${SOC_SERIES}) add_subdirectory(common) +zephyr_include_directories(${SOC_SERIES}) + +set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "SoC Linker script") zephyr_library_sources( validate_base_addresses.c diff --git a/soc/soc_legacy/arm/nordic_nrf/Kconfig b/soc/nordic_nrf/Kconfig similarity index 96% rename from soc/soc_legacy/arm/nordic_nrf/Kconfig rename to soc/nordic_nrf/Kconfig index ef2b1e4d67a..7bc4d6730a8 100644 --- a/soc/soc_legacy/arm/nordic_nrf/Kconfig +++ b/soc/nordic_nrf/Kconfig @@ -3,10 +3,14 @@ # Copyright (c) 2016-2018 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 +# This file is contains Zephyr build system Kconfig references and is not +# re-usable outside the Zephyr tree. + config SOC_FAMILY_NRF select SOC_COMPATIBLE_NRF select PLATFORM_SPECIFIC_INIT - bool + +rsource "*/Kconfig.series" if SOC_FAMILY_NRF config SOC_FAMILY @@ -14,7 +18,7 @@ config SOC_FAMILY default "nordic_nrf" source "soc/common/nordic_nrf/Kconfig.peripherals" -source "soc/soc_legacy/arm/nordic_nrf/*/Kconfig.soc" +rsource "*/Kconfig.soc" config NRF_SOC_SECURE_SUPPORTED def_bool !TRUSTED_EXECUTION_NONSECURE || (BUILD_WITH_TFM && TFM_PARTITION_PLATFORM) diff --git a/soc/soc_legacy/arm/nordic_nrf/Kconfig.defconfig b/soc/nordic_nrf/Kconfig.defconfig similarity index 92% rename from soc/soc_legacy/arm/nordic_nrf/Kconfig.defconfig rename to soc/nordic_nrf/Kconfig.defconfig index e051999d443..768c7ffee81 100644 --- a/soc/soc_legacy/arm/nordic_nrf/Kconfig.defconfig +++ b/soc/nordic_nrf/Kconfig.defconfig @@ -5,7 +5,7 @@ if SOC_FAMILY_NRF -source "soc/soc_legacy/arm/nordic_nrf/*/Kconfig.defconfig.series" +rsource "*/Kconfig.defconfig.series" # If the kernel has timer support, enable clock control if SYS_CLOCK_EXISTS diff --git a/soc/nordic_nrf/Kconfig.soc b/soc/nordic_nrf/Kconfig.soc new file mode 100644 index 00000000000..c4d114c1e4b --- /dev/null +++ b/soc/nordic_nrf/Kconfig.soc @@ -0,0 +1,47 @@ +# Copyright (c) 2022 Nordic Semiconductor ASA + +# SPDX-License-Identifier: Apache-2.0 + +# This file contains Zephyr hw modul v2 Kconfig description for +# Nordic Semiconductor SoCs. +# The hw model v2 is generic and contains no Kconfig references outside its own +# tree structure and is therefore reusable in Kconfig trees outside a Zephyr build. + +config SOC_SERIES + default "nrf51" if SOC_SERIES_NRF51X + default "nrf52" if SOC_SERIES_NRF52X + default "nrf53" if SOC_SERIES_NRF53X + default "nrf91" if SOC_SERIES_NRF91X + +config SOC_FAMILY_NRF + bool + +config SOC_FAMILY + string + default "nordic_nrf" + depends on SOC_FAMILY_NRF + +config SOC_SERIES_NRF51X + bool + help + Enable support for NRF51 MCU series + +config SOC_SERIES_NRF52X + bool + select SOC_FAMILY_NRF + help + Enable support for NRF52 MCU series + +config SOC_SERIES_NRF53X + bool + select SOC_FAMILY_NRF + help + Enable support for NRF53 MCU series + +config SOC_SERIES_NRF91X + bool + select SOC_FAMILY_NRF + help + Enable support for NRF91 MCU series + +rsource "*/Kconfig.soc" diff --git a/soc/soc_legacy/arm/nordic_nrf/common/CMakeLists.txt b/soc/nordic_nrf/common/CMakeLists.txt similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/common/CMakeLists.txt rename to soc/nordic_nrf/common/CMakeLists.txt diff --git a/soc/soc_legacy/arm/nordic_nrf/common/poweroff.c b/soc/nordic_nrf/common/poweroff.c similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/common/poweroff.c rename to soc/nordic_nrf/common/poweroff.c diff --git a/soc/soc_legacy/arm/nordic_nrf/common/soc_nrf_common.S b/soc/nordic_nrf/common/soc_nrf_common.S similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/common/soc_nrf_common.S rename to soc/nordic_nrf/common/soc_nrf_common.S diff --git a/soc/soc_legacy/arm/nordic_nrf/common/soc_nrf_common.h b/soc/nordic_nrf/common/soc_nrf_common.h similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/common/soc_nrf_common.h rename to soc/nordic_nrf/common/soc_nrf_common.h diff --git a/soc/soc_legacy/arm/nordic_nrf/common/soc_secure.c b/soc/nordic_nrf/common/soc_secure.c similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/common/soc_secure.c rename to soc/nordic_nrf/common/soc_secure.c diff --git a/soc/soc_legacy/arm/nordic_nrf/common/soc_secure.h b/soc/nordic_nrf/common/soc_secure.h similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/common/soc_secure.h rename to soc/nordic_nrf/common/soc_secure.h diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf51/CMakeLists.txt b/soc/nordic_nrf/nrf51/CMakeLists.txt similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf51/CMakeLists.txt rename to soc/nordic_nrf/nrf51/CMakeLists.txt diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.series b/soc/nordic_nrf/nrf51/Kconfig.defconfig.series similarity index 76% rename from soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.series rename to soc/nordic_nrf/nrf51/Kconfig.defconfig.series index baba594bc39..0168531e1d5 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.series +++ b/soc/nordic_nrf/nrf51/Kconfig.defconfig.series @@ -6,11 +6,6 @@ if SOC_SERIES_NRF51X -source "soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51*" - -config SOC_SERIES - default "nrf51" - config NUM_IRQS default 26 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.series b/soc/nordic_nrf/nrf51/Kconfig.series similarity index 89% rename from soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.series rename to soc/nordic_nrf/nrf51/Kconfig.series index c484d44fc30..c81ad299962 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.series +++ b/soc/nordic_nrf/nrf51/Kconfig.series @@ -5,7 +5,6 @@ # SPDX-License-Identifier: Apache-2.0 config SOC_SERIES_NRF51X - bool "Nordic Semiconductor nRF51 series MCU" select ARM select CPU_CORTEX_M0 select SOC_FAMILY_NRF diff --git a/soc/nordic_nrf/nrf51/Kconfig.soc b/soc/nordic_nrf/nrf51/Kconfig.soc new file mode 100644 index 00000000000..9b29c78e31a --- /dev/null +++ b/soc/nordic_nrf/nrf51/Kconfig.soc @@ -0,0 +1,28 @@ +# Nordic Semiconductor nRF51 MCU line + +# Copyright (c) 2016 Linaro Limited +# SPDX-License-Identifier: Apache-2.0 + +config SOC_NRF51822_QFAA + bool + select SOC_SERIES_NRF51X + +config SOC_NRF51822_QFAB + bool + select SOC_SERIES_NRF51X + +config SOC_NRF51822_QFAC + bool + select SOC_SERIES_NRF51X + +config SOC + default "nRF51822_QFAA" + depends on SOC_NRF51822_QFAA + +config SOC + default "nRF51822_QFAB" + depends on SOC_NRF51822_QFAB + +config SOC + default "nRF51822_QFAC" + depends on SOC_NRF51822_QFAC diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf51/soc.c b/soc/nordic_nrf/nrf51/soc.c similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf51/soc.c rename to soc/nordic_nrf/nrf51/soc.c diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf51/soc.h b/soc/nordic_nrf/nrf51/soc.h similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf51/soc.h rename to soc/nordic_nrf/nrf51/soc.h diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/CMakeLists.txt b/soc/nordic_nrf/nrf52/CMakeLists.txt similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/CMakeLists.txt rename to soc/nordic_nrf/nrf52/CMakeLists.txt diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.soc b/soc/nordic_nrf/nrf52/Kconfig similarity index 74% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.soc rename to soc/nordic_nrf/nrf52/Kconfig index de6a16129d3..1464ab2d8cd 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.soc +++ b/soc/nordic_nrf/nrf52/Kconfig @@ -1,87 +1,23 @@ # Nordic Semiconductor nRF52 MCU line -# Copyright (c) 2016-2019 Nordic Semiconductor ASA +# Copyright (c) 2016-2023 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 if SOC_SERIES_NRF52X -config SOC_NRF52805 - bool - -config SOC_NRF52810 - bool - -config SOC_NRF52811 - bool - -config SOC_NRF52820 - bool - config SOC_NRF52832 - bool select CPU_CORTEX_M_HAS_DWT select CPU_HAS_FPU config SOC_NRF52833 - bool select SOC_COMPATIBLE_NRF52833 select CPU_CORTEX_M_HAS_DWT select CPU_HAS_FPU config SOC_NRF52840 - bool select CPU_CORTEX_M_HAS_DWT select CPU_HAS_FPU -choice - prompt "nRF52x MCU Selection" - -config SOC_NRF52805_CAAA - bool "NRF52805_CAAA" - select SOC_NRF52805 - -config SOC_NRF52810_QFAA - bool "NRF52810_QFAA" - select SOC_NRF52810 - -config SOC_NRF52811_QFAA - bool "NRF52811_QFAA" - select SOC_NRF52811 - -config SOC_NRF52820_QDAA - bool "NRF52820_QDAA" - select SOC_NRF52820 - -config SOC_NRF52832_CIAA - bool "NRF52832_CIAA" - select SOC_NRF52832 - -config SOC_NRF52832_QFAA - bool "NRF52832_QFAA" - select SOC_NRF52832 - -config SOC_NRF52832_QFAB - bool "NRF52832_QFAB" - select SOC_NRF52832 - -config SOC_NRF52833_QDAA - bool "NRF52833_QDAA" - select SOC_NRF52833 - -config SOC_NRF52833_QIAA - bool "NRF52833_QIAA" - select SOC_NRF52833 - -config SOC_NRF52840_QFAA - bool "NRF52840_QFAA" - select SOC_NRF52840 - -config SOC_NRF52840_QIAA - bool "NRF52840_QIAA" - select SOC_NRF52840 - -endchoice - config SOC_DCDC_NRF52X bool help diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52805_CAAA b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52805_CAAA similarity index 84% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52805_CAAA rename to soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52805_CAAA index 25bf9b4e68f..684276ebb54 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52805_CAAA +++ b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52805_CAAA @@ -5,9 +5,6 @@ if SOC_NRF52805_CAAA -config SOC - default "nRF52805_CAAA" - config NUM_IRQS default 26 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52810_QFAA b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52810_QFAA similarity index 84% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52810_QFAA rename to soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52810_QFAA index 1b5a7b5c314..7f87637b92f 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52810_QFAA +++ b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52810_QFAA @@ -5,9 +5,6 @@ if SOC_NRF52810_QFAA -config SOC - default "nRF52810_QFAA" - config NUM_IRQS default 30 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52811_QFAA b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52811_QFAA similarity index 84% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52811_QFAA rename to soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52811_QFAA index 7b291305208..bc4c757e6f8 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52811_QFAA +++ b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52811_QFAA @@ -5,9 +5,6 @@ if SOC_NRF52811_QFAA -config SOC - default "nRF52811_QFAA" - config NUM_IRQS default 30 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52820_QDAA b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52820_QDAA similarity index 81% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52820_QDAA rename to soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52820_QDAA index 4aa761b93be..2db0291afad 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52820_QDAA +++ b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52820_QDAA @@ -5,10 +5,6 @@ if SOC_NRF52820_QDAA -config SOC - string - default "nRF52820_QDAA" - config NUM_IRQS int default 40 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_CIAA b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_CIAA similarity index 87% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_CIAA rename to soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_CIAA index 4060453badc..4f9101f4c61 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_CIAA +++ b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_CIAA @@ -5,9 +5,6 @@ if SOC_NRF52832_CIAA -config SOC - default "nRF52832_CIAA" - config NUM_IRQS default 39 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAA b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAA similarity index 87% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAA rename to soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAA index cc48aaeaccb..b579b1e3ed0 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAA +++ b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAA @@ -5,9 +5,6 @@ if SOC_NRF52832_QFAA -config SOC - default "nRF52832_QFAA" - config NUM_IRQS default 39 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAB b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAB similarity index 87% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAB rename to soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAB index 2b9491cae3b..1c494d222c9 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAB +++ b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAB @@ -5,9 +5,6 @@ if SOC_NRF52832_QFAB -config SOC - default "nRF52832_QFAB" - config NUM_IRQS default 39 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QDAA b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QDAA similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QDAA rename to soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QDAA diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QIAA b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QIAA similarity index 81% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QIAA rename to soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QIAA index 6256b30e741..add0c89503b 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QIAA +++ b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QIAA @@ -5,10 +5,6 @@ if SOC_NRF52833_QIAA -config SOC - string - default "nRF52833_QIAA" - config NUM_IRQS int default 48 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QFAA b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QFAA similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QFAA rename to soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QFAA diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QIAA b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QIAA similarity index 84% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QIAA rename to soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QIAA index 62ca5e76cbd..a2ac50ca5dd 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QIAA +++ b/soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QIAA @@ -5,9 +5,6 @@ if SOC_NRF52840_QIAA -config SOC - default "nRF52840_QIAA" - config NUM_IRQS default 48 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.series b/soc/nordic_nrf/nrf52/Kconfig.defconfig.series similarity index 72% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.series rename to soc/nordic_nrf/nrf52/Kconfig.defconfig.series index 552839628d8..eed012878e2 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.series +++ b/soc/nordic_nrf/nrf52/Kconfig.defconfig.series @@ -5,10 +5,7 @@ if SOC_SERIES_NRF52X -source "soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52*" - -config SOC_SERIES - default "nrf52" +rsource "Kconfig.defconfig.nrf52*" # If the kernel has timer support, enable the timer config NRF_RTC_TIMER diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.series b/soc/nordic_nrf/nrf52/Kconfig.series similarity index 90% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.series rename to soc/nordic_nrf/nrf52/Kconfig.series index d47089cd595..aa0859adf83 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.series +++ b/soc/nordic_nrf/nrf52/Kconfig.series @@ -4,7 +4,6 @@ # SPDX-License-Identifier: Apache-2.0 config SOC_SERIES_NRF52X - bool "Nordic Semiconductor nRF52 series MCU" select ARM select SOC_COMPATIBLE_NRF52X select CPU_CORTEX_M4 diff --git a/soc/nordic_nrf/nrf52/Kconfig.soc b/soc/nordic_nrf/nrf52/Kconfig.soc new file mode 100644 index 00000000000..bd1db92a711 --- /dev/null +++ b/soc/nordic_nrf/nrf52/Kconfig.soc @@ -0,0 +1,105 @@ +# Nordic Semiconductor nRF52 MCU line, Zephyr hw model v2 compliant + +# Copyright (c) 2022-2023 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +config SOC_NRF52805 + bool + select SOC_SERIES_NRF52X + +config SOC_NRF52810 + bool + select SOC_SERIES_NRF52X + +config SOC_NRF52811 + bool + select SOC_SERIES_NRF52X + +config SOC_NRF52820 + bool + select SOC_SERIES_NRF52X + +config SOC_NRF52832 + bool + select SOC_SERIES_NRF52X + +config SOC_NRF52833 + bool + select SOC_SERIES_NRF52X + +config SOC_NRF52840 + bool + select SOC_SERIES_NRF52X + +config SOC_NRF52805_CAAA + bool + select SOC_NRF52805 + +config SOC_NRF52810_QFAA + bool + select SOC_NRF52810 + +config SOC_NRF52811_QFAA + bool + select SOC_NRF52811 + +config SOC_NRF52820_QDAA + bool + select SOC_NRF52820 + +config SOC_NRF52832_CIAA + bool + select SOC_NRF52832 + +config SOC_NRF52832_QFAA + bool + select SOC_NRF52832 + +config SOC_NRF52832_QFAB + bool + select SOC_NRF52832 + +config SOC_NRF52833_QIAA + bool + select SOC_NRF52833 + +config SOC_NRF52840_QIAA + bool + select SOC_NRF52840 + +config SOC + default "nRF52805_CAAA" + depends on SOC_NRF52805_CAAA + +config SOC + default "nRF52840_QIAA" + depends on SOC_NRF52840_QIAA + +config SOC + default "nRF52810_QFAA" + depends on SOC_NRF52810_QFAA + +config SOC + default "nRF52811_QFAA" + depends on SOC_NRF52811_QFAA + +config SOC + string + default "nRF52820_QDAA" + depends on SOC_NRF52820_QDAA + +config SOC + default "nRF52832_CIAA" + depends on SOC_NRF52832_CIAA + +config SOC + default "nRF52832_QFAA" + depends on SOC_NRF52832_QFAA + +config SOC + default "nRF52832_QFAB" + depends on SOC_NRF52832_QFAB + +config SOC + default "nRF52833_QIAA" + depends on SOC_NRF52833_QIAA diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/soc.c b/soc/nordic_nrf/nrf52/soc.c similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/soc.c rename to soc/nordic_nrf/nrf52/soc.c diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf52/soc.h b/soc/nordic_nrf/nrf52/soc.h similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf52/soc.h rename to soc/nordic_nrf/nrf52/soc.h diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf53/CMakeLists.txt b/soc/nordic_nrf/nrf53/CMakeLists.txt similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf53/CMakeLists.txt rename to soc/nordic_nrf/nrf53/CMakeLists.txt diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.soc b/soc/nordic_nrf/nrf53/Kconfig similarity index 96% rename from soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.soc rename to soc/nordic_nrf/nrf53/Kconfig index 3ecf09ecd92..fa3ad54b907 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.soc +++ b/soc/nordic_nrf/nrf53/Kconfig @@ -4,8 +4,8 @@ # SPDX-License-Identifier: Apache-2.0 if SOC_SERIES_NRF53X + config SOC_NRF5340_CPUAPP - bool select CPU_HAS_NRF_IDAU select CPU_HAS_FPU select ARMV8_M_DSP @@ -15,25 +15,12 @@ config SOC_NRF5340_CPUAPP imply SOC_NRF53_ANOMALY_168_WORKAROUND config SOC_NRF5340_CPUNET - bool + select ARM_ON_EXIT_CPU_IDLE select SOC_COMPATIBLE_NRF5340_CPUNET imply SOC_NRF53_ANOMALY_160_WORKAROUND_NEEDED imply SOC_NRF53_RTC_PRETICK if !WDT_NRFX imply SOC_NRF53_ANOMALY_168_WORKAROUND -choice - prompt "nRF53x MCU Selection" - -config SOC_NRF5340_CPUAPP_QKAA - bool "NRF5340_CPUAPP_QKAA" - select SOC_NRF5340_CPUAPP - -config SOC_NRF5340_CPUNET_QKAA - bool "NRF5340_CPUNET_QKAA" - select SOC_NRF5340_CPUNET - -endchoice - config SOC_NRF53_ANOMALY_160_WORKAROUND_NEEDED bool "Workaround for nRF5340 anomaly 160" imply SOC_NRF53_ANOMALY_160_WORKAROUND @@ -52,6 +39,25 @@ config SOC_NRF53_ANOMALY_160_WORKAROUND depends on SYS_CLOCK_EXISTS select ARM_ON_ENTER_CPU_IDLE_HOOK +config SOC_NRF53_ANOMALY_168_WORKAROUND + bool "Workaround for nRF5340 anomaly 168" + select ARM_ON_EXIT_CPU_IDLE + help + Indicates that the workaround for the anomaly 168 that affects + the nRF5340 SoC should be applied. + The workaround involves execution of 8 NOP instructions when the CPU + exist its idle state (when the WFI/WFE instruction returns) and it is + enabled by default for both the application and network core. + +config SOC_NRF53_ANOMALY_168_WORKAROUND_FOR_EXECUTION_FROM_RAM + bool "Extend the workaround to execution at 128 MHz from RAM" + depends on SOC_NRF53_ANOMALY_168_WORKAROUND && SOC_NRF5340_CPUAPP + help + Indicates that the anomaly 168 workaround is to be extended to cover + also a specific case when the WFI/WFE instruction is executed at 128 + MHz from RAM. Then, 26 instead of 8 NOP instructions needs to be + executed after WFI/WFE. This extension is not enabled by default. + config SOC_NRF53_RTC_PRETICK bool "Pre-tick workaround for nRF5340 anomaly 165" depends on (SYS_CLOCK_EXISTS && SOC_NRF5340_CPUNET) || SOC_NRF5340_CPUAPP @@ -80,25 +86,6 @@ config SOC_NRF53_RTC_PRETICK_IPC_CH_TO_NET endif -config SOC_NRF53_ANOMALY_168_WORKAROUND - bool "Workaround for nRF5340 anomaly 168" - select ARM_ON_EXIT_CPU_IDLE - help - Indicates that the workaround for the anomaly 168 that affects - the nRF5340 SoC should be applied. - The workaround involves execution of 8 NOP instructions when the CPU - exist its idle state (when the WFI/WFE instruction returns) and it is - enabled by default for both the application and network core. - -config SOC_NRF53_ANOMALY_168_WORKAROUND_FOR_EXECUTION_FROM_RAM - bool "Extend the workaround to execution at 128 MHz from RAM" - depends on SOC_NRF53_ANOMALY_168_WORKAROUND && SOC_NRF5340_CPUAPP - help - Indicates that the anomaly 168 workaround is to be extended to cover - also a specific case when the WFI/WFE instruction is executed at 128 - MHz from RAM. Then, 26 instead of 8 NOP instructions needs to be - executed after WFI/WFE. This extension is not enabled by default. - if SOC_NRF5340_CPUAPP config SOC_DCDC_NRF53X_APP diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUAPP_QKAA b/soc/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUAPP_QKAA similarity index 91% rename from soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUAPP_QKAA rename to soc/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUAPP_QKAA index f0f7f5a7d84..ab74bd6a9fb 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUAPP_QKAA +++ b/soc/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUAPP_QKAA @@ -5,9 +5,6 @@ if SOC_NRF5340_CPUAPP_QKAA -config SOC - default "nRF5340_CPUAPP_QKAA" - config NUM_IRQS default 69 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUNET_QKAA b/soc/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUNET_QKAA similarity index 90% rename from soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUNET_QKAA rename to soc/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUNET_QKAA index 0c60adc04f3..41961784daf 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUNET_QKAA +++ b/soc/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUNET_QKAA @@ -5,9 +5,6 @@ if SOC_NRF5340_CPUNET_QKAA -config SOC - default "nRF5340_CPUNET_QKAA" - config NUM_IRQS default 30 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.defconfig.series b/soc/nordic_nrf/nrf53/Kconfig.defconfig.series similarity index 72% rename from soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.defconfig.series rename to soc/nordic_nrf/nrf53/Kconfig.defconfig.series index 4e8c655d367..d41e2e57f58 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.defconfig.series +++ b/soc/nordic_nrf/nrf53/Kconfig.defconfig.series @@ -5,10 +5,7 @@ if SOC_SERIES_NRF53X -source "soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.defconfig.nrf53*" - -config SOC_SERIES - default "nrf53" +rsource "Kconfig.defconfig.nrf53*" # If the kernel has timer support, enable the timer config NRF_RTC_TIMER diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.series b/soc/nordic_nrf/nrf53/Kconfig.series similarity index 86% rename from soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.series rename to soc/nordic_nrf/nrf53/Kconfig.series index 28d1c10fc1e..52abdbbd7e9 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.series +++ b/soc/nordic_nrf/nrf53/Kconfig.series @@ -4,7 +4,7 @@ # SPDX-License-Identifier: Apache-2.0 config SOC_SERIES_NRF53X - bool "Nordic Semiconductor nRF53 series MCU" + bool "Nordic Semiconductor nRF53 series MCU" if "$(SOC_SCHEME)" = "v1" select ARM select SOC_COMPATIBLE_NRF53X select CPU_CORTEX_M33 diff --git a/soc/nordic_nrf/nrf53/Kconfig.soc b/soc/nordic_nrf/nrf53/Kconfig.soc new file mode 100644 index 00000000000..e14ed1d0c77 --- /dev/null +++ b/soc/nordic_nrf/nrf53/Kconfig.soc @@ -0,0 +1,28 @@ +# Nordic Semiconductor nRF52 MCU line, Zephyr hw model v2 compliant + +# Copyright (c) 2023 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +config SOC_NRF5340_CPUAPP + bool + select SOC_SERIES_NRF53X + +config SOC_NRF5340_CPUNET + bool + select SOC_SERIES_NRF53X + +config SOC_NRF5340_CPUAPP_QKAA + bool + select SOC_NRF5340_CPUAPP + +config SOC_NRF5340_CPUNET_QKAA + bool + select SOC_NRF5340_CPUNET + +config SOC + default "nRF5340_CPUAPP_QKAA" + depends on SOC_NRF5340_CPUAPP_QKAA + +config SOC + default "nRF5340_CPUNET_QKAA" + depends on SOC_NRF5340_CPUNET_QKAA diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.sync_rtc b/soc/nordic_nrf/nrf53/Kconfig.sync_rtc similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.sync_rtc rename to soc/nordic_nrf/nrf53/Kconfig.sync_rtc diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.sync_rtc_ipm b/soc/nordic_nrf/nrf53/Kconfig.sync_rtc_ipm similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.sync_rtc_ipm rename to soc/nordic_nrf/nrf53/Kconfig.sync_rtc_ipm diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf53/soc.c b/soc/nordic_nrf/nrf53/soc.c similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf53/soc.c rename to soc/nordic_nrf/nrf53/soc.c diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf53/soc.h b/soc/nordic_nrf/nrf53/soc.h similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf53/soc.h rename to soc/nordic_nrf/nrf53/soc.h diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf53/soc_cpu_idle.h b/soc/nordic_nrf/nrf53/soc_cpu_idle.h similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf53/soc_cpu_idle.h rename to soc/nordic_nrf/nrf53/soc_cpu_idle.h diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf53/sync_rtc.c b/soc/nordic_nrf/nrf53/sync_rtc.c similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf53/sync_rtc.c rename to soc/nordic_nrf/nrf53/sync_rtc.c diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf91/CMakeLists.txt b/soc/nordic_nrf/nrf91/CMakeLists.txt similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf91/CMakeLists.txt rename to soc/nordic_nrf/nrf91/CMakeLists.txt diff --git a/soc/nordic_nrf/nrf91/Kconfig b/soc/nordic_nrf/nrf91/Kconfig new file mode 100644 index 00000000000..e09ed2da2e0 --- /dev/null +++ b/soc/nordic_nrf/nrf91/Kconfig @@ -0,0 +1,12 @@ +# Nordic Semiconductor nRF91 MCU line + +# Copyright (c) 2018 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +if SOC_SERIES_NRF91X + +config NRF_ENABLE_ICACHE + bool "Instruction cache (I-Cache)" + default y + +endif # SOC_SERIES_NRF91X diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.nrf9131_LACA b/soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9131_LACA similarity index 84% rename from soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.nrf9131_LACA rename to soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9131_LACA index c5004045935..b34a8d2384b 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.nrf9131_LACA +++ b/soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9131_LACA @@ -5,9 +5,6 @@ if SOC_NRF9131_LACA -config SOC - default "nRF9131_LACA" - config NUM_IRQS default 65 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.nrf9160_SICA b/soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9160_SICA similarity index 84% rename from soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.nrf9160_SICA rename to soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9160_SICA index e8440846d2e..5970464a6bd 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.nrf9160_SICA +++ b/soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9160_SICA @@ -5,9 +5,6 @@ if SOC_NRF9160_SICA -config SOC - default "nRF9160_SICA" - config NUM_IRQS default 65 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.nrf9161_LACA b/soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9161_LACA similarity index 84% rename from soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.nrf9161_LACA rename to soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9161_LACA index 3358e961203..1a4d4b863b2 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.nrf9161_LACA +++ b/soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9161_LACA @@ -5,9 +5,6 @@ if SOC_NRF9161_LACA -config SOC - default "nRF9161_LACA" - config NUM_IRQS default 65 diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.series b/soc/nordic_nrf/nrf91/Kconfig.defconfig.series similarity index 72% rename from soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.series rename to soc/nordic_nrf/nrf91/Kconfig.defconfig.series index 98ff3bac2bb..e28213fc873 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.series +++ b/soc/nordic_nrf/nrf91/Kconfig.defconfig.series @@ -5,10 +5,7 @@ if SOC_SERIES_NRF91X -source "soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.nrf91*" - -config SOC_SERIES - default "nrf91" +rsource "Kconfig.defconfig.nrf91*" # If the kernel has timer support, enable the timer config NRF_RTC_TIMER diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.series b/soc/nordic_nrf/nrf91/Kconfig.series similarity index 90% rename from soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.series rename to soc/nordic_nrf/nrf91/Kconfig.series index 1be69c377e5..4df92b850ff 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.series +++ b/soc/nordic_nrf/nrf91/Kconfig.series @@ -4,7 +4,6 @@ # SPDX-License-Identifier: Apache-2.0 config SOC_SERIES_NRF91X - bool "Nordic Semiconductor nRF91 series MCU" select ARM select CPU_CORTEX_M33 select CPU_CORTEX_M_HAS_DWT @@ -32,4 +31,8 @@ config NRF_SPU_RAM_REGION_SIZE default 0x2000 help RAM region size for the NRF_SPU peripheral + +config NRF_ENABLE_ICACHE + bool "Instruction cache (I-Cache)" + default y endif diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.soc b/soc/nordic_nrf/nrf91/Kconfig.soc similarity index 76% rename from soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.soc rename to soc/nordic_nrf/nrf91/Kconfig.soc index 0267ada4850..835ed0fbba8 100644 --- a/soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.soc +++ b/soc/nordic_nrf/nrf91/Kconfig.soc @@ -3,19 +3,16 @@ # Copyright (c) 2018 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 -if SOC_SERIES_NRF91X - config SOC_NRF9120 bool + select SOC_SERIES_NRF91X config SOC_NRF9160 bool - -choice - prompt "nRF91x MCU Selection" + select SOC_SERIES_NRF91X config SOC_NRF9160_SICA - bool "NRF9160_SICA" + bool select SOC_NRF9160 # The nRF9161 is technically a SiP (System-in-Package) that consists of @@ -27,21 +24,25 @@ config SOC_NRF9160_SICA # options in Kconfig, for example) the nRF9161 term is used and nRF9120 # underneath. config SOC_NRF9161_LACA - bool "NRF9161_LACA" + bool select SOC_NRF9120 config SOC_NRF9131_LACA - bool "NRF9131_LACA" + bool select SOC_NRF9120 config SOC_NRF9151_LACA - bool "NRF9151_LACA" + bool select SOC_NRF9120 -endchoice +config SOC + default "nRF9131_LACA" + depends on SOC_NRF9131_LACA -config NRF_ENABLE_ICACHE - bool "Instruction cache (I-Cache)" - default y +config SOC + default "nRF9160_SICA" + depends on SOC_NRF9160_SICA -endif # SOC_SERIES_NRF91X +config SOC + default "nRF9161_LACA" + depends on SOC_NRF9161_LACA diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf91/soc.c b/soc/nordic_nrf/nrf91/soc.c similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf91/soc.c rename to soc/nordic_nrf/nrf91/soc.c diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf91/soc.h b/soc/nordic_nrf/nrf91/soc.h similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/nrf91/soc.h rename to soc/nordic_nrf/nrf91/soc.h diff --git a/soc/nordic_nrf/soc.yml b/soc/nordic_nrf/soc.yml new file mode 100644 index 00000000000..b8fbbbb68e5 --- /dev/null +++ b/soc/nordic_nrf/soc.yml @@ -0,0 +1,27 @@ +family: +- name: nordic_nrf + series: + - name: nrf51 + socs: + - name: nrf51422 + - name: nrf51822 + - name: nrf52 + socs: + - name: nrf52805 + - name: nrf52810 + - name: nrf52811 + - name: nrf52820 + - name: nrf52832 + - name: nrf52833 + - name: nrf52840 + - name: nrf53 + socs: + - name: nrf5340 + cpuclusters: + - name: cpuapp + - name: cpunet + - name: nrf91 + socs: + - name: nrf9160 + - name: nrf9161 + - name: nrf9131 diff --git a/soc/soc_legacy/arm/nordic_nrf/timing.c b/soc/nordic_nrf/timing.c similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/timing.c rename to soc/nordic_nrf/timing.c diff --git a/soc/soc_legacy/arm/nordic_nrf/validate_base_addresses.c b/soc/nordic_nrf/validate_base_addresses.c similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/validate_base_addresses.c rename to soc/nordic_nrf/validate_base_addresses.c diff --git a/soc/soc_legacy/arm/nordic_nrf/validate_enabled_instances.c b/soc/nordic_nrf/validate_enabled_instances.c similarity index 100% rename from soc/soc_legacy/arm/nordic_nrf/validate_enabled_instances.c rename to soc/nordic_nrf/validate_enabled_instances.c diff --git a/soc/soc_legacy/arm/nordic_nrf/Kconfig.soc b/soc/soc_legacy/arm/nordic_nrf/Kconfig.soc deleted file mode 100644 index 80917569553..00000000000 --- a/soc/soc_legacy/arm/nordic_nrf/Kconfig.soc +++ /dev/null @@ -1,6 +0,0 @@ -# Nordic Semiconductor nRFx MCU line - -# Copyright (c) 2016-2018 Nordic Semiconductor ASA -# SPDX-License-Identifier: Apache-2.0 - -source "soc/soc_legacy/arm/nordic_nrf/*/Kconfig.series" diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAA b/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAA deleted file mode 100644 index ada60bd28f4..00000000000 --- a/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAA +++ /dev/null @@ -1,9 +0,0 @@ -# Nordic Semiconductor nRF51822 MCU - -# Copyright (c) 2016 Linaro Limited -# Copyright (c) 2016 Nordic Semiconductor ASA -# SPDX-License-Identifier: Apache-2.0 - -config SOC - default "nRF51822_QFAA" - depends on SOC_NRF51822_QFAA diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAB b/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAB deleted file mode 100644 index a1027b4cfd8..00000000000 --- a/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAB +++ /dev/null @@ -1,9 +0,0 @@ -# Nordic Semiconductor nRF51822 MCU - -# Copyright (c) 2016 Linaro Limited -# Copyright (c) 2016 Nordic Semiconductor ASA -# SPDX-License-Identifier: Apache-2.0 - -config SOC - default "nRF51822_QFAB" - depends on SOC_NRF51822_QFAB diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAC b/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAC deleted file mode 100644 index 7f92c991dec..00000000000 --- a/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAC +++ /dev/null @@ -1,9 +0,0 @@ -# Nordic Semiconductor nRF51822 MCU - -# Copyright (c) 2016 Linaro Limited -# Copyright (c) 2016 Nordic Semiconductor ASA -# SPDX-License-Identifier: Apache-2.0 - -config SOC - default "nRF51822_QFAC" - depends on SOC_NRF51822_QFAC diff --git a/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.soc b/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.soc deleted file mode 100644 index aa42e2a729a..00000000000 --- a/soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.soc +++ /dev/null @@ -1,19 +0,0 @@ -# Nordic Semiconductor nRF51 MCU line - -# Copyright (c) 2016 Linaro Limited -# SPDX-License-Identifier: Apache-2.0 - -choice - prompt "nRF51x MCU Selection" - depends on SOC_SERIES_NRF51X - -config SOC_NRF51822_QFAA - bool "NRF51822_QFAA" - -config SOC_NRF51822_QFAB - bool "NRF51822_QFAB" - -config SOC_NRF51822_QFAC - bool "NRF51822_QFAC" - -endchoice diff --git a/soc/soc_legacy/arm/renesas_ra/ra4m1/linker.ld b/soc/soc_legacy/arm/renesas_ra/ra4m1/linker.ld deleted file mode 100644 index 44d5ee51889..00000000000 --- a/soc/soc_legacy/arm/renesas_ra/ra4m1/linker.ld +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright (c) 2023 TOKITA Hiroshi - * - * SPDX-License-Identifier: Apache-2.0 - * - */ - -#include