Skip to content

Commit fd64954

Browse files
boarsds: nrf54lc10dk: add support for nrf54lc10a
Add support for new device nrf54lc10a including board support for nrf54lc10a DK (PCA10226). Signed-off-by: Bjørn Tore Taraldsen <bjorn.tore.taraldsen@nordicsemi.no>
1 parent fb41975 commit fd64954

64 files changed

Lines changed: 1427 additions & 4 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#
2+
# Copyright (c) 2026 Nordic Semiconductor ASA
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
zephyr_include_directories(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) 2026 Nordic Semiconductor ASA
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
config BOARD_BM_NRF54LC10DK
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) 2026 Nordic Semiconductor ASA
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
config BOARD_BM_NRF54LC10DK
8+
select SOC_NRF54LC10A_CPUAPP if BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S115_SOFTDEVICE || \
9+
BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S115_SOFTDEVICE_MCUBOOT || \
10+
BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S145_SOFTDEVICE || \
11+
BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S145_SOFTDEVICE_MCUBOOT
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#
2+
# Copyright (c) 2026 Nordic Semiconductor ASA
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
choice NRF_GRTC_TIMER_SOURCE
8+
default NRF_GRTC_TIMER_SOURCE_LFLPRC if !$(dt_nodelabel_enabled,lfxo)
9+
endchoice
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
#
2+
# Copyright (c) 2026 Nordic Semiconductor ASA
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
if BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S115_SOFTDEVICE || \
8+
BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S115_SOFTDEVICE_MCUBOOT
9+
10+
choice SOFTDEVICE_SELECTION
11+
default SOFTDEVICE_S115
12+
endchoice
13+
14+
endif # BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S115_SOFTDEVICE || \
15+
# BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S115_SOFTDEVICE_MCUBOOT
16+
17+
if BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S145_SOFTDEVICE || \
18+
BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S145_SOFTDEVICE_MCUBOOT
19+
20+
choice SOFTDEVICE_SELECTION
21+
default SOFTDEVICE_S145
22+
endchoice
23+
24+
endif # BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S145_SOFTDEVICE || \
25+
# BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S145_SOFTDEVICE_MCUBOOT
26+
27+
# Kconfigs for all MCUboot board variants
28+
if BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S115_SOFTDEVICE_MCUBOOT || \
29+
BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S145_SOFTDEVICE_MCUBOOT
30+
31+
choice BM_BOOTLOADER
32+
default BM_BOOTLOADER_MCUBOOT
33+
endchoice
34+
35+
choice BM_BOOTLOADER_MCUBOOT_SIGNATURE_TYPE
36+
default BM_BOOTLOADER_MCUBOOT_SIGNATURE_TYPE_ED25519
37+
endchoice
38+
39+
config BM_BOOTLOADER_MCUBOOT_SIGNATURE_USING_KMU
40+
default y
41+
42+
choice BM_BOOTLOADER_MCUBOOT_IMG_HASH_ALG
43+
default BM_BOOT_IMG_HASH_ALG_PURE
44+
endchoice
45+
46+
choice BM_FIRMWARE_LOADER
47+
default BM_FIRMWARE_LOADER_BT_MCUMGR
48+
endchoice
49+
50+
config BM_BOOTLOADER_MCUBOOT_FIRMWARE_LOADER_ENTRANCE_BOOT_MODE
51+
default y
52+
53+
endif # BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S115_SOFTDEVICE_MCUBOOT || \
54+
# BOARD_BM_NRF54LC10DK_NRF54LC10A_CPUAPP_S145_SOFTDEVICE_MCUBOOT
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/*
2+
* Copyright (c) 2026 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
/* Override NCS default. */
8+
#include "bm_nrf54lc10dk_nrf54lc10a_peripherals.dtsi"
9+
#include "bm_nrf54lc10dk_nrf54lc10a_oscillator.dtsi"
10+
11+
/delete-node/ &cpuapp_sram;
12+
13+
/ {
14+
compatible = "nordic,bm_nrf54lc10dk_nrf54lc10a-cpuapp";
15+
model = "Nordic Bare Metal nrf54lc10 DK nrf54lc10 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+
/* Size reduced by 0x80 bytes to account for the start address offset.
28+
* As total size of SRAM is not 1kB aligned,
29+
* 0x140 bytes are added to the 191 kB.
30+
*/
31+
reg = <0x20000080 (DT_SIZE_K(191) - 0x80 + 0x140)>;
32+
ranges = <0x0 0x20000080 (DT_SIZE_K(191) - 0x80 + 0x140)>;
33+
};
34+
};
35+
36+
reserved-memory {
37+
#address-cells = <1>;
38+
#size-cells = <1>;
39+
ranges;
40+
41+
nrf_kmu_reserved_push_area: memory@20000000 {
42+
compatible = "zephyr,memory-region", "mmio-sram";
43+
reg = <0x20000000 0x80>;
44+
zephyr,memory-region = "nrf_kmu_reserved_push_area";
45+
};
46+
};
47+
};
48+
49+
&gpregret1 {
50+
status = "okay";
51+
52+
boot_mode0: boot_mode@0 {
53+
compatible = "zephyr,retention";
54+
status = "okay";
55+
reg = <0x0 0x1>;
56+
};
57+
};
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
/*
2+
* Copyright (c) 2026 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include <nordic/nrf54lc10a_cpuapp.dtsi>
10+
#include "bm_nrf54lc10dk_nrf54lc10a_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+
partitions {
22+
#address-cells = <1>;
23+
#size-cells = <1>;
24+
ranges;
25+
26+
slot0_partition: partition@0 {
27+
compatible = "zephyr,mapped-partition";
28+
label = "slot0";
29+
reg = <0x00000000 DT_SIZE_K(902)>;
30+
};
31+
32+
storage_partition: partition@e1800 {
33+
compatible = "zephyr,mapped-partition";
34+
label = "storage";
35+
reg = <0x000e1800 DT_SIZE_K(8)>;
36+
ranges = <0x0 0xe1800 DT_SIZE_K(8)>;
37+
#address-cells = <1>;
38+
#size-cells = <1>;
39+
40+
peer_manager_partition: partition@0 {
41+
compatible = "zephyr,mapped-partition";
42+
label = "peer_manager";
43+
reg = <0x00000000 DT_SIZE_K(4)>;
44+
};
45+
46+
storage0_partition: partition@1000 {
47+
compatible = "zephyr,mapped-partition";
48+
label = "storage0";
49+
reg = <0x00001000 DT_SIZE_K(4)>;
50+
};
51+
};
52+
53+
softdevice_partition: partition@e3800 {
54+
compatible = "zephyr,mapped-partition";
55+
label = "softdevice";
56+
reg = <0x000e3800 DT_SIZE_K(101)>;
57+
};
58+
};
59+
};
60+
61+
&cpuapp_sram {
62+
status = "okay";
63+
64+
softdevice_ram: sram@0 {
65+
label = "softdevice_ram";
66+
reg = <0x0 0x4380>;
67+
};
68+
69+
app_ram: sram@4380 {
70+
label = "app_ram";
71+
reg = <0x4380 (DT_SIZE_K(174) + 0x140)>;
72+
};
73+
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#
2+
# Copyright (c) 2026 Nordic Semiconductor ASA
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
identifier: bm_nrf54lc10dk/nrf54lc10a/cpuapp/s115_softdevice
8+
name: Bare_Metal-nRF54LC10-DK-nRF54LC10A-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: 902
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
#
2+
# Copyright (c) 2026 Nordic Semiconductor ASA
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 multithreading
33+
CONFIG_MULTITHREADING=n
34+
CONFIG_ZERO_LATENCY_IRQS=y
35+
36+
# Disable generation of the redundant SW ISR table
37+
CONFIG_GEN_SW_ISR_TABLE=n
38+
39+
# Allow FLASH writes
40+
CONFIG_MPU_ALLOW_FLASH_WRITE=y
41+
42+
# Shrink
43+
CONFIG_GPIO=n
44+
45+
# Enable all NRFX drivers
46+
CONFIG_NRFX_CLOCK=y
47+
CONFIG_NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED=y
48+
CONFIG_NRFX_COMP=y
49+
# Disable LPCOMP as it is overlapping with COMP when PRS is disabled
50+
CONFIG_NRFX_LPCOMP=n
51+
CONFIG_NRFX_EGU10=y
52+
CONFIG_NRFX_EGU20=y
53+
CONFIG_NRFX_GPIOTE20=y
54+
CONFIG_NRFX_GPIOTE30=y
55+
CONFIG_NRFX_GPPI=y
56+
CONFIG_NRFX_GRTC=y
57+
CONFIG_NRFX_POWER=y
58+
CONFIG_NRFX_RRAMC=y
59+
CONFIG_NRFX_SAADC=y
60+
CONFIG_NRFX_SPIM=y
61+
CONFIG_NRFX_SPIS=y
62+
CONFIG_NRFX_SYSTICK=y
63+
CONFIG_NRFX_TEMP=y
64+
CONFIG_NRFX_TIMER=y
65+
CONFIG_NRFX_TWIM=y
66+
CONFIG_NRFX_UARTE=y
67+
CONFIG_NRFX_WDT=y
68+
# Disable all Peripheral Resource Sharing (PRS) boxes
69+
CONFIG_NRFX_PRS_BOX_0=n
70+
CONFIG_NRFX_PRS_BOX_1=n
71+
CONFIG_NRFX_PRS_BOX_2=n
72+
CONFIG_NRFX_PRS_BOX_3=n

0 commit comments

Comments
 (0)