Skip to content

Commit 760a547

Browse files
maciejbaczmanskinordicjm
authored andcommitted
samples: matter: add support for nRF54L10
Add support for nRF54L10 in Matter Signed-off-by: Maciej Baczmanski <[email protected]>
1 parent 2ebe06d commit 760a547

16 files changed

+376
-11
lines changed

samples/matter/smoke_co_alarm/Kconfig.sysbuild

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,14 @@ config DFU_MULTI_IMAGE_PACKAGE_NET
5959
default y
6060

6161
endif # SOC_SERIES_NRF53X
62+
63+
if BOARD_NRF54L15DK
64+
65+
# Disable checking the external drivers for nRF54L15 DKs.
66+
config PM_OVERRIDE_EXTERNAL_DRIVER_CHECK
67+
default y
68+
69+
endif # BOARD_NRF54L15DK
6270
endif # BOOTLOADER_MCUBOOT
6371

6472
#### Enable generating factory data
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 ASA
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
# Multirole is the only currently supported role by SoftDevice.
8+
CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y
9+
10+
# nRF54L15 requires bigger stack sizes than nRF52/nRF53 families
11+
CONFIG_CHIP_MALLOC_SYS_HEAP_SIZE=10240
12+
CONFIG_MPSL_WORK_STACK_SIZE=2048
13+
14+
# Set the ZMS sector count to match the settings partition size that is 40 kB for this application.
15+
CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10
16+
# Workaround required as Zephyr L2 implies usage of NVS backend for settings.
17+
# It should be removed once the proper fix will be applied in Zephyr.
18+
CONFIG_NVS=n
19+
20+
# Low Power mode
21+
CONFIG_POWEROFF=y
22+
23+
# Disabling of unused RAM blocks to reduce power consumption is not yet available for nRF54L10 SoC
24+
CONFIG_RAM_POWER_DOWN_LIBRARY=n
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/*
2+
* Copyright (c) 2024 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
8+
/ {
9+
chosen {
10+
nordic,pm-ext-flash = &mx25r64;
11+
};
12+
13+
aliases {
14+
// Use watchdog wdt31 as the application watchdog
15+
watchdog0 = &wdt31;
16+
};
17+
};
18+
19+
// restore full RRAM and SRAM space - by default some parts are dedicated to FLRP
20+
&cpuapp_rram {
21+
reg = <0x0 DT_SIZE_K(1022)>;
22+
};
23+
24+
&cpuapp_sram {
25+
reg = <0x20000000 DT_SIZE_K(192)>;
26+
ranges = <0x0 0x20000000 DT_SIZE_K(192)>;
27+
};
28+
29+
// TODO: re-enable HWFC once it's fixed
30+
&uart20 {
31+
/delete-property/ hw-flow-control;
32+
};
33+
34+
&mx25r64 {
35+
status = "okay";
36+
};
37+
38+
&wdt31 {
39+
status = "okay";
40+
};
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
mcuboot:
2+
address: 0x0
3+
region: flash_primary
4+
size: 0xD000
5+
mcuboot_pad:
6+
address: 0xD000
7+
region: flash_primary
8+
size: 0x800
9+
app:
10+
address: 0xD800
11+
region: flash_primary
12+
size: 0xE7000
13+
mcuboot_primary:
14+
orig_span: &id001
15+
- mcuboot_pad
16+
- app
17+
span: *id001
18+
address: 0xD000
19+
region: flash_primary
20+
size: 0xE7800
21+
mcuboot_primary_app:
22+
orig_span: &id002
23+
- app
24+
span: *id002
25+
address: 0xD800
26+
region: flash_primary
27+
size: 0xE7000
28+
factory_data:
29+
address: 0xF4800
30+
region: flash_primary
31+
size: 0x1000
32+
settings_storage:
33+
address: 0xF5800
34+
region: flash_primary
35+
size: 0xA000
36+
mcuboot_secondary:
37+
address: 0x0
38+
orig_span: &id003
39+
- mcuboot_secondary_pad
40+
- mcuboot_secondary_app
41+
region: external_flash
42+
size: 0xE7800
43+
span: *id003
44+
mcuboot_secondary_pad:
45+
region: external_flash
46+
address: 0x0
47+
size: 0x800
48+
mcuboot_secondary_app:
49+
region: external_flash
50+
address: 0x800
51+
size: 0xE7000
52+
external_flash:
53+
address: 0xE7800
54+
size: 0x718800
55+
device: MX25R64
56+
region: external_flash

samples/matter/smoke_co_alarm/sample.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ tests:
99
- nrf52840dk/nrf52840
1010
- nrf5340dk/nrf5340/cpuapp
1111
- nrf54l15dk/nrf54l15/cpuapp
12+
- nrf54l15dk/nrf54l10/cpuapp
1213
platform_allow: nrf52840dk/nrf52840 nrf5340dk/nrf5340/cpuapp nrf54l15dk/nrf54l15/cpuapp
14+
nrf54l15dk/nrf54l10/cpuapp
1315
tags: sysbuild ci_samples_matter
1416
sample.matter.smoke_co_alarm.release:
1517
sysbuild: true
@@ -20,7 +22,9 @@ tests:
2022
- nrf52840dk/nrf52840
2123
- nrf5340dk/nrf5340/cpuapp
2224
- nrf54l15dk/nrf54l15/cpuapp
25+
- nrf54l15dk/nrf54l10/cpuapp
2326
platform_allow: nrf52840dk/nrf52840 nrf5340dk/nrf5340/cpuapp nrf54l15dk/nrf54l15/cpuapp
27+
nrf54l15dk/nrf54l10/cpuapp
2428
tags: sysbuild ci_samples_matter
2529
sample.matter.smoke_co_alarm.lto:
2630
sysbuild: true
@@ -30,7 +34,9 @@ tests:
3034
- nrf52840dk/nrf52840
3135
- nrf5340dk/nrf5340/cpuapp
3236
- nrf54l15dk/nrf54l15/cpuapp
37+
- nrf54l15dk/nrf54l10/cpuapp
3338
platform_allow: nrf52840dk/nrf52840 nrf5340dk/nrf5340/cpuapp nrf54l15dk/nrf54l15/cpuapp
39+
nrf54l15dk/nrf54l10/cpuapp
3440
tags: sysbuild ci_samples_matter
3541
sample.matter.smoke_co_alarm.release.nrf54l15.power_consumption:
3642
sysbuild: true
@@ -39,7 +45,8 @@ tests:
3945
CONFIG_NCS_SAMPLE_MATTER_WATCHDOG=n
4046
integration_platforms:
4147
- nrf54l15dk/nrf54l15/cpuapp
42-
platform_allow: nrf54l15dk/nrf54l15/cpuapp
48+
- nrf54l15dk/nrf54l10/cpuapp
49+
platform_allow: nrf54l15dk/nrf54l15/cpuapp nrf54l15dk/nrf54l10/cpuapp
4350
tags: sysbuild ci_samples_matter
4451
sample.matter.smoke_co_alarm.debug.reference:
4552
sysbuild: true
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#
2+
# Copyright (c) 2024 Nordic Semiconductor ASA
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
# TODO: Workaround, disable memory guard to avoid false faults in application after boot
8+
CONFIG_HW_STACK_PROTECTION=n
9+
10+
CONFIG_BOOT_WATCHDOG_FEED=n
11+
12+
# nRF54L15DK uses SPI NOR external flash
13+
CONFIG_GPIO=y
14+
CONFIG_SPI=y
15+
CONFIG_SPI_NOR=y
16+
CONFIG_SPI_NOR_SFDP_DEVICETREE=y
17+
CONFIG_SPI_NOR_FLASH_LAYOUT_PAGE_SIZE=4096
18+
19+
# required by SPI driver
20+
CONFIG_MULTITHREADING=y
21+
22+
CONFIG_PM_OVERRIDE_EXTERNAL_DRIVER_CHECK=y
23+
24+
# Currently, without tickless kernel, the SYSCOUNTER value after the software
25+
# reset is not set properly and due to that the first system interrupt is not called
26+
# in the proper time - the SYSCOUNTER value is set to the value from before
27+
# reset + 1. Hence, the reboot time increases more and more.
28+
# To avoid it enable tickles kernel for mcuboot.
29+
CONFIG_TICKLESS_KERNEL=y
30+
31+
# Low Power mode
32+
CONFIG_POWEROFF=y
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 ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
/ {
8+
chosen {
9+
nordic,pm-ext-flash = &mx25r64;
10+
};
11+
};
12+
13+
// restore full RRAM and SRAM space - by default some parts are dedicated to FLRP
14+
&cpuapp_rram {
15+
reg = <0x0 DT_SIZE_K(1022)>;
16+
};
17+
18+
&cpuapp_sram {
19+
reg = <0x20000000 DT_SIZE_K(192)>;
20+
ranges = <0x0 0x20000000 DT_SIZE_K(192)>;
21+
};
22+
23+
&mx25r64 {
24+
status = "okay";
25+
};

samples/matter/smoke_co_alarm/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l15_cpuapp.conf

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
55
#
66

7-
# TODO: Workaround Fprotect is not supported on nRF54l15 yet.
8-
CONFIG_FPROTECT=n
97
# TODO: Workaround, disable memory guard to avoid false faults in application after boot
108
CONFIG_HW_STACK_PROTECTION=n
119

samples/matter/template/Kconfig.sysbuild

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,17 +63,17 @@ config DFU_MULTI_IMAGE_PACKAGE_NET
6363

6464
endif # SOC_SERIES_NRF53X
6565

66-
if BOARD_NRF54L15DK_NRF54L15_CPUAPP_NS
66+
if BOARD_NRF54L15DK
6767

68-
# Disable checking the external drivers for NS build.
68+
# Disable checking the external drivers for nRF54L15 DKs.
6969
config PM_OVERRIDE_EXTERNAL_DRIVER_CHECK
7070
default y
7171

7272
# override the mcuboot pad size, because it is not set globally for NS build.
7373
config PM_MCUBOOT_PAD
7474
default 0x800
7575

76-
endif # BOARD_NRF54L15DK_NRF54L15_CPUAPP_NS
76+
endif # BOARD_NRF54L15DK
7777

7878
endif # BOOTLOADER_MCUBOOT
7979

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#
2+
# Copyright (c) 2024 Nordic Semiconductor ASA
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
# Multirole is the only currently supported role by SoftDevice.
8+
CONFIG_BT_LL_SOFTDEVICE_MULTIROLE=y
9+
10+
# nRF54L15 requires bigger stack sizes than nRF52/nRF53 families
11+
CONFIG_CHIP_MALLOC_SYS_HEAP_SIZE=10240
12+
CONFIG_MPSL_WORK_STACK_SIZE=2048
13+
14+
# Set the ZMS sector count to match the settings partition size that is 40 kB for this application.
15+
CONFIG_SETTINGS_ZMS_SECTOR_COUNT=10
16+
17+
# Workaround required as Zephyr L2 implies usage of NVS backend for settings.
18+
# It should be removed once the proper fix will be applied in Zephyr.
19+
CONFIG_NVS=n
20+
21+
# Disabling of unused RAM blocks to reduce power consumption is not yet available for nRF54L10 SoC
22+
CONFIG_RAM_POWER_DOWN_LIBRARY=n

0 commit comments

Comments
 (0)