Skip to content

Commit 15bbda3

Browse files
nvlsianpucarlescufi
authored andcommitted
build-system: propagate nRF54L15 NSIB to L05 & L10 SoC's
Added patch which allows usage same NSIB implementation as nRF54l15 on nRF54l05 and nRF54l10 also. Signed-off-by: Andrzej Puzdrowski <[email protected]>
1 parent ebf24f5 commit 15bbda3

File tree

7 files changed

+56
-9
lines changed

7 files changed

+56
-9
lines changed

cmake/sysbuild/partition_manager.cmake

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,8 @@ foreach(d APP ${PM_DOMAINS})
498498
sysbuild_get(${image_name}_CONFIG_SOC_NRF5340_CPUAPP IMAGE ${image_name} VAR CONFIG_SOC_NRF5340_CPUAPP KCONFIG)
499499
sysbuild_get(${image_name}_CONFIG_SOC_SERIES_NRF54LX IMAGE ${image_name} VAR CONFIG_SOC_SERIES_NRF54LX KCONFIG)
500500
sysbuild_get(${image_name}_CONFIG_SOC_NRF54L15_CPUAPP IMAGE ${image_name} VAR CONFIG_SOC_NRF54L15_CPUAPP KCONFIG)
501+
sysbuild_get(${image_name}_CONFIG_SOC_NRF54L05_CPUAPP IMAGE ${image_name} VAR CONFIG_SOC_NRF54L05_CPUAPP KCONFIG)
502+
sysbuild_get(${image_name}_CONFIG_SOC_NRF54L10_CPUAPP IMAGE ${image_name} VAR CONFIG_SOC_NRF54L10_CPUAPP KCONFIG)
501503

502504
if(${image_name}_CONFIG_SOC_SERIES_NRF91X)
503505
# See nRF9160 Product Specification, chapter "UICR"
@@ -511,7 +513,10 @@ foreach(d APP ${PM_DOMAINS})
511513
set(bootconf_start_addr "0xffd080")
512514
set(bootconf_size 4)
513515

514-
if(DEFINED ${image_name}_CONFIG_SOC_NRF54L15_CPUAPP)
516+
if(DEFINED ${image_name}_CONFIG_SOC_NRF54L15_CPUAPP
517+
OR DEFINED ${image_name}_CONFIG_SOC_NRF54L05_CPUAPP
518+
OR DEFINED ${image_name}_CONFIG_SOC_NRF54L10_CPUAPP
519+
)
515520
set(otp_start_addr "0xffd500")
516521
set(otp_size 1276) # 319 * 4
517522
endif()
@@ -538,7 +543,7 @@ foreach(d APP ${PM_DOMAINS})
538543
sysbuild_get(${image_name}_CONFIG_FLASH_SIZE IMAGE ${image_name} VAR CONFIG_FLASH_SIZE KCONFIG)
539544
math(EXPR flash_size "${${image_name}_CONFIG_FLASH_SIZE} * 1024" OUTPUT_FORMAT HEXADECIMAL)
540545

541-
if (${image_name}_CONFIG_SOC_SERIES_NRF91X OR ${image_name}_CONFIG_SOC_NRF5340_CPUAPP OR ${image_name}_CONFIG_SOC_NRF54L15_CPUAPP)
546+
if (${image_name}_CONFIG_SOC_SERIES_NRF91X OR ${image_name}_CONFIG_SOC_NRF5340_CPUAPP OR ${image_name}_CONFIG_SOC_NRF54L15_CPUAPP OR ${image_name}_CONFIG_SOC_NRF54L05_CPUAPP OR ${image_name}_CONFIG_SOC_NRF54L10_CPUAPP)
542547
add_region(
543548
NAME otp
544549
SIZE ${otp_size}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
CONFIG_CLOCK_CONTROL_NRF=n
2+
CONFIG_NOTIFY=n
3+
CONFIG_ONOFF=n
4+
5+
CONFIG_BOOT_BANNER=n
6+
CONFIG_NCS_BOOT_BANNER=n
7+
8+
# Not used by default ED25519 signature on nRF54l15
9+
CONFIG_PSA_USE_CRACEN_AEAD_DRIVER=n
10+
CONFIG_PSA_USE_CRACEN_MAC_DRIVER=n
11+
# Hardware support for ED25519
12+
CONFIG_PSA_USE_CRACEN_HASH_DRIVER=y
13+
CONFIG_PSA_USE_CRACEN_CIPHER_DRIVER=y
14+
CONFIG_PSA_USE_CRACEN_ASYMMETRIC_DRIVER=y
15+
16+
# Link Time Optimizations
17+
CONFIG_ISR_TABLES_LOCAL_DECLARATION=y
18+
CONFIG_LTO=y
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
CONFIG_CLOCK_CONTROL_NRF=n
2+
CONFIG_NOTIFY=n
3+
CONFIG_ONOFF=n
4+
5+
CONFIG_BOOT_BANNER=n
6+
CONFIG_NCS_BOOT_BANNER=n
7+
8+
# Not used by default ED25519 signature on nRF54l15
9+
CONFIG_PSA_USE_CRACEN_AEAD_DRIVER=n
10+
CONFIG_PSA_USE_CRACEN_MAC_DRIVER=n
11+
# Hardware support for ED25519
12+
CONFIG_PSA_USE_CRACEN_HASH_DRIVER=y
13+
CONFIG_PSA_USE_CRACEN_CIPHER_DRIVER=y
14+
CONFIG_PSA_USE_CRACEN_ASYMMETRIC_DRIVER=y
15+
16+
# Link Time Optimizations
17+
CONFIG_ISR_TABLES_LOCAL_DECLARATION=y
18+
CONFIG_LTO=y

subsys/bootloader/Kconfig

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,19 @@ config SB_NUM_VER_COUNTER_SLOTS
5555

5656
endif # SECURE_BOOT
5757

58+
#hidden option for mark secure-boot as nRF54L15 style
59+
config SB_NRF54L15_STYLE_IMPL
60+
bool
61+
default y if SOC_NRF54L15_CPUAPP || SOC_NRF54L05_CPUAPP || SOC_NRF54L10_CPUAPP
62+
5863
config PM_PARTITION_SIZE_PROVISION
5964
hex
6065
default 0x280 if SOC_SERIES_NRF91X || SOC_NRF5340_CPUAPP # Stored in OTP region
61-
default 0x460 if SOC_NRF54L15_CPUAPP # Monotonic counter slot takes 4 bytes
66+
# Monotonic counter slot takes 4 bytes on nRF54L Series
67+
default 0x460 if SB_NRF54L15_STYLE_IMPL
6268
default 0x280 if SOC_NRF5340_CPUNET # Second instance stored in internal flash of NET
6369
default FPROTECT_BLOCK_SIZE
64-
prompt "Flash space reserved for PROVISION" if !(SOC_NRF9160 || SOC_NRF5340_CPUAPP || SOC_NRF54L15_CPUAPP)
70+
prompt "Flash space reserved for PROVISION" if !(SOC_NRF9160 || SOC_NRF5340_CPUAPP || SB_NRF54L15_STYLE_IMPL)
6571
help
6672
Flash space set aside for the PROVISION partition.
6773

@@ -74,7 +80,7 @@ config PM_PARTITION_SIZE_B0_IMAGE
7480
default 0x7800 if !B0_MIN_PARTITION_SIZE && (SOC_NRF5340_CPUNET)
7581
default FPROTECT_BLOCK_SIZE if SOC_SERIES_NRF91X || SOC_NRF5340_CPUAPP
7682
default 0x3800 if SOC_NRF5340_CPUNET
77-
default 0x7800 if SOC_NRF54L15_CPUAPP
83+
default 0x7800 if SB_NRF54L15_STYLE_IMPL
7884
default 0x7000 if !B0_MIN_PARTITION_SIZE
7985
default 0x4000
8086
help
@@ -106,7 +112,7 @@ config SB_CLEANUP_RAM
106112

107113
config SB_DISABLE_SELF_RWX
108114
bool "Disable read and execution on self NVM"
109-
depends on SOC_NRF54L15_CPUAPP && !FPROTECT_ALLOW_COMBINED_REGIONS
115+
depends on SB_NRF54L15_STYLE_IMPL && !FPROTECT_ALLOW_COMBINED_REGIONS
110116
help
111117
Sets RRAMC's BOOTCONF region protection before jumping to application.
112118
It disables reads writes and execution memory area which holds NSIB.

subsys/partition_manager/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ if (CONFIG_NRF_MODEM_LIB)
7373
ncs_add_partition_manager_config(pm.yml.libmodem)
7474
endif()
7575

76-
if(CONFIG_SOC_NRF54L15_CPUAPP)
76+
if(CONFIG_SOC_NRF54L15_CPUAPP OR CONFIG_SOC_NRF54L05_CPUAPP OR CONFIG_SOC_NRF54L10_CPUAPP)
7777
ncs_add_partition_manager_config(pm.yml.bootconf)
7878
endif()
7979

subsys/partition_manager/pm.yml.secure_boot_storage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
provision:
44
size: CONFIG_PM_PARTITION_SIZE_PROVISION
5-
#if defined(CONFIG_SOC_SERIES_NRF91X) || defined(CONFIG_SOC_NRF5340_CPUAPP) || defined(CONFIG_SOC_NRF54L15_CPUAPP)
5+
#if defined(CONFIG_SOC_SERIES_NRF91X) || defined(CONFIG_SOC_NRF5340_CPUAPP) || defined(CONFIG_SOC_NRF54L15_CPUAPP) || defined(CONFIG_SOC_NRF54L05_CPUAPP) || defined(CONFIG_SOC_NRF54L10_CPUAPP)
66
region: otp
77
#elif defined(CONFIG_SOC_NRF5340_CPUNET)
88
placement:

sysbuild/Kconfig.secureboot

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ config SECURE_BOOT_PUBLIC_KEY_FILES
342342
config SUPPORT_SECURE_BOOT_BOOTCONF_LOCK_WRITES
343343
bool
344344
depends on !MCUBOOT_FPROTECT_ALLOW_COMBINED_REGIONS
345-
default y if SOC_NRF54L15_CPUAPP
345+
default y if SOC_NRF54L15_CPUAPP || SOC_NRF54L05_CPUAPP || SOC_NRF54L10_CPUAPP
346346

347347
config SECURE_BOOT_BOOTCONF_LOCK_WRITES
348348
bool "Protect bootloader's NVM from writes"

0 commit comments

Comments
 (0)