Skip to content

Commit 77194e5

Browse files
soc: nordic: Add initial support for nRF7120 SoC
Add SoC files for nrf7120. Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
1 parent 3d1aab5 commit 77194e5

File tree

12 files changed

+414
-0
lines changed

12 files changed

+414
-0
lines changed

soc/nordic/Kconfig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@ config SOC_COMPATIBLE_NRF54LM20A
4343
config SOC_COMPATIBLE_NRF54LM20A_CPUAPP
4444
bool
4545

46+
config SOC_COMPATIBLE_NRF7120
47+
bool
48+
49+
config SOC_COMPATIBLE_NRF7120_CPUAPP
50+
bool
51+
4652
config SOC_FAMILY_NORDIC_NRF
4753
select SOC_COMPATIBLE_NRF
4854
select SOC_RESET_HOOK

soc/nordic/Kconfig.soc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ config SOC_SERIES
1313
default "nrf53" if SOC_SERIES_NRF53X
1414
default "nrf54h" if SOC_SERIES_NRF54HX
1515
default "nrf54l" if SOC_SERIES_NRF54LX
16+
default "nrf71" if SOC_SERIES_NRF71X
1617
default "nrf91" if SOC_SERIES_NRF91X
1718
default "nrf92" if SOC_SERIES_NRF92X
1819

@@ -51,6 +52,12 @@ config SOC_SERIES_NRF54LX
5152
help
5253
Nordic Semiconductor nRF54L series MCU
5354

55+
config SOC_SERIES_NRF71X
56+
bool
57+
select SOC_FAMILY_NORDIC_NRF
58+
help
59+
Nordic Semiconductor nRF71 series MCU
60+
5461
config SOC_SERIES_NRF91X
5562
bool
5663
select SOC_FAMILY_NORDIC_NRF

soc/nordic/nrf71/CMakeLists.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copyright (c) 2025 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
zephyr_library_sources(soc.c)
5+
6+
zephyr_include_directories(.)
7+
8+
# Ensure that image size aligns with 16 bytes so that MRAMC finalizes all writes
9+
# for the image correctly
10+
zephyr_linker_sources(SECTIONS SORT_KEY zzz_place_align_at_end align.ld)

soc/nordic/nrf71/Kconfig

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Nordic Semiconductor nRF71 MCU line
2+
3+
# Copyright (c) 2025 Nordic Semiconductor ASA
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
config SOC_SERIES_NRF71X
7+
select HAS_NRFX
8+
select HAS_NORDIC_DRIVERS
9+
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
10+
select SOC_EARLY_INIT_HOOK
11+
select SOC_RESET_HOOK
12+
select NRF_PLATFORM_LUMOS
13+
14+
config SOC_NRF7120_ENGA_CPUAPP
15+
select ARM
16+
select ARMV8_M_DSP
17+
select CPU_CORTEX_M33
18+
select CPU_HAS_ARM_MPU
19+
select CPU_HAS_ICACHE
20+
select CPU_HAS_ARM_SAU
21+
select CPU_HAS_FPU
22+
select HAS_HW_NRF_RADIO_IEEE802154
23+
select HAS_POWEROFF
24+
select HAS_SWO
25+
26+
config SOC_NRF7120_ENGA_CPUFLPR
27+
select RISCV_CORE_NORDIC_VPR

soc/nordic/nrf71/Kconfig.defconfig

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Nordic Semiconductor nRF71 MCU line
2+
3+
# Copyright (c) 2025 Nordic Semiconductor ASA
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
if SOC_SERIES_NRF71X
7+
8+
rsource "Kconfig.defconfig.nrf71*"
9+
10+
if ARM
11+
12+
config CORTEX_M_SYSTICK
13+
default !NRF_GRTC_TIMER
14+
15+
config CACHE_NRF_CACHE
16+
default y if EXTERNAL_CACHE
17+
18+
config CACHE_MANAGEMENT
19+
default y
20+
21+
choice CACHE_TYPE
22+
default EXTERNAL_CACHE
23+
endchoice
24+
25+
endif # ARM
26+
27+
if RISCV
28+
29+
DT_CHOSEN_Z_SRAM = zephyr,sram
30+
DT_CHOSEN_Z_CODE = zephyr,code-partition
31+
32+
config BUILD_OUTPUT_ADJUST_LMA
33+
depends on !XIP
34+
default "$(dt_chosen_partition_addr_hex,$(DT_CHOSEN_Z_CODE)) - \
35+
$(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_SRAM))"
36+
37+
endif # RISCV
38+
39+
config SYS_CLOCK_HW_CYCLES_PER_SEC
40+
default $(dt_nodelabel_int_prop,grtc,clock-frequency) if NRF_GRTC_TIMER
41+
42+
config MSPI_DW_DDR
43+
default n
44+
45+
endif # SOC_SERIES_NRF71X
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Nordic Semiconductor nRF7120 MCU
2+
3+
# Copyright (c) 2025 Nordic Semiconductor ASA
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
if SOC_NRF7120_ENGA_CPUAPP
7+
8+
config NUM_IRQS
9+
default 293
10+
11+
endif # SOC_NRF7120_ENGA_CPUAPP
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Nordic Semiconductor nRF7120 MCU
2+
3+
# Copyright (c) 2025 Nordic Semiconductor ASA
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
if SOC_NRF7120_ENGA_CPUFLPR
7+
8+
config NUM_IRQS
9+
default 293
10+
11+
# As FLPR has limited memory most of tests does not fit with asserts enabled.
12+
config ASSERT
13+
default n
14+
15+
endif # SOC_NRF7120_ENGA_CPUFLPR

soc/nordic/nrf71/Kconfig.soc

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Nordic Semiconductor nRF71 MCU line
2+
3+
# Copyright (c) 2025 Nordic Semiconductor ASA
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
config SOC_NRF7120
7+
bool
8+
select SOC_SERIES_NRF71X
9+
help
10+
NRF7120
11+
12+
config SOC_NRF7120_ENGA
13+
bool
14+
select SOC_NRF7120
15+
help
16+
NRF7120 ENGA
17+
18+
config SOC_NRF7120_ENGA_CPUAPP
19+
bool
20+
select SOC_NRF7120_ENGA
21+
help
22+
NRF7120 ENGA CPUAPP
23+
24+
config SOC_NRF7120_ENGA_CPUFLPR
25+
bool
26+
select SOC_NRF7120_ENGA
27+
help
28+
NRF7120 ENGA CPUFLPR
29+
30+
config SOC
31+
default "nrf7120" if SOC_NRF7120

soc/nordic/nrf71/align.ld

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA.
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
SECTION_PROLOGUE(.align16,,)
7+
{
8+
. = (ALIGN(16) > 0 ? ALIGN(16) : 16) - 1;
9+
BYTE(0);
10+
} GROUP_LINK_IN(ROMABLE_REGION)

0 commit comments

Comments
 (0)