Skip to content

Commit 4dd6c7a

Browse files
michalek-norlubos
authored andcommitted
cmake: partition_manager: Add OTP region in partition manager for nRF54L
Added OTP region in partition manager for `nRF54L15X_ENGA` devices and modified the secure boot storage partition to use OTP for NRF54L15. Ref. NCSDK-25306 Signed-off-by: Mateusz Michalek <[email protected]>
1 parent 4edd541 commit 4dd6c7a

File tree

4 files changed

+14
-6
lines changed

4 files changed

+14
-6
lines changed

cmake/partition_manager.cmake

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,9 @@ elseif (DEFINED CONFIG_SOC_NRF5340_CPUAPP)
227227
# See nRF5340 Product Specification, chapter Application Core -> ... "UICR"
228228
set(otp_start_addr "0xff8100")
229229
set(otp_size 764) # 191 * 4
230+
elseif (DEFINED CONFIG_SOC_NRF54L15_CPUAPP)
231+
set(otp_start_addr "0xffd500")
232+
set(otp_size 1276) # 319 * 4
230233
endif()
231234

232235
if (DEFINED CONFIG_SOC_SERIES_NRF54LX)
@@ -247,7 +250,7 @@ add_region(
247250

248251
math(EXPR flash_size "${CONFIG_FLASH_SIZE} * 1024" OUTPUT_FORMAT HEXADECIMAL)
249252

250-
if (CONFIG_SOC_SERIES_NRF91X OR CONFIG_SOC_NRF5340_CPUAPP)
253+
if (CONFIG_SOC_SERIES_NRF91X OR CONFIG_SOC_NRF5340_CPUAPP OR CONFIG_SOC_NRF54L15_CPUAPP)
251254
add_region(
252255
NAME otp
253256
SIZE ${otp_size}

cmake/sysbuild/partition_manager.cmake

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,7 @@ foreach(d APP ${PM_DOMAINS})
525525

526526
sysbuild_get(${image_name}_CONFIG_SOC_SERIES_NRF91X IMAGE ${image_name} VAR CONFIG_SOC_SERIES_NRF91X KCONFIG)
527527
sysbuild_get(${image_name}_CONFIG_SOC_NRF5340_CPUAPP IMAGE ${image_name} VAR CONFIG_SOC_NRF5340_CPUAPP KCONFIG)
528+
sysbuild_get(${image_name}_CONFIG_SOC_NRF54L15_CPUAPP IMAGE ${image_name} VAR CONFIG_SOC_NRF54L15_CPUAPP KCONFIG)
528529

529530
if (${image_name}_CONFIG_SOC_SERIES_NRF91X)
530531
# See nRF9160 Product Specification, chapter "UICR"
@@ -534,6 +535,9 @@ foreach(d APP ${PM_DOMAINS})
534535
# See nRF5340 Product Specification, chapter Application Core -> ... "UICR"
535536
set(otp_start_addr "0xff8100")
536537
set(otp_size 764) # 191 * 4
538+
elseif (DEFINED ${image_name}_CONFIG_SOC_NRF54L15_CPUAPP)
539+
set(otp_start_addr "0xffd500")
540+
set(otp_size 1276) # 319 * 4
537541
endif()
538542

539543
sysbuild_get(${image_name}_CONFIG_SOC_SERIES_NRF54LX IMAGE ${image_name} VAR CONFIG_SOC_SERIES_NRF54LX KCONFIG)
@@ -557,7 +561,7 @@ foreach(d APP ${PM_DOMAINS})
557561
sysbuild_get(${image_name}_CONFIG_FLASH_SIZE IMAGE ${image_name} VAR CONFIG_FLASH_SIZE KCONFIG)
558562
math(EXPR flash_size "${${image_name}_CONFIG_FLASH_SIZE} * 1024" OUTPUT_FORMAT HEXADECIMAL)
559563

560-
if (${image_name}_CONFIG_SOC_SERIES_NRF91X OR ${image_name}_CONFIG_SOC_NRF5340_CPUAPP)
564+
if (${image_name}_CONFIG_SOC_SERIES_NRF91X OR ${image_name}_CONFIG_SOC_NRF5340_CPUAPP OR ${image_name}_CONFIG_SOC_NRF54L15_CPUAPP)
561565
add_region(
562566
NAME otp
563567
SIZE ${otp_size}

subsys/bootloader/Kconfig

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ config SB_NUM_VER_COUNTER_SLOTS
146146
int "Number of monotonic counter slots used for the firmware version"
147147
default 20 if BOOTLOADER_MCUBOOT || MCUBOOT
148148
default 240
149-
range 2 300 if SOC_NRF5340_CPUAPP || SOC_SERIES_NRF91X
149+
range 2 300 if SOC_NRF5340_CPUAPP || SOC_SERIES_NRF91X || SOC_SERIES_NRF54LX
150150
range 2 1800 if SOC_SERIES_NRF52X
151151
range 2 400 if SOC_SERIES_NRF51X
152152
depends on SB_MONOTONIC_COUNTER
@@ -171,10 +171,10 @@ endif # SECURE_BOOT
171171

172172
config PM_PARTITION_SIZE_PROVISION
173173
hex
174-
default 0x280 if SOC_SERIES_NRF91X || SOC_NRF5340_CPUAPP # Stored in OTP region
174+
default 0x280 if SOC_SERIES_NRF91X || SOC_NRF5340_CPUAPP || SOC_NRF54L15_CPUAPP # Stored in OTP region
175175
default 0x280 if SOC_NRF5340_CPUNET # Second instance stored in internal flash of NET
176176
default FPROTECT_BLOCK_SIZE
177-
prompt "Flash space reserved for PROVISION" if !(SOC_NRF9160 || SOC_NRF5340_CPUAPP)
177+
prompt "Flash space reserved for PROVISION" if !(SOC_NRF9160 || SOC_NRF5340_CPUAPP || SOC_NRF54L15_CPUAPP)
178178
help
179179
Flash space set aside for the PROVISION partition.
180180

@@ -187,6 +187,7 @@ config PM_PARTITION_SIZE_B0_IMAGE
187187
default 0x7800 if !B0_MIN_PARTITION_SIZE && (SOC_NRF5340_CPUNET)
188188
default FPROTECT_BLOCK_SIZE if SOC_SERIES_NRF91X || SOC_NRF5340_CPUAPP
189189
default 0x3800 if SOC_NRF5340_CPUNET
190+
default 0x7800 if SOC_NRF54L15_CPUAPP
190191
default 0x7000 if !B0_MIN_PARTITION_SIZE
191192
default 0x4000
192193
help

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)
5+
#if defined(CONFIG_SOC_SERIES_NRF91X) || defined(CONFIG_SOC_NRF5340_CPUAPP) || defined(CONFIG_SOC_NRF54L15_CPUAPP)
66
region: otp
77
#elif defined(CONFIG_SOC_NRF5340_CPUNET)
88
placement:

0 commit comments

Comments
 (0)