Skip to content

Commit c8d35cd

Browse files
Add nRF54LV10A target
1 parent d5f499e commit c8d35cd

29 files changed

+1239
-1
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#
2+
# Copyright (c) 2025 Nordic Semiconductor
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
zephyr_include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
8+
zephyr_library_sources(init.c)
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#
2+
# Copyright (c) 2025 Nordic Semiconductor
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
config BOARD_BM_NRF54LV10DK
8+
select BOARD_LATE_INIT_HOOK
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#
2+
# Copyright (c) 2025 Nordic Semiconductor
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
config BOARD_BM_NRF54LV10DK
8+
select SOC_NRF54LV10A_ENGA_CPUAPP if BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S115_SOFTDEVICE || \
9+
BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S115_SOFTDEVICE_MCUBOOT || \
10+
BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S145_SOFTDEVICE || \
11+
BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S145_SOFTDEVICE_MCUBOOT
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#
2+
# Copyright (c) 2025 Nordic Semiconductor
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
config ROM_START_OFFSET
8+
default 0x800 if BOOTLOADER_MCUBOOT
9+
10+
choice NRF_GRTC_TIMER_SOURCE
11+
default NRF_GRTC_TIMER_SOURCE_LFLPRC if !$(dt_nodelabel_enabled,lfxo)
12+
endchoice
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#
2+
# Copyright (c) 2025 Nordic Semiconductor
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
config PARTITION_MANAGER
8+
default n
9+
10+
if BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S115_SOFTDEVICE || \
11+
BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S115_SOFTDEVICE_MCUBOOT
12+
13+
choice SOFTDEVICE_SELECTION
14+
default SOFTDEVICE_S115
15+
endchoice
16+
17+
endif # BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S115_SOFTDEVICE || \
18+
# BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S115_SOFTDEVICE_MCUBOOT
19+
20+
if BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S145_SOFTDEVICE || \
21+
BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S145_SOFTDEVICE_MCUBOOT
22+
23+
choice SOFTDEVICE_SELECTION
24+
default SOFTDEVICE_S145
25+
endchoice
26+
27+
endif # BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S145_SOFTDEVICE || \
28+
# BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S145_SOFTDEVICE_MCUBOOT
29+
30+
31+
# Kconfigs for all MCUboot board variants
32+
if BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S115_SOFTDEVICE_MCUBOOT || \
33+
BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S145_SOFTDEVICE_MCUBOOT
34+
35+
choice BM_BOOTLOADER
36+
default BM_BOOTLOADER_MCUBOOT
37+
endchoice
38+
39+
choice BM_BOOTLOADER_MCUBOOT_SIGNATURE_TYPE
40+
default BM_BOOTLOADER_MCUBOOT_SIGNATURE_TYPE_ED25519
41+
endchoice
42+
43+
config BM_BOOTLOADER_MCUBOOT_SIGNATURE_USING_KMU
44+
default y
45+
46+
choice BM_BOOTLOADER_MCUBOOT_IMG_HASH_ALG
47+
default BM_BOOT_IMG_HASH_ALG_PURE
48+
endchoice
49+
50+
choice BM_FIRMWARE_LOADER
51+
default BM_FIRMWARE_LOADER_BT_MCUMGR
52+
endchoice
53+
54+
config BM_BOOTLOADER_MCUBOOT_FIRMWARE_LOADER_ENTRANCE_BOOT_MODE
55+
default y
56+
57+
endif # BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S115_SOFTDEVICE_MCUBOOT ||
58+
# BOARD_BM_NRF54LV10DK_NRF54LV10A_CPUAPP_S145_SOFTDEVICE_MCUBOOT
59+
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
/* Override NCS default. */
8+
#include "bm_nrf54lv10dk_nrf54lv10a_peripherals.dtsi"
9+
#include "bm_nrf54lv10dk_nrf54lv10a_oscillator.dtsi"
10+
11+
/delete-node/ &cpuapp_sram;
12+
13+
/ {
14+
compatible = "nordic,bm_nrf54lv10dk_nrf54lv10a-cpuapp";
15+
model = "Nordic Bare Metal nRF54LV10 DK nRF54LV10 Application MCU";
16+
17+
chosen {
18+
zephyr,flash-controller = &rram_controller;
19+
zephyr,boot-mode = &boot_mode0;
20+
};
21+
22+
soc {
23+
cpuapp_sram: memory@20000080 {
24+
compatible = "mmio-sram";
25+
#address-cells = <1>;
26+
#size-cells = <1>;
27+
reg = <0x20000080 (DT_SIZE_K(192) - 0x80)>;
28+
ranges = <0x0 0x20000080 (DT_SIZE_K(192) - 0x80)>;
29+
};
30+
};
31+
32+
reserved-memory {
33+
#address-cells = <1>;
34+
#size-cells = <1>;
35+
ranges;
36+
37+
nrf_kmu_reserved_push_area: memory@20000000 {
38+
compatible = "zephyr,memory-region", "mmio-sram";
39+
reg = <0x20000000 0x80>;
40+
zephyr,memory-region = "nrf_kmu_reserved_push_area";
41+
};
42+
};
43+
44+
};
45+
46+
/* Override NCS default to use entire RRAM for application CPU. */
47+
&cpuapp_rram {
48+
reg = <0x0 DT_SIZE_K(1012)>;
49+
};
50+
51+
&gpregret1 {
52+
status = "okay";
53+
54+
boot_mode0: boot_mode@0 {
55+
compatible = "zephyr,retention";
56+
status = "okay";
57+
reg = <0x0 0x1>;
58+
};
59+
};
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include <nordic/nrf54lv10a_enga_cpuapp.dtsi>
10+
#include "bm_nrf54lv10dk_nrf54lv10a_cpuapp_common.dtsi"
11+
12+
/ {
13+
chosen {
14+
zephyr,flash = &cpuapp_rram;
15+
zephyr,code-partition = &slot0_partition;
16+
zephyr,sram = &app_ram;
17+
};
18+
};
19+
20+
&cpuapp_rram {
21+
status = "okay";
22+
23+
partitions {
24+
compatible = "fixed-partitions";
25+
#address-cells = <1>;
26+
#size-cells = <1>;
27+
28+
slot0_partition: partition@0 {
29+
label = "slot0";
30+
reg = <0x00000000 DT_SIZE_K(896)>;
31+
};
32+
33+
storage_partition: partition@e0000 {
34+
compatible = "fixed-subpartitions";
35+
label = "storage";
36+
reg = <0x000e0000 DT_SIZE_K(8)>;
37+
ranges = <0x0 0xe0000 DT_SIZE_K(8)>;
38+
#address-cells = <1>;
39+
#size-cells = <1>;
40+
41+
peer_manager_partition: partition@0 {
42+
label = "peer_manager";
43+
reg = <0x00000000 DT_SIZE_K(4)>;
44+
};
45+
46+
storage0_partition: partition@1000 {
47+
label = "storage0";
48+
reg = <0x00001000 DT_SIZE_K(4)>;
49+
};
50+
};
51+
52+
softdevice_partition: partition@e2000 {
53+
label = "softdevice";
54+
reg = <0x000e2000 DT_SIZE_K(107)>;
55+
};
56+
};
57+
};
58+
59+
&cpuapp_sram {
60+
status = "okay";
61+
62+
softdevice_static_ram: sram@0 {
63+
label = "softdevice_static_ram";
64+
reg = <0x0 0x1380>;
65+
};
66+
67+
softdevice_dynamic_ram: sram@1380 {
68+
label = "softdevice_dynamic_ram";
69+
reg = <0x1380 DT_SIZE_K(12)>;
70+
};
71+
72+
app_ram: sram@4380 {
73+
label = "app_ram";
74+
reg = <0x4380 DT_SIZE_K(174)>;
75+
};
76+
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#
2+
# Copyright (c) 2025 Nordic Semiconductor
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
identifier: bm_nrf54lv10dk/nrf54lv10a/cpuapp/s115_softdevice
8+
name: Bare_Metal-nRF54LV10-DK-nRF54LV10A-Application-S115-SoftDevice
9+
type: mcu
10+
arch: arm
11+
toolchain:
12+
- gnuarmemb
13+
- xtools
14+
- zephyr
15+
sysbuild: true
16+
ram: 174
17+
flash: 896
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
#
2+
# Copyright (c) 2025 Nordic Semiconductor
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
# Enable console
8+
CONFIG_CONSOLE=y
9+
CONFIG_BM_UARTE_CONSOLE=y
10+
11+
# Remove boot banner
12+
CONFIG_NCS_BOOT_BANNER=n
13+
CONFIG_BOOT_BANNER=n
14+
15+
# Enable MPU
16+
CONFIG_ARM_MPU=y
17+
18+
# Enable hardware stack protection
19+
CONFIG_HW_STACK_PROTECTION=y
20+
21+
# MPU-based null-pointer dereferencing detection cannot
22+
# be applied as the (0x0 - 0x400) is unmapped for this target.
23+
CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
24+
25+
# Enable Cache
26+
CONFIG_CACHE_MANAGEMENT=y
27+
CONFIG_EXTERNAL_CACHE=y
28+
29+
# Start SYSCOUNTER on driver init
30+
CONFIG_NRF_GRTC_START_SYSCOUNTER=y
31+
32+
# Disable partition manager
33+
CONFIG_PARTITION_MANAGER_ENABLED=n
34+
35+
# Disable multithreading
36+
CONFIG_MULTITHREADING=n
37+
CONFIG_ZERO_LATENCY_IRQS=y
38+
39+
# Disable generation of the redundant SW ISR table
40+
CONFIG_GEN_SW_ISR_TABLE=n
41+
42+
# Allow FLASH writes
43+
CONFIG_MPU_ALLOW_FLASH_WRITE=y
44+
45+
# Shrink
46+
CONFIG_GPIO=n
47+
48+
# Enable all NRFX drivers
49+
CONFIG_NRFX_CLOCK=y
50+
CONFIG_NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED=y
51+
CONFIG_NRFX_COMP=y
52+
# CONFIG_NRFX_LPCOMP=y
53+
CONFIG_NRFX_EGU10=y
54+
CONFIG_NRFX_EGU20=y
55+
CONFIG_NRFX_GPIOTE20=y
56+
CONFIG_NRFX_GPIOTE30=y
57+
CONFIG_NRFX_GPPI=y
58+
CONFIG_NRFX_GRTC=y
59+
CONFIG_NRFX_POWER=y
60+
CONFIG_NRFX_RRAMC=y
61+
CONFIG_NRFX_SAADC=y
62+
CONFIG_NRFX_SPIM=y
63+
# CONFIG_NRFX_SPIS=y
64+
CONFIG_NRFX_SYSTICK=y
65+
CONFIG_NRFX_TEMP=y
66+
CONFIG_NRFX_TIMER=y
67+
CONFIG_NRFX_TWIM=y
68+
CONFIG_NRFX_UARTE=y
69+
CONFIG_NRFX_WDT=y

0 commit comments

Comments
 (0)