Skip to content

Commit 66d3e7d

Browse files
treewide: add support for S145 SoftDevice
Add support for S145 SoftDevice. This adds the bm_nrf54l15dk board variants for S145 in addition to updating Kconfig etc. to use the new board variants. Signed-off-by: Eivind Jølsgard <[email protected]>
1 parent 3033a26 commit 66d3e7d

File tree

31 files changed

+1446
-25
lines changed

31 files changed

+1446
-25
lines changed

boards/nordic/bm_nrf54l15dk/Kconfig.bm_nrf54l15dk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
#
66

77
config BOARD_BM_NRF54L15DK
8-
select SOC_NRF54L05_CPUAPP if BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S115_SOFTDEVICE || BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S115_SOFTDEVICE_MCUBOOT
9-
select SOC_NRF54L10_CPUAPP if BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S115_SOFTDEVICE || BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S115_SOFTDEVICE_MCUBOOT
10-
select SOC_NRF54L15_CPUAPP if BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S115_SOFTDEVICE || BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S115_SOFTDEVICE_MCUBOOT
8+
select SOC_NRF54L05_CPUAPP if BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S115_SOFTDEVICE || BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S115_SOFTDEVICE_MCUBOOT || BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S145_SOFTDEVICE || BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S145_SOFTDEVICE_MCUBOOT
9+
select SOC_NRF54L10_CPUAPP if BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S115_SOFTDEVICE || BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S115_SOFTDEVICE_MCUBOOT || BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S145_SOFTDEVICE || BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S145_SOFTDEVICE_MCUBOOT
10+
select SOC_NRF54L15_CPUAPP if BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S115_SOFTDEVICE || BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S115_SOFTDEVICE_MCUBOOT || BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S145_SOFTDEVICE || BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S145_SOFTDEVICE_MCUBOOT

boards/nordic/bm_nrf54l15dk/Kconfig.sysbuild

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,28 @@
77
config PARTITION_MANAGER
88
default n
99

10-
if BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S115_SOFTDEVICE || \
11-
BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S115_SOFTDEVICE || \
12-
BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S115_SOFTDEVICE || \
13-
BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S115_SOFTDEVICE_MCUBOOT || \
14-
BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S115_SOFTDEVICE_MCUBOOT || \
15-
BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S115_SOFTDEVICE_MCUBOOT
16-
1710
choice SOFTDEVICE_SELECTION
18-
default SOFTDEVICE_S115
11+
default SOFTDEVICE_S115 if BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S115_SOFTDEVICE || \
12+
BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S115_SOFTDEVICE || \
13+
BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S115_SOFTDEVICE || \
14+
BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S115_SOFTDEVICE_MCUBOOT || \
15+
BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S115_SOFTDEVICE_MCUBOOT || \
16+
BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S115_SOFTDEVICE_MCUBOOT
17+
default SOFTDEVICE_S145 if BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S145_SOFTDEVICE || \
18+
BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S145_SOFTDEVICE || \
19+
BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S145_SOFTDEVICE || \
20+
BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S145_SOFTDEVICE_MCUBOOT || \
21+
BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S145_SOFTDEVICE_MCUBOOT || \
22+
BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S145_SOFTDEVICE_MCUBOOT
1923
endchoice
2024

25+
# Kconfigs for all MCUboot board variants
2126
if BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S115_SOFTDEVICE_MCUBOOT || \
2227
BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S115_SOFTDEVICE_MCUBOOT || \
23-
BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S115_SOFTDEVICE_MCUBOOT
28+
BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S115_SOFTDEVICE_MCUBOOT || \
29+
BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S145_SOFTDEVICE_MCUBOOT || \
30+
BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S145_SOFTDEVICE_MCUBOOT || \
31+
BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S145_SOFTDEVICE_MCUBOOT
2432

2533
choice BM_BOOTLOADER
2634
default BM_BOOTLOADER_MCUBOOT
@@ -35,11 +43,7 @@ config BM_BOOTLOADER_MCUBOOT_FIRMWARE_LOADER_ENTRANCE_BOOT_MODE
3543

3644
endif # BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S115_SOFTDEVICE_MCUBOOT ||
3745
# BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S115_SOFTDEVICE_MCUBOOT ||
38-
# BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S115_SOFTDEVICE_MCUBOOT
39-
40-
endif # BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S115_SOFTDEVICE ||
41-
# BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S115_SOFTDEVICE ||
42-
# BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S115_SOFTDEVICE ||
43-
# BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S115_SOFTDEVICE_MCUBOOT ||
44-
# BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S115_SOFTDEVICE_MCUBOOT ||
45-
# BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S115_SOFTDEVICE_MCUBOOT
46+
# BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S115_SOFTDEVICE_MCUBOOT ||
47+
# BOARD_BM_NRF54L15DK_NRF54L05_CPUAPP_S145_SOFTDEVICE_MCUBOOT ||
48+
# BOARD_BM_NRF54L15DK_NRF54L10_CPUAPP_S145_SOFTDEVICE_MCUBOOT ||
49+
# BOARD_BM_NRF54L15DK_NRF54L15_CPUAPP_S145_SOFTDEVICE_MCUBOOT
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
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/nrf54l05_cpuapp.dtsi>
10+
#include "bm_nrf54l15dk_nrf54l05_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(347)>;
31+
};
32+
33+
storage_partition: partition@56c00 {
34+
compatible = "fixed-subpartitions";
35+
label = "storage";
36+
reg = <0x00056c00 DT_SIZE_K(8)>;
37+
ranges = <0x0 0x56c00 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@58c00 {
53+
label = "softdevice";
54+
reg = <0x00058c00 DT_SIZE_K(144)>;
55+
};
56+
};
57+
};
58+
59+
&cpuapp_sram {
60+
status = "okay";
61+
62+
partitions {
63+
#address-cells = <1>;
64+
#size-cells = <1>;
65+
66+
softdevice_static_ram: partition@20000080 {
67+
label = "softdevice_static_ram";
68+
reg = <0x20000080 0x1780>;
69+
};
70+
71+
softdevice_dynamic_ram: partition@20001800 {
72+
label = "softdevice_dynamic_ram";
73+
reg = <0x20001800 DT_SIZE_K(12)>;
74+
};
75+
76+
app_ram: partition@20004800 {
77+
label = "app_ram";
78+
reg = <0x20004800 DT_SIZE_K(77)>;
79+
};
80+
};
81+
};
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_nrf54l15dk/nrf54l05/cpuapp/s145_softdevice
8+
name: Bare_Metal-nRF54L15-DK-nRF54L05-Application-S145-SoftDevice
9+
type: mcu
10+
arch: arm
11+
toolchain:
12+
- gnuarmemb
13+
- xtools
14+
- zephyr
15+
sysbuild: true
16+
ram: 78
17+
flash: 384
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
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+
# Allow FLASH writes
40+
CONFIG_MPU_ALLOW_FLASH_WRITE=y
41+
42+
# Shrink
43+
CONFIG_GPIO=n
44+
CONFIG_NRF_SECURITY=n
45+
46+
# Enable all NRFX drivers
47+
CONFIG_NRFX_CLOCK=y
48+
CONFIG_NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED=y
49+
CONFIG_NRFX_COMP=y
50+
CONFIG_NRFX_DPPI00=y
51+
CONFIG_NRFX_DPPI10=y
52+
CONFIG_NRFX_DPPI20=y
53+
CONFIG_NRFX_DPPI30=y
54+
CONFIG_NRFX_EGU10=y
55+
CONFIG_NRFX_EGU20=y
56+
CONFIG_NRFX_GPIOTE20=y
57+
CONFIG_NRFX_GPIOTE30=y
58+
CONFIG_NRFX_GPPI=y
59+
CONFIG_NRFX_GRTC=y
60+
CONFIG_NRFX_I2S20=y
61+
CONFIG_NRFX_NFCT=y
62+
CONFIG_NRFX_PDM20=y
63+
CONFIG_NRFX_PDM21=y
64+
CONFIG_NRFX_POWER=y
65+
CONFIG_NRFX_PPIB00=y
66+
CONFIG_NRFX_PPIB01=y
67+
CONFIG_NRFX_PPIB10=y
68+
CONFIG_NRFX_PPIB11=y
69+
CONFIG_NRFX_PPIB20=y
70+
CONFIG_NRFX_PPIB21=y
71+
CONFIG_NRFX_PPIB22=y
72+
CONFIG_NRFX_PPIB30=y
73+
CONFIG_NRFX_PWM20=y
74+
CONFIG_NRFX_PWM21=y
75+
CONFIG_NRFX_PWM22=y
76+
CONFIG_NRFX_QDEC20=y
77+
CONFIG_NRFX_QDEC21=y
78+
CONFIG_NRFX_RRAMC=y
79+
CONFIG_NRFX_SAADC=y
80+
CONFIG_NRFX_SPIM00=y
81+
CONFIG_NRFX_SPIM20=y
82+
CONFIG_NRFX_SPIM21=y
83+
CONFIG_NRFX_SPIM22=y
84+
CONFIG_NRFX_SPIM30=y
85+
CONFIG_NRFX_SYSTICK=y
86+
CONFIG_NRFX_TEMP=y
87+
CONFIG_NRFX_TIMER00=y
88+
CONFIG_NRFX_TIMER10=y
89+
CONFIG_NRFX_TIMER20=y
90+
CONFIG_NRFX_TIMER21=y
91+
CONFIG_NRFX_TIMER22=y
92+
CONFIG_NRFX_TIMER23=y
93+
CONFIG_NRFX_TIMER24=y
94+
CONFIG_NRFX_TWIM20=y
95+
CONFIG_NRFX_TWIM21=y
96+
CONFIG_NRFX_TWIM22=y
97+
CONFIG_NRFX_TWIM30=y
98+
CONFIG_NRFX_UARTE00=y
99+
CONFIG_NRFX_UARTE20=y
100+
CONFIG_NRFX_UARTE21=y
101+
CONFIG_NRFX_UARTE22=y
102+
CONFIG_NRFX_UARTE30=y
103+
CONFIG_NRFX_WDT31=y
104+
CONFIG_NRFX_PRS_BOX_0=y
105+
CONFIG_NRFX_PRS_BOX_1=y
106+
CONFIG_NRFX_PRS_BOX_2=y
107+
CONFIG_NRFX_PRS_BOX_3=y
108+
CONFIG_NRFX_PRS_BOX_4=y
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
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/nrf54l05_cpuapp.dtsi>
10+
#include "bm_nrf54l15dk_nrf54l05_cpuapp_common.dtsi"
11+
12+
/ {
13+
sram@20017C00 {
14+
compatible = "zephyr,memory-region", "mmio-sram";
15+
reg = <0x20017C00 DT_SIZE_K(1)>;
16+
zephyr,memory-region = "RetainedMem";
17+
status = "okay";
18+
19+
retainedmem {
20+
compatible = "zephyr,retained-ram";
21+
status = "okay";
22+
#address-cells = <1>;
23+
#size-cells = <1>;
24+
25+
settings_partition0: settings_partition@0 {
26+
compatible = "zephyr,retention";
27+
status = "okay";
28+
reg = <0x0 DT_SIZE_K(1)>;
29+
};
30+
};
31+
};
32+
33+
chosen {
34+
zephyr,flash = &cpuapp_rram;
35+
zephyr,code-partition = &slot0_partition;
36+
zephyr,sram = &app_ram;
37+
zephyr,settings-partition = &settings_partition0;
38+
};
39+
};
40+
41+
&cpuapp_rram {
42+
status = "okay";
43+
44+
partitions {
45+
compatible = "fixed-partitions";
46+
#address-cells = <1>;
47+
#size-cells = <1>;
48+
49+
boot_partition: partition@0 {
50+
label = "boot";
51+
reg = <0x00000000 DT_SIZE_K(36)>;
52+
};
53+
54+
storage_partition: partition@9000 {
55+
compatible = "fixed-subpartitions";
56+
label = "storage";
57+
reg = <0x00009000 DT_SIZE_K(8)>;
58+
ranges = <0x0 0x9000 DT_SIZE_K(8)>;
59+
#address-cells = <1>;
60+
#size-cells = <1>;
61+
62+
peer_manager_partition: partition@0 {
63+
label = "peer_manager";
64+
reg = <0x00000000 DT_SIZE_K(4)>;
65+
};
66+
67+
storage0_partition: partition@1000 {
68+
label = "storage0";
69+
reg = <0x00001000 DT_SIZE_K(4)>;
70+
};
71+
};
72+
73+
slot0_partition: partition@b000 {
74+
label = "slot0";
75+
reg = <0x0000b000 DT_SIZE_K(245)>;
76+
};
77+
78+
slot1_partition: partition@48400 {
79+
label = "slot1";
80+
reg = <0x00048400 DT_SIZE_K(64)>;
81+
};
82+
83+
softdevice_partition: partition@58400 {
84+
label = "softdevice";
85+
reg = <0x00058400 (DT_SIZE_K(146) + 0x200)>;
86+
};
87+
88+
metadata_partition: partition@7ce00 {
89+
label = "metadata";
90+
reg = <0x0007ce00 0x200>;
91+
};
92+
};
93+
};
94+
95+
&cpuapp_sram {
96+
status = "okay";
97+
98+
partitions {
99+
#address-cells = <1>;
100+
#size-cells = <1>;
101+
102+
softdevice_static_ram: partition@20000080 {
103+
label = "softdevice_static_ram";
104+
reg = <0x20000080 0x1780>;
105+
};
106+
107+
softdevice_dynamic_ram: partition@20001800 {
108+
label = "softdevice_dynamic_ram";
109+
reg = <0x20001800 DT_SIZE_K(12)>;
110+
};
111+
112+
app_ram: partition@20004800 {
113+
label = "app_ram";
114+
reg = <0x20004800 DT_SIZE_K(77)>;
115+
};
116+
};
117+
};

0 commit comments

Comments
 (0)