soc: nordic: nrf54l15: fix APPROTECT handling

To configure APPROTECT on nRF54L15 different set of MDK symbols
must be used. Additionally, nRF54L15 does not support loading
APPROTECT configuration from the UICR in runtime.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
This commit is contained in:
Nikodem Kastelik 2024-10-24 14:16:00 +02:00 committed by Anas Nashif
commit 17a81280b2
2 changed files with 27 additions and 6 deletions

View file

@ -64,11 +64,14 @@ zephyr_compile_definitions_ifdef(CONFIG_SOC_NRF9230_ENGB_CPUPPR NRF9230_ENGB_XXA
zephyr_compile_definitions_ifdef(CONFIG_NRF_APPROTECT_LOCK zephyr_compile_definitions_ifdef(CONFIG_NRF_APPROTECT_LOCK
ENABLE_APPROTECT) ENABLE_APPROTECT)
zephyr_compile_definitions_ifdef(CONFIG_NRF_APPROTECT_USER_HANDLING zephyr_compile_definitions_ifdef(CONFIG_NRF_APPROTECT_USER_HANDLING
ENABLE_APPROTECT_USER_HANDLING) ENABLE_APPROTECT_USER_HANDLING
ENABLE_AUTHENTICATED_APPROTECT)
zephyr_compile_definitions_ifdef(CONFIG_NRF_SECURE_APPROTECT_LOCK zephyr_compile_definitions_ifdef(CONFIG_NRF_SECURE_APPROTECT_LOCK
ENABLE_SECURE_APPROTECT) ENABLE_SECURE_APPROTECT
ENABLE_SECUREAPPROTECT)
zephyr_compile_definitions_ifdef(CONFIG_NRF_SECURE_APPROTECT_USER_HANDLING zephyr_compile_definitions_ifdef(CONFIG_NRF_SECURE_APPROTECT_USER_HANDLING
ENABLE_SECURE_APPROTECT_USER_HANDLING) ENABLE_SECURE_APPROTECT_USER_HANDLING
ENABLE_AUTHENTICATED_SECUREAPPROTECT)
zephyr_library_compile_definitions_ifdef(CONFIG_NRF_TRACE_PORT zephyr_library_compile_definitions_ifdef(CONFIG_NRF_TRACE_PORT
ENABLE_TRACE) ENABLE_TRACE)

View file

@ -99,15 +99,24 @@ config NFCT_PINS_AS_GPIOS
choice NRF_APPROTECT_HANDLING choice NRF_APPROTECT_HANDLING
bool "APPROTECT handling" bool "APPROTECT handling"
depends on SOC_SERIES_NRF52X || SOC_NRF5340_CPUNET || \ depends on SOC_SERIES_NRF52X || SOC_SERIES_NRF53X || SOC_NRF54L15_CPUAPP || \
SOC_NRF5340_CPUAPP || SOC_SERIES_NRF91X SOC_SERIES_NRF91X
default NRF_APPROTECT_DISABLE if SOC_NRF54L15_CPUAPP
default NRF_APPROTECT_USE_UICR default NRF_APPROTECT_USE_UICR
help help
Specifies how the SystemInit() function should handle the APPROTECT Specifies how the SystemInit() function should handle the APPROTECT
mechanism. mechanism.
config NRF_APPROTECT_DISABLE
bool "Disable"
depends on SOC_NRF54L15_CPUAPP
help
When this option is selected, the SystemInit() disables
the APPROTECT mechanism.
config NRF_APPROTECT_USE_UICR config NRF_APPROTECT_USE_UICR
bool "Use UICR" bool "Use UICR"
depends on SOC_SERIES_NRF52X || SOC_SERIES_NRF53X || SOC_SERIES_NRF91X
help help
When this option is selected, the SystemInit() function loads the When this option is selected, the SystemInit() function loads the
firmware branch state of the APPROTECT mechanism from UICR, so if firmware branch state of the APPROTECT mechanism from UICR, so if
@ -132,14 +141,23 @@ endchoice
choice NRF_SECURE_APPROTECT_HANDLING choice NRF_SECURE_APPROTECT_HANDLING
bool "Secure APPROTECT handling" bool "Secure APPROTECT handling"
depends on SOC_NRF5340_CPUAPP || SOC_SERIES_NRF91X depends on SOC_NRF5340_CPUAPP || SOC_NRF54L15_CPUAPP || SOC_SERIES_NRF91X
default NRF_SECURE_APPROTECT_DISABLE if SOC_NRF54L15_CPUAPP
default NRF_SECURE_APPROTECT_USE_UICR default NRF_SECURE_APPROTECT_USE_UICR
help help
Specifies how the SystemInit() function should handle the secure Specifies how the SystemInit() function should handle the secure
APPROTECT mechanism. APPROTECT mechanism.
config NRF_SECURE_APPROTECT_DISABLE
bool "Disable"
depends on SOC_NRF54L15_CPUAPP
help
When this option is selected, the SystemInit() disables
the secure APPROTECT mechanism.
config NRF_SECURE_APPROTECT_USE_UICR config NRF_SECURE_APPROTECT_USE_UICR
bool "Use UICR" bool "Use UICR"
depends on SOC_NRF5340_CPUAPP || SOC_SERIES_NRF91X
help help
When this option is selected, the SystemInit() function loads the When this option is selected, the SystemInit() function loads the
firmware branch state of the secure APPROTECT mechanism from UICR, firmware branch state of the secure APPROTECT mechanism from UICR,