Skip to content

Commit fdeb735

Browse files
nordic-krchkartben
authored andcommitted
boards: nordic: Add nrf54l09pdk
Add nrf54l09pdk board with nrf54l09 EngA SoC. Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
1 parent b0afa1e commit fdeb735

11 files changed

+394
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Copyright (c) 2024 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if BOARD_NRF54L09PDK_NRF54L09_CPUAPP
5+
6+
config BT_CTLR
7+
default BT
8+
9+
config ROM_START_OFFSET
10+
default 0x800 if BOOTLOADER_MCUBOOT
11+
12+
config SOC_NRF54LX_SKIP_CLOCK_CONFIG
13+
default y
14+
15+
config SOC_NRF54LX_SKIP_GLITCHDETECTOR_DISABLE
16+
default y
17+
18+
endif # BOARD_NRF54L09PDK_NRF54L09_CPUAPP
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2024 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_NRF54L09PDK
5+
select SOC_NRF54L09_ENGA_CPUAPP if BOARD_NRF54L09PDK_NRF54L09_CPUAPP

boards/nordic/nrf54l09pdk/board.cmake

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Copyright (c) 2024 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
board_runner_args(jlink "--device=cortex-m33" "--speed=4000")
5+
6+
include(${ZEPHYR_BASE}/boards/common/nrfutil.board.cmake)
7+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/nordic/nrf54l09pdk/board.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
board:
2+
name: nrf54l09pdk
3+
full_name: nRF54L09 PDK
4+
vendor: nordic
5+
socs:
6+
- name: nrf54l09
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
.. _nrf54l09pdk_nrf54l09:
2+
3+
nRF54L09 PDK
4+
############
5+
6+
Overview
7+
********
8+
9+
.. note::
10+
11+
All software for the nRF54L09 SoC is experimental and hardware availability
12+
is restricted to the participants in the limited sampling program.
13+
14+
The nRF54L09 Preview Development Kit hardware provides
15+
support for the Nordic Semiconductor nRF54L09 Arm Cortex-M33 CPU and
16+
the following devices:
17+
18+
* CLOCK
19+
* RRAM
20+
* :abbr:`GPIO (General Purpose Input Output)`
21+
* :abbr:`GRTC (Global real-time counter)`
22+
* :abbr:`NVIC (Nested Vectored Interrupt Controller)`
23+
* :abbr:`UARTE (Universal asynchronous receiver-transmitter)`
24+
25+
Hardware
26+
********
27+
28+
nRF54L09 PDK has two crystal oscillators:
29+
30+
* High-frequency 32 MHz crystal oscillator (HFXO)
31+
* Low-frequency 32.768 kHz crystal oscillator (LFXO)
32+
33+
The crystal oscillators can be configured to use either
34+
internal or external capacitors.
35+
36+
Supported Features
37+
==================
38+
39+
The ``nrf54l09pdk/nrf54l09/cpuapp`` board target supports the following hardware features:
40+
41+
+-----------+------------+----------------------+
42+
| Interface | Controller | Driver/Component |
43+
+===========+============+======================+
44+
| CLOCK | on-chip | clock_control |
45+
+-----------+------------+----------------------+
46+
| RRAM | on-chip | flash |
47+
+-----------+------------+----------------------+
48+
| GPIO | on-chip | gpio |
49+
+-----------+------------+----------------------+
50+
| GRTC | on-chip | system clock |
51+
+-----------+------------+----------------------+
52+
| NVIC | on-chip | arch/arm |
53+
+-----------+------------+----------------------+
54+
| UARTE | on-chip | serial |
55+
+-----------+------------+----------------------+
56+
57+
Other hardware features have not been enabled yet for this board.
58+
59+
Programming and Debugging
60+
*************************
61+
62+
Applications for the ``nrf54l09pdk/nrf54l09/cpuapp`` board target can be
63+
built, flashed, and debugged in the usual way. See
64+
:ref:`build_an_application` and :ref:`application_run` for more details on
65+
building and running.
66+
67+
Flashing
68+
========
69+
70+
As an example, this section shows how to build and flash the :zephyr:code-sample:`hello_world`
71+
application.
72+
73+
Follow the instructions in the :ref:`nordic_segger` page to install
74+
and configure all the necessary software. Further information can be
75+
found in :ref:`nordic_segger_flashing`.
76+
77+
To build and program the sample to the nRF54L09 PDK, complete the following steps:
78+
79+
First, connect the nRF54L09 PDK to you computer using the IMCU USB port on the PDK.
80+
Next, build the sample by running the following command:
81+
82+
.. zephyr-app-commands::
83+
:zephyr-app: samples/hello_world
84+
:board: nrf54l09pdk/nrf54l09/cpuapp
85+
:goals: build flash
86+
87+
Testing the LEDs and buttons in the nRF54L09 PDK
88+
************************************************
89+
90+
Test the nRF54L09 PDK with a :zephyr:code-sample:`blinky` sample.
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
/*
2+
* Copyright (c) 2024 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/* This file is common to the secure and non-secure domain */
8+
9+
#include <nordic/nrf54l09_enga_cpuapp.dtsi>
10+
#include "nrf54l09pdk_nrf54l09-common.dtsi"
11+
12+
/ {
13+
chosen {
14+
zephyr,console = &uart20;
15+
zephyr,shell-uart = &uart20;
16+
zephyr,uart-mcumgr = &uart20;
17+
zephyr,bt-mon-uart = &uart20;
18+
zephyr,bt-c2h-uart = &uart20;
19+
zephyr,flash-controller = &rram_controller;
20+
zephyr,flash = &cpuapp_rram;
21+
zephyr,bt-hci = &bt_hci_controller;
22+
zephyr,ieee802154 = &ieee802154;
23+
};
24+
};
25+
26+
&cpuapp_sram {
27+
status = "okay";
28+
};
29+
30+
&lfxo {
31+
load-capacitors = "internal";
32+
load-capacitance-femtofarad = <15500>;
33+
};
34+
35+
&hfxo {
36+
load-capacitors = "internal";
37+
load-capacitance-femtofarad = <15000>;
38+
};
39+
40+
&grtc {
41+
owned-channels = <0 1 2 3 4 5 6 7 8 9 10 11>;
42+
/* Channels 7-11 reserved for Zero Latency IRQs, 3-4 for FLPR */
43+
child-owned-channels = <3 4 7 8 9 10 11>;
44+
status = "okay";
45+
};
46+
47+
&cpuapp_rram {
48+
partitions {
49+
compatible = "fixed-partitions";
50+
#address-cells = <1>;
51+
#size-cells = <1>;
52+
boot_partition: partition@0 {
53+
label = "mcuboot";
54+
reg = <0x0 DT_SIZE_K(64)>;
55+
};
56+
slot0_partition: partition@10000 {
57+
label = "image-0";
58+
reg = <0x10000 DT_SIZE_K(212)>;
59+
};
60+
slot0_ns_partition: partition@45000 {
61+
label = "image-0-nonsecure";
62+
reg = <0x45000 DT_SIZE_K(212)>;
63+
};
64+
slot1_partition: partition@7a000 {
65+
label = "image-1";
66+
reg = <0x7a000 DT_SIZE_K(212)>;
67+
};
68+
slot1_ns_partition: partition@af000 {
69+
label = "image-1-nonsecure";
70+
reg = <0xaf000 DT_SIZE_K(212)>;
71+
};
72+
storage_partition: partition@e4000 {
73+
label = "storage";
74+
reg = <0xe4000 DT_SIZE_K(36)>;
75+
};
76+
};
77+
};
78+
79+
&uart20 {
80+
status = "okay";
81+
};
82+
83+
&gpio0 {
84+
status = "okay";
85+
};
86+
87+
&gpio1 {
88+
status = "okay";
89+
};
90+
91+
&gpiote20 {
92+
status = "okay";
93+
};
94+
95+
&gpiote30 {
96+
status = "okay";
97+
};
98+
99+
&radio {
100+
status = "okay";
101+
};
102+
103+
&temp {
104+
status = "okay";
105+
};
106+
107+
&clock {
108+
status = "okay";
109+
};
110+
111+
&bt_hci_controller {
112+
status = "okay";
113+
};
114+
115+
&ieee802154 {
116+
status = "okay";
117+
};
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
/*
2+
* Copyright (c) 2024 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include "nrf54l09pdk_nrf54l09-pinctrl.dtsi"
8+
9+
/ {
10+
leds {
11+
compatible = "gpio-leds";
12+
led0: led_0 {
13+
gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
14+
label = "Green LED 1";
15+
};
16+
led1: led_1 {
17+
gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
18+
label = "Green LED 2";
19+
};
20+
};
21+
22+
buttons {
23+
compatible = "gpio-keys";
24+
button0: button_0 {
25+
gpios = <&gpio1 13 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
26+
label = "Push button 0";
27+
zephyr,code = <INPUT_KEY_0>;
28+
};
29+
button1: button_1 {
30+
gpios = <&gpio1 9 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
31+
label = "Push button 1";
32+
zephyr,code = <INPUT_KEY_1>;
33+
};
34+
button2: button_2 {
35+
gpios = <&gpio1 8 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
36+
label = "Push button 2";
37+
zephyr,code = <INPUT_KEY_2>;
38+
};
39+
button3: button_3 {
40+
gpios = <&gpio0 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
41+
label = "Push button 3";
42+
zephyr,code = <INPUT_KEY_3>;
43+
};
44+
};
45+
46+
aliases {
47+
led0 = &led0;
48+
led1 = &led1;
49+
sw0 = &button0;
50+
sw1 = &button1;
51+
sw2 = &button2;
52+
sw3 = &button3;
53+
watchdog0 = &wdt31;
54+
};
55+
};
56+
57+
&uart20 {
58+
current-speed = <115200>;
59+
pinctrl-0 = <&uart20_default>;
60+
pinctrl-1 = <&uart20_sleep>;
61+
pinctrl-names = "default", "sleep";
62+
};
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/*
2+
* Copyright (c) 2024 Nordic Semiconductor
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
&pinctrl {
7+
/omit-if-no-ref/ uart20_default: uart20_default {
8+
group1 {
9+
psels = <NRF_PSEL(UART_TX, 1, 4)>;
10+
};
11+
group2 {
12+
psels = <NRF_PSEL(UART_RX, 1, 5)>;
13+
bias-pull-up;
14+
};
15+
};
16+
17+
/omit-if-no-ref/ uart20_sleep: uart20_sleep {
18+
group1 {
19+
psels = <NRF_PSEL(UART_TX, 1, 4)>,
20+
<NRF_PSEL(UART_RX, 1, 5)>;
21+
low-power-enable;
22+
};
23+
};
24+
};
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
* Copyright (c) 2024 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include "nrf54l09_cpuapp_common.dtsi"
10+
11+
/ {
12+
compatible = "nordic,nrf54l09pdk_nrf54l09-cpuapp";
13+
model = "Nordic nRF54L09 PDK nRF54L09 Application MCU";
14+
15+
chosen {
16+
zephyr,code-partition = &slot0_partition;
17+
zephyr,sram = &cpuapp_sram;
18+
};
19+
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Copyright (c) 2024 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
identifier: nrf54l09pdk/nrf54l09/cpuapp
5+
name: nRF54L09-PDK-nRF54L09-Application
6+
type: mcu
7+
arch: arm
8+
toolchain:
9+
- gnuarmemb
10+
- xtools
11+
- zephyr
12+
sysbuild: true
13+
ram: 192
14+
flash: 200
15+
supported:
16+
- counter
17+
- gpio

0 commit comments

Comments
 (0)