Skip to content

Commit b6eef6f

Browse files
kl-cruznordic-piks
authored andcommitted
board: soc: dts: Add nRF54LV10A SOC and Board
Addition of the nRF54LV10A device with corresponding board. Signed-off-by: Karol Lasończyk <[email protected]>
1 parent 98415a6 commit b6eef6f

17 files changed

+1128
-1
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Copyright (c) 2024 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
3+
4+
if BOARD_NRF54LV10APDK_NRF54LV10A_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_GLITCHDETECTOR_DISABLE
13+
default y
14+
15+
endif # BOARD_NRF54LV10APDK_NRF54LV10A_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: LicenseRef-Nordic-5-Clause
3+
4+
config BOARD_NRF54LV10APDK
5+
select SOC_NRF54LV10A_ENGA_CPUAPP if BOARD_NRF54LV10APDK_NRF54LV10A_CPUAPP
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: LicenseRef-Nordic-5-Clause
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)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
board:
2+
name: nrf54lv10apdk
3+
full_name: nRF54LV10A PDK
4+
vendor: nordic
5+
socs:
6+
- name: nrf54lv10a
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
/*
2+
* Copyright (c) 2024 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
/* This file is common to the secure and non-secure domain */
8+
9+
#include <nordic/nrf54lv10a_enga_cpuapp.dtsi>
10+
#include "nrf54lv10apdk_nrf54lv10a-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+
&hfpll {
31+
/* For now use 64 MHz clock for CPU and fast peripherals. */
32+
clock-frequency = <DT_FREQ_M(64)>;
33+
};
34+
35+
&lfxo {
36+
load-capacitors = "internal";
37+
load-capacitance-femtofarad = <15500>;
38+
};
39+
40+
&hfxo {
41+
load-capacitors = "internal";
42+
load-capacitance-femtofarad = <15000>;
43+
};
44+
45+
&grtc {
46+
owned-channels = <0 1 2 3 4 5 6 7 8 9 10 11>;
47+
/* Channels 7-11 reserved for Zero Latency IRQs, 3-4 for FLPR */
48+
child-owned-channels = <3 4 7 8 9 10 11>;
49+
status = "okay";
50+
};
51+
52+
&cpuapp_rram {
53+
partitions {
54+
compatible = "fixed-partitions";
55+
#address-cells = <1>;
56+
#size-cells = <1>;
57+
58+
boot_partition: partition@0 {
59+
label = "mcuboot";
60+
reg = <0x0 DT_SIZE_K(64)>;
61+
};
62+
63+
slot0_partition: partition@10000 {
64+
label = "image-0";
65+
reg = <0x10000 DT_SIZE_K(212)>;
66+
};
67+
68+
slot0_ns_partition: partition@45000 {
69+
label = "image-0-nonsecure";
70+
reg = <0x45000 DT_SIZE_K(212)>;
71+
};
72+
73+
slot1_partition: partition@7a000 {
74+
label = "image-1";
75+
reg = <0x7a000 DT_SIZE_K(212)>;
76+
};
77+
78+
slot1_ns_partition: partition@af000 {
79+
label = "image-1-nonsecure";
80+
reg = <0xaf000 DT_SIZE_K(212)>;
81+
};
82+
83+
storage_partition: partition@e4000 {
84+
label = "storage";
85+
reg = <0xe4000 DT_SIZE_K(36)>;
86+
};
87+
};
88+
};
89+
90+
&uart20 {
91+
status = "okay";
92+
};
93+
94+
&gpio0 {
95+
status = "okay";
96+
};
97+
98+
&gpio1 {
99+
status = "okay";
100+
};
101+
102+
&gpiote20 {
103+
status = "okay";
104+
};
105+
106+
&gpiote30 {
107+
status = "okay";
108+
};
109+
110+
&radio {
111+
status = "okay";
112+
};
113+
114+
&temp {
115+
status = "okay";
116+
};
117+
118+
&clock {
119+
status = "okay";
120+
};
121+
122+
&bt_hci_controller {
123+
status = "okay";
124+
};
125+
126+
&ieee802154 {
127+
status = "okay";
128+
};
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
/*
2+
* Copyright (c) 2024 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
#include "nrf54lv10apdk_nrf54lv10a-pinctrl.dtsi"
8+
9+
/ {
10+
leds {
11+
compatible = "gpio-leds";
12+
13+
led0: led_0 {
14+
gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
15+
label = "Green LED 1";
16+
};
17+
18+
led1: led_1 {
19+
gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
20+
label = "Green LED 2";
21+
};
22+
};
23+
24+
buttons {
25+
compatible = "gpio-keys";
26+
27+
button0: button_0 {
28+
gpios = <&gpio1 13 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
29+
label = "Push button 0";
30+
zephyr,code = <INPUT_KEY_0>;
31+
};
32+
33+
button1: button_1 {
34+
gpios = <&gpio1 9 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
35+
label = "Push button 1";
36+
zephyr,code = <INPUT_KEY_1>;
37+
};
38+
39+
button2: button_2 {
40+
gpios = <&gpio1 8 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
41+
label = "Push button 2";
42+
zephyr,code = <INPUT_KEY_2>;
43+
};
44+
45+
button3: button_3 {
46+
gpios = <&gpio0 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
47+
label = "Push button 3";
48+
zephyr,code = <INPUT_KEY_3>;
49+
};
50+
};
51+
52+
aliases {
53+
led0 = &led0;
54+
led1 = &led1;
55+
sw0 = &button0;
56+
sw1 = &button1;
57+
sw2 = &button2;
58+
sw3 = &button3;
59+
watchdog0 = &wdt31;
60+
};
61+
};
62+
63+
&uart20 {
64+
current-speed = <115200>;
65+
pinctrl-0 = <&uart20_default>;
66+
pinctrl-1 = <&uart20_sleep>;
67+
pinctrl-names = "default", "sleep";
68+
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright (c) 2024 Nordic Semiconductor
3+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
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+
12+
group2 {
13+
psels = <NRF_PSEL(UART_RX, 1, 5)>;
14+
bias-pull-up;
15+
};
16+
};
17+
18+
/omit-if-no-ref/ uart20_sleep: uart20_sleep {
19+
group1 {
20+
psels = <NRF_PSEL(UART_TX, 1, 4)>,
21+
<NRF_PSEL(UART_RX, 1, 5)>;
22+
low-power-enable;
23+
};
24+
};
25+
};
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: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include "nrf54lv10a_cpuapp_common.dtsi"
10+
11+
/ {
12+
compatible = "nordic,nrf54lv10apdk_nrf54lv10a-cpuapp";
13+
model = "Nordic nRF54LV10A PDK nRF54LV10A Application MCU";
14+
15+
chosen {
16+
zephyr,code-partition = &slot0_partition;
17+
zephyr,sram = &cpuapp_sram;
18+
};
19+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Copyright (c) 2024 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
3+
4+
identifier: nrf54lv10apdk/nrf54lv10a/cpuapp
5+
name: nRF54LV10A-PDK-nRF54LV10A-Application
6+
type: mcu
7+
arch: arm
8+
toolchain:
9+
- gnuarmemb
10+
- zephyr
11+
sysbuild: true
12+
ram: 192
13+
flash: 200
14+
supported:
15+
- counter
16+
- gpio
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Copyright (c) 2024 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
3+
4+
# Enable UART driver
5+
CONFIG_SERIAL=y
6+
7+
# Enable console
8+
CONFIG_CONSOLE=y
9+
CONFIG_UART_CONSOLE=y
10+
11+
# Enable GPIO
12+
CONFIG_GPIO=y
13+
14+
# Enable MPU
15+
CONFIG_ARM_MPU=y
16+
17+
# Enable hardware stack protection
18+
CONFIG_HW_STACK_PROTECTION=y
19+
20+
# MPU-based null-pointer dereferencing detection cannot
21+
# be applied as the (0x0 - 0x400) is unmapped for this target.
22+
CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
23+
24+
# Enable Cache
25+
CONFIG_CACHE_MANAGEMENT=y
26+
CONFIG_EXTERNAL_CACHE=y
27+
28+
# Start SYSCOUNTER on driver init
29+
CONFIG_NRF_GRTC_START_SYSCOUNTER=y

0 commit comments

Comments
 (0)