Browse Source

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 <jamie.mccrae@nordicsemi.no>
pull/69687/head
Jamie McCrae 1 year ago committed by Carles Cufi
parent
commit
c79f1b0d94
  1. 3
      soc/nordic_nrf/CMakeLists.txt
  2. 8
      soc/nordic_nrf/Kconfig
  3. 2
      soc/nordic_nrf/Kconfig.defconfig
  4. 47
      soc/nordic_nrf/Kconfig.soc
  5. 0
      soc/nordic_nrf/common/CMakeLists.txt
  6. 0
      soc/nordic_nrf/common/poweroff.c
  7. 0
      soc/nordic_nrf/common/soc_nrf_common.S
  8. 0
      soc/nordic_nrf/common/soc_nrf_common.h
  9. 0
      soc/nordic_nrf/common/soc_secure.c
  10. 0
      soc/nordic_nrf/common/soc_secure.h
  11. 0
      soc/nordic_nrf/nrf51/CMakeLists.txt
  12. 5
      soc/nordic_nrf/nrf51/Kconfig.defconfig.series
  13. 1
      soc/nordic_nrf/nrf51/Kconfig.series
  14. 28
      soc/nordic_nrf/nrf51/Kconfig.soc
  15. 0
      soc/nordic_nrf/nrf51/soc.c
  16. 0
      soc/nordic_nrf/nrf51/soc.h
  17. 0
      soc/nordic_nrf/nrf52/CMakeLists.txt
  18. 66
      soc/nordic_nrf/nrf52/Kconfig
  19. 3
      soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52805_CAAA
  20. 3
      soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52810_QFAA
  21. 3
      soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52811_QFAA
  22. 4
      soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52820_QDAA
  23. 3
      soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_CIAA
  24. 3
      soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAA
  25. 3
      soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAB
  26. 0
      soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QDAA
  27. 4
      soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QIAA
  28. 0
      soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QFAA
  29. 3
      soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QIAA
  30. 5
      soc/nordic_nrf/nrf52/Kconfig.defconfig.series
  31. 1
      soc/nordic_nrf/nrf52/Kconfig.series
  32. 105
      soc/nordic_nrf/nrf52/Kconfig.soc
  33. 0
      soc/nordic_nrf/nrf52/soc.c
  34. 0
      soc/nordic_nrf/nrf52/soc.h
  35. 0
      soc/nordic_nrf/nrf53/CMakeLists.txt
  36. 55
      soc/nordic_nrf/nrf53/Kconfig
  37. 3
      soc/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUAPP_QKAA
  38. 3
      soc/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUNET_QKAA
  39. 5
      soc/nordic_nrf/nrf53/Kconfig.defconfig.series
  40. 2
      soc/nordic_nrf/nrf53/Kconfig.series
  41. 28
      soc/nordic_nrf/nrf53/Kconfig.soc
  42. 0
      soc/nordic_nrf/nrf53/Kconfig.sync_rtc
  43. 0
      soc/nordic_nrf/nrf53/Kconfig.sync_rtc_ipm
  44. 0
      soc/nordic_nrf/nrf53/soc.c
  45. 0
      soc/nordic_nrf/nrf53/soc.h
  46. 0
      soc/nordic_nrf/nrf53/soc_cpu_idle.h
  47. 0
      soc/nordic_nrf/nrf53/sync_rtc.c
  48. 0
      soc/nordic_nrf/nrf91/CMakeLists.txt
  49. 12
      soc/nordic_nrf/nrf91/Kconfig
  50. 3
      soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9131_LACA
  51. 3
      soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9160_SICA
  52. 3
      soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9161_LACA
  53. 5
      soc/nordic_nrf/nrf91/Kconfig.defconfig.series
  54. 5
      soc/nordic_nrf/nrf91/Kconfig.series
  55. 29
      soc/nordic_nrf/nrf91/Kconfig.soc
  56. 0
      soc/nordic_nrf/nrf91/soc.c
  57. 0
      soc/nordic_nrf/nrf91/soc.h
  58. 27
      soc/nordic_nrf/soc.yml
  59. 0
      soc/nordic_nrf/timing.c
  60. 0
      soc/nordic_nrf/validate_base_addresses.c
  61. 0
      soc/nordic_nrf/validate_enabled_instances.c
  62. 6
      soc/soc_legacy/arm/nordic_nrf/Kconfig.soc
  63. 9
      soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAA
  64. 9
      soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAB
  65. 9
      soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAC
  66. 19
      soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.soc
  67. 8
      soc/soc_legacy/arm/renesas_ra/ra4m1/linker.ld

3
soc/soc_legacy/arm/nordic_nrf/CMakeLists.txt → soc/nordic_nrf/CMakeLists.txt

@ -4,6 +4,9 @@ zephyr_library() @@ -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

8
soc/soc_legacy/arm/nordic_nrf/Kconfig → soc/nordic_nrf/Kconfig

@ -3,10 +3,14 @@ @@ -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 @@ -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)

2
soc/soc_legacy/arm/nordic_nrf/Kconfig.defconfig → soc/nordic_nrf/Kconfig.defconfig

@ -5,7 +5,7 @@ @@ -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

47
soc/nordic_nrf/Kconfig.soc

@ -0,0 +1,47 @@ @@ -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"

0
soc/soc_legacy/arm/nordic_nrf/common/CMakeLists.txt → soc/nordic_nrf/common/CMakeLists.txt

0
soc/soc_legacy/arm/nordic_nrf/common/poweroff.c → soc/nordic_nrf/common/poweroff.c

0
soc/soc_legacy/arm/nordic_nrf/common/soc_nrf_common.S → soc/nordic_nrf/common/soc_nrf_common.S

0
soc/soc_legacy/arm/nordic_nrf/common/soc_nrf_common.h → soc/nordic_nrf/common/soc_nrf_common.h

0
soc/soc_legacy/arm/nordic_nrf/common/soc_secure.c → soc/nordic_nrf/common/soc_secure.c

0
soc/soc_legacy/arm/nordic_nrf/common/soc_secure.h → soc/nordic_nrf/common/soc_secure.h

0
soc/soc_legacy/arm/nordic_nrf/nrf51/CMakeLists.txt → soc/nordic_nrf/nrf51/CMakeLists.txt

5
soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.series → soc/nordic_nrf/nrf51/Kconfig.defconfig.series

@ -6,11 +6,6 @@ @@ -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

1
soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.series → soc/nordic_nrf/nrf51/Kconfig.series

@ -5,7 +5,6 @@ @@ -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

28
soc/nordic_nrf/nrf51/Kconfig.soc

@ -0,0 +1,28 @@ @@ -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

0
soc/soc_legacy/arm/nordic_nrf/nrf51/soc.c → soc/nordic_nrf/nrf51/soc.c

0
soc/soc_legacy/arm/nordic_nrf/nrf51/soc.h → soc/nordic_nrf/nrf51/soc.h

0
soc/soc_legacy/arm/nordic_nrf/nrf52/CMakeLists.txt → soc/nordic_nrf/nrf52/CMakeLists.txt

66
soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.soc → soc/nordic_nrf/nrf52/Kconfig

@ -1,87 +1,23 @@ @@ -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

3
soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52805_CAAA → soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52805_CAAA

@ -5,9 +5,6 @@ @@ -5,9 +5,6 @@
if SOC_NRF52805_CAAA
config SOC
default "nRF52805_CAAA"
config NUM_IRQS
default 26

3
soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52810_QFAA → soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52810_QFAA

@ -5,9 +5,6 @@ @@ -5,9 +5,6 @@
if SOC_NRF52810_QFAA
config SOC
default "nRF52810_QFAA"
config NUM_IRQS
default 30

3
soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52811_QFAA → soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52811_QFAA

@ -5,9 +5,6 @@ @@ -5,9 +5,6 @@
if SOC_NRF52811_QFAA
config SOC
default "nRF52811_QFAA"
config NUM_IRQS
default 30

4
soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52820_QDAA → soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52820_QDAA

@ -5,10 +5,6 @@ @@ -5,10 +5,6 @@
if SOC_NRF52820_QDAA
config SOC
string
default "nRF52820_QDAA"
config NUM_IRQS
int
default 40

3
soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_CIAA → soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_CIAA

@ -5,9 +5,6 @@ @@ -5,9 +5,6 @@
if SOC_NRF52832_CIAA
config SOC
default "nRF52832_CIAA"
config NUM_IRQS
default 39

3
soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAA → soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAA

@ -5,9 +5,6 @@ @@ -5,9 +5,6 @@
if SOC_NRF52832_QFAA
config SOC
default "nRF52832_QFAA"
config NUM_IRQS
default 39

3
soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAB → soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52832_QFAB

@ -5,9 +5,6 @@ @@ -5,9 +5,6 @@
if SOC_NRF52832_QFAB
config SOC
default "nRF52832_QFAB"
config NUM_IRQS
default 39

0
soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QDAA → soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QDAA

4
soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QIAA → soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QIAA

@ -5,10 +5,6 @@ @@ -5,10 +5,6 @@
if SOC_NRF52833_QIAA
config SOC
string
default "nRF52833_QIAA"
config NUM_IRQS
int
default 48

0
soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QFAA → soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QFAA

3
soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QIAA → soc/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QIAA

@ -5,9 +5,6 @@ @@ -5,9 +5,6 @@
if SOC_NRF52840_QIAA
config SOC
default "nRF52840_QIAA"
config NUM_IRQS
default 48

5
soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.defconfig.series → soc/nordic_nrf/nrf52/Kconfig.defconfig.series

@ -5,10 +5,7 @@ @@ -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

1
soc/soc_legacy/arm/nordic_nrf/nrf52/Kconfig.series → soc/nordic_nrf/nrf52/Kconfig.series

@ -4,7 +4,6 @@ @@ -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

105
soc/nordic_nrf/nrf52/Kconfig.soc

@ -0,0 +1,105 @@ @@ -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

0
soc/soc_legacy/arm/nordic_nrf/nrf52/soc.c → soc/nordic_nrf/nrf52/soc.c

0
soc/soc_legacy/arm/nordic_nrf/nrf52/soc.h → soc/nordic_nrf/nrf52/soc.h

0
soc/soc_legacy/arm/nordic_nrf/nrf53/CMakeLists.txt → soc/nordic_nrf/nrf53/CMakeLists.txt

55
soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.soc → soc/nordic_nrf/nrf53/Kconfig

@ -4,8 +4,8 @@ @@ -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 @@ -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 @@ -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 @@ -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

3
soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUAPP_QKAA → soc/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUAPP_QKAA

@ -5,9 +5,6 @@ @@ -5,9 +5,6 @@
if SOC_NRF5340_CPUAPP_QKAA
config SOC
default "nRF5340_CPUAPP_QKAA"
config NUM_IRQS
default 69

3
soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUNET_QKAA → soc/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUNET_QKAA

@ -5,9 +5,6 @@ @@ -5,9 +5,6 @@
if SOC_NRF5340_CPUNET_QKAA
config SOC
default "nRF5340_CPUNET_QKAA"
config NUM_IRQS
default 30

5
soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.defconfig.series → soc/nordic_nrf/nrf53/Kconfig.defconfig.series

@ -5,10 +5,7 @@ @@ -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

2
soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.series → soc/nordic_nrf/nrf53/Kconfig.series

@ -4,7 +4,7 @@ @@ -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

28
soc/nordic_nrf/nrf53/Kconfig.soc

@ -0,0 +1,28 @@ @@ -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

0
soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.sync_rtc → soc/nordic_nrf/nrf53/Kconfig.sync_rtc

0
soc/soc_legacy/arm/nordic_nrf/nrf53/Kconfig.sync_rtc_ipm → soc/nordic_nrf/nrf53/Kconfig.sync_rtc_ipm

0
soc/soc_legacy/arm/nordic_nrf/nrf53/soc.c → soc/nordic_nrf/nrf53/soc.c

0
soc/soc_legacy/arm/nordic_nrf/nrf53/soc.h → soc/nordic_nrf/nrf53/soc.h

0
soc/soc_legacy/arm/nordic_nrf/nrf53/soc_cpu_idle.h → soc/nordic_nrf/nrf53/soc_cpu_idle.h

0
soc/soc_legacy/arm/nordic_nrf/nrf53/sync_rtc.c → soc/nordic_nrf/nrf53/sync_rtc.c

0
soc/soc_legacy/arm/nordic_nrf/nrf91/CMakeLists.txt → soc/nordic_nrf/nrf91/CMakeLists.txt

12
soc/nordic_nrf/nrf91/Kconfig

@ -0,0 +1,12 @@ @@ -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

3
soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.nrf9131_LACA → soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9131_LACA

@ -5,9 +5,6 @@ @@ -5,9 +5,6 @@
if SOC_NRF9131_LACA
config SOC
default "nRF9131_LACA"
config NUM_IRQS
default 65

3
soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.nrf9160_SICA → soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9160_SICA

@ -5,9 +5,6 @@ @@ -5,9 +5,6 @@
if SOC_NRF9160_SICA
config SOC
default "nRF9160_SICA"
config NUM_IRQS
default 65

3
soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.nrf9161_LACA → soc/nordic_nrf/nrf91/Kconfig.defconfig.nrf9161_LACA

@ -5,9 +5,6 @@ @@ -5,9 +5,6 @@
if SOC_NRF9161_LACA
config SOC
default "nRF9161_LACA"
config NUM_IRQS
default 65

5
soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.defconfig.series → soc/nordic_nrf/nrf91/Kconfig.defconfig.series

@ -5,10 +5,7 @@ @@ -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

5
soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.series → soc/nordic_nrf/nrf91/Kconfig.series

@ -4,7 +4,6 @@ @@ -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 @@ -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

29
soc/soc_legacy/arm/nordic_nrf/nrf91/Kconfig.soc → soc/nordic_nrf/nrf91/Kconfig.soc

@ -3,19 +3,16 @@ @@ -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 @@ -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

0
soc/soc_legacy/arm/nordic_nrf/nrf91/soc.c → soc/nordic_nrf/nrf91/soc.c

0
soc/soc_legacy/arm/nordic_nrf/nrf91/soc.h → soc/nordic_nrf/nrf91/soc.h

27
soc/nordic_nrf/soc.yml

@ -0,0 +1,27 @@ @@ -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

0
soc/soc_legacy/arm/nordic_nrf/timing.c → soc/nordic_nrf/timing.c

0
soc/soc_legacy/arm/nordic_nrf/validate_base_addresses.c → soc/nordic_nrf/validate_base_addresses.c

0
soc/soc_legacy/arm/nordic_nrf/validate_enabled_instances.c → soc/nordic_nrf/validate_enabled_instances.c

6
soc/soc_legacy/arm/nordic_nrf/Kconfig.soc

@ -1,6 +0,0 @@ @@ -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"

9
soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAA

@ -1,9 +0,0 @@ @@ -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

9
soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAB

@ -1,9 +0,0 @@ @@ -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

9
soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.defconfig.nrf51822_QFAC

@ -1,9 +0,0 @@ @@ -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

19
soc/soc_legacy/arm/nordic_nrf/nrf51/Kconfig.soc

@ -1,19 +0,0 @@ @@ -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

8
soc/soc_legacy/arm/renesas_ra/ra4m1/linker.ld

@ -1,8 +0,0 @@ @@ -1,8 +0,0 @@
/*
* Copyright (c) 2023 TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
*
* SPDX-License-Identifier: Apache-2.0
*
*/
#include <zephyr/arch/arm/cortex_m/scripts/linker.ld>
Loading…
Cancel
Save