Browse Source
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
67 changed files with 302 additions and 241 deletions
@ -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,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 |
@ -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 |
@ -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,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,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 |
@ -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 |
@ -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" |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
Loading…
Reference in new issue