Skip to content

Commit fe40e22

Browse files
boards: Add Nordic nrf7120dk_nrf7120 board support
Add all board files for nRF7120dk Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no> (cherry picked from commit a2e05d2859c7550a1d62890e447e38685eae06d5)
1 parent 4dffc43 commit fe40e22

24 files changed

+982
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright (c) 2025 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if BOARD_NRF7120DK_NRF7120_CPUAPP
5+
6+
config HAS_BT_CTLR
7+
default BT
8+
9+
config ROM_START_OFFSET
10+
default 0 if PARTITION_MANAGER_ENABLED
11+
default 0x800 if BOOTLOADER_MCUBOOT
12+
13+
endif # BOARD_NRF7120DK_NRF7120_CPUAPP
14+
15+
if BOARD_NRF7120DK_NRF7120_CPUAPP_NS
16+
17+
config HAS_BT_CTLR
18+
default BT
19+
20+
# By default, if we build for a Non-Secure version of the board,
21+
# enable building with TF-M as the Secure Execution Environment.
22+
config BUILD_WITH_TFM
23+
default y
24+
25+
# By default, if we build with TF-M, instruct build system to
26+
# flash the combined TF-M (Secure) & Zephyr (Non Secure) image
27+
config TFM_FLASH_MERGED_BINARY
28+
default y
29+
depends on BUILD_WITH_TFM
30+
31+
endif # BOARD_NRF7120DK_NRF7120_CPUAPP_NS
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Copyright (c) 2025 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
config BOARD_NRF7120DK
4+
select SOC_NRF7120_ENGA_CPUAPP if BOARD_NRF7120DK_NRF7120_CPUAPP || \
5+
BOARD_NRF7120DK_NRF7120_CPUAPP_NS
6+
select SOC_NRF7120_ENGA_CPUFLPR if BOARD_NRF7120DK_NRF7120_CPUFLPR || \
7+
BOARD_NRF7120DK_NRF7120_CPUFLPR_XIP
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Copyright (c) 2025 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if(CONFIG_SOC_NRF7120_ENGA_CPUAPP)
5+
board_runner_args(jlink "--device=cortex-m33" "--speed=4000")
6+
elseif(CONFIG_SOC_NRF7120_ENGA_CPUFLPR)
7+
board_runner_args(jlink "--speed=4000")
8+
endif()
9+
10+
if(BOARD_NRF7120DK_NRF7120_CPUAPP_NS)
11+
set(TFM_PUBLIC_KEY_FORMAT "full")
12+
endif()
13+
14+
if(CONFIG_TFM_FLASH_MERGED_BINARY)
15+
set_property(TARGET runners_yaml_props_target PROPERTY hex_file tfm_merged.hex)
16+
endif()
17+
18+
include(${ZEPHYR_BASE}/boards/common/nrfutil.board.cmake)
19+
include(${ZEPHYR_BASE}/boards/common/nrfjprog.board.cmake)
20+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/nordic/nrf7120dk/board.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
board:
2+
name: nrf7120dk
3+
vendor: nordic
4+
socs:
5+
- name: nrf7120
6+
variants:
7+
- name: xip
8+
cpucluster: cpuflpr
9+
- name: ns
10+
cpucluster: cpuapp
11+
- name: emu
12+
cpucluster: cpuapp
13+
- name: fpga
14+
cpucluster: cpuapp
15+
revision:
16+
format: major.minor.patch
17+
default: "0.0.0"
18+
revisions:
19+
- name: "0.0.0"
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
.. zephyr:board:: nrf7120dk
2+
3+
Overview
4+
********
5+
6+
.. note::
7+
You can find more information about the nRF7120 SoC on the `nRF7120 website`_.
8+
For the nRF7120 technical documentation and other resources (such as
9+
SoC Datasheet), see the `nRF7120 documentation`_ page.
10+
11+
The nRF7120 Development Kit hardware provides support for the Nordic Semiconductor
12+
nRF7120 Arm Cortex-M33 CPU and the following devices:
13+
14+
* :abbr:`SAADC (Successive Approximation Analog to Digital Converter)`
15+
* CLOCK
16+
* :abbr:`GPIO (General Purpose Input Output)`
17+
* :abbr:`TWIM (I2C-compatible two-wire interface master with EasyDMA)`
18+
* MEMCONF
19+
* :abbr:`MPU (Memory Protection Unit)`
20+
* MRAM
21+
* MSPI
22+
* :abbr:`NVIC (Nested Vectored Interrupt Controller)`
23+
* :abbr:`PWM (Pulse Width Modulation)`
24+
* :abbr:`GRTC (Global real-time counter)`
25+
* Segger RTT (RTT Console)
26+
* :abbr:`SPI (Serial Peripheral Interface)`
27+
* :abbr:`UARTE (Universal asynchronous receiver-transmitter)`
28+
* :abbr:`WDT (Watchdog Timer)`
29+
30+
Hardware
31+
********
32+
33+
nRF7120 DK has two crystal oscillators:
34+
35+
* High-frequency 62 MHz crystal oscillator (HFXO)
36+
* Low-frequency 32.768 kHz crystal oscillator (LFXO)
37+
38+
The crystal oscillators can be configured to use either
39+
internal or external capacitors.
40+
41+
Supported Features
42+
==================
43+
44+
.. zephyr:board-supported-hw::
45+
46+
Programming and Debugging
47+
*************************
48+
49+
.. zephyr:board-supported-runners::
50+
51+
Applications for the ``nrf7120dk/nrf7120/cpuapp`` board target can be
52+
built, flashed, and debugged in the usual way. See
53+
:ref:`build_an_application` and :ref:`application_run` for more details on
54+
building and running.
55+
56+
Applications for the ``nrf7120dk/nrf7120/cpuflpr`` board target need
57+
to be built using sysbuild to include the ``vpr_launcher`` image for the application core.
58+
59+
Enter the following command to compile ``hello_world`` for the FLPR core:
60+
61+
.. code-block:: console
62+
63+
west build -p -b nrf7120dk/nrf7120/cpuflpr --sysbuild
64+
65+
66+
Flashing
67+
========
68+
69+
As an example, this section shows how to build and flash the :zephyr:code-sample:`hello_world`
70+
application.
71+
72+
.. warning::
73+
74+
When programming the device, you might get an error similar to the following message::
75+
76+
ERROR: The operation attempted is unavailable due to readback protection in
77+
ERROR: your device. Please use --recover to unlock the device.
78+
79+
This error occurs when readback protection is enabled.
80+
To disable the readback protection, you must *recover* your device.
81+
82+
Enter the following command to recover the core::
83+
84+
west flash --recover
85+
86+
The ``--recover`` command erases the flash memory and then writes a small binary into
87+
the recovered flash memory.
88+
This binary prevents the readback protection from enabling itself again after a pin
89+
reset or power cycle.
90+
91+
Follow the instructions in the :ref:`nordic_segger` page to install
92+
and configure all the necessary software. Further information can be
93+
found in :ref:`nordic_segger_flashing`.
94+
95+
To build and program the sample to the nRF7120 DK, complete the following steps:
96+
97+
First, connect the nRF7120 DK to you computer using the IMCU USB port on the DK.
98+
Next, build the sample by running the following command:
99+
100+
.. zephyr-app-commands::
101+
:zephyr-app: samples/hello_world
102+
:board: nrf7120dk/nrf7120/cpuapp
103+
:goals: build flash
104+
105+
Testing the LEDs and buttons in the nRF7120 DK
106+
************************************************
107+
108+
Test the nRF7120 DK with a :zephyr:code-sample:`blinky` sample.
109+
110+
References
111+
**********
112+
113+
.. target-notes::
114+
115+
.. _nRF7120 website: https://www.nordicsemi.com/Products/nRF7120
116+
.. _nRF7120 documentation: https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf71/index.html

0 commit comments

Comments
 (0)