176 lines
5.2 KiB
Plaintext
176 lines
5.2 KiB
Plaintext
# Nordic Semiconductor nRFx MCU line
|
|
|
|
# Copyright (c) 2016-2018 Nordic Semiconductor ASA
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config SOC_FAMILY_NRF
|
|
select SOC_COMPATIBLE_NRF
|
|
select PLATFORM_SPECIFIC_INIT
|
|
bool
|
|
|
|
if SOC_FAMILY_NRF
|
|
config SOC_FAMILY
|
|
string
|
|
default "nordic_nrf"
|
|
|
|
source "soc/common/nordic_nrf/Kconfig.peripherals"
|
|
source "soc/soc_legacy/arm/nordic_nrf/*/Kconfig.soc"
|
|
|
|
config NRF_SOC_SECURE_SUPPORTED
|
|
def_bool !TRUSTED_EXECUTION_NONSECURE || (BUILD_WITH_TFM && TFM_PARTITION_PLATFORM)
|
|
depends on !SOC_SERIES_NRF54HX
|
|
help
|
|
Hidden function to indicate that that the soc_secure functions are
|
|
available.
|
|
The functions are always available when not in non-secure.
|
|
For non-secure the functions must redirect to secure services exposed
|
|
by the secure firmware.
|
|
|
|
config BUILD_WITH_TFM
|
|
default y if TRUSTED_EXECUTION_NONSECURE
|
|
help
|
|
By default, if we build for a Non-Secure version of the board,
|
|
enable building with TF-M as the Secure Execution Environment.
|
|
|
|
if BUILD_WITH_TFM
|
|
|
|
config TFM_FLASH_MERGED_BINARY
|
|
default y
|
|
help
|
|
By default, if we build with TF-M, instruct build system to
|
|
flash the combined TF-M (Secure) & Zephyr (Non Secure) image
|
|
|
|
config TFM_LOG_LEVEL_SILENCE
|
|
default y if !$(dt_nodelabel_has_prop,uart1,pinctrl-names)
|
|
help
|
|
Disable TF-M secure output if the uart1 node has not assigned GPIO
|
|
pins using pinctrl.
|
|
|
|
config TFM_NRF_NS_STORAGE
|
|
bool "TF-M non-secure storage partition"
|
|
default y
|
|
|
|
endif # BUILD_WITH_TFM
|
|
|
|
|
|
config NRF_MPU_FLASH_REGION_SIZE
|
|
hex
|
|
default 0x1000
|
|
depends on HAS_HW_NRF_MPU
|
|
help
|
|
FLASH region size for the NRF_MPU peripheral.
|
|
|
|
config NRF_BPROT_FLASH_REGION_SIZE
|
|
hex
|
|
default $(dt_node_int_prop_hex,$(DT_CHOSEN_ZEPHYR_FLASH),erase-block-size)
|
|
depends on HAS_HW_NRF_BPROT
|
|
help
|
|
FLASH region size for the NRF_BPROT peripheral (nRF52).
|
|
|
|
config NRF_ACL_FLASH_REGION_SIZE
|
|
hex
|
|
default $(dt_node_int_prop_hex,$(DT_CHOSEN_ZEPHYR_FLASH),erase-block-size)
|
|
depends on HAS_HW_NRF_ACL
|
|
help
|
|
FLASH region size for the NRF_ACL peripheral.
|
|
|
|
config NFCT_PINS_AS_GPIOS
|
|
bool "[DEPRECATED] NFCT pins as GPIOs"
|
|
depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_NFCT))
|
|
select DEPRECATED
|
|
help
|
|
Two pins are usually reserved for NFC in SoCs that implement the
|
|
NFCT peripheral. This option switches them to normal GPIO mode.
|
|
HW enabling happens once in the device lifetime, during the first
|
|
system startup. Disabling this option will not switch back these
|
|
pins to NFCT mode. Doing this requires UICR erase prior to
|
|
flashing device using the image which has this option disabled.
|
|
|
|
NFC pins in nRF52 series: P0.09 and P0.10
|
|
NFC pins in nRF5340: P0.02 and P0.03
|
|
|
|
This option is deprecated, please use devicetree to configure NFCT
|
|
pins as GPIOS like this:
|
|
|
|
&uicr {
|
|
nfct-pins-as-gpios;
|
|
};
|
|
|
|
choice NRF_APPROTECT_HANDLING
|
|
bool "APPROTECT handling"
|
|
depends on SOC_SERIES_NRF52X || SOC_NRF5340_CPUNET || \
|
|
(SOC_NRF5340_CPUAPP && !TRUSTED_EXECUTION_NONSECURE) || \
|
|
SOC_SERIES_NRF91X
|
|
default NRF_APPROTECT_USE_UICR
|
|
help
|
|
Specifies how the SystemInit() function should handle the APPROTECT
|
|
mechanism.
|
|
|
|
config NRF_APPROTECT_USE_UICR
|
|
bool "Use UICR"
|
|
help
|
|
When this option is selected, the SystemInit() function loads the
|
|
firmware branch state of the APPROTECT mechanism from UICR, so if
|
|
UICR->APPROTECT is disabled, CTRLAP->APPROTECT will be disabled.
|
|
|
|
config NRF_APPROTECT_LOCK
|
|
bool "Lock"
|
|
help
|
|
When this option is selected, the SystemInit() function locks
|
|
the firmware branch of the APPROTECT mechanism, preventing it
|
|
from being opened.
|
|
|
|
config NRF_APPROTECT_USER_HANDLING
|
|
bool "Allow user handling"
|
|
depends on !SOC_SERIES_NRF52X
|
|
help
|
|
When this option is selected, the SystemInit() function does not
|
|
touch the APPROTECT mechanism, allowing the user code to handle it
|
|
at later stages, for example, to implement authenticated debug.
|
|
|
|
endchoice
|
|
|
|
choice NRF_SECURE_APPROTECT_HANDLING
|
|
bool "Secure APPROTECT handling"
|
|
depends on (SOC_NRF5340_CPUAPP && !TRUSTED_EXECUTION_NONSECURE)
|
|
default NRF_SECURE_APPROTECT_USE_UICR
|
|
help
|
|
Specifies how the SystemInit() function should handle the secure
|
|
APPROTECT mechanism.
|
|
|
|
config NRF_SECURE_APPROTECT_USE_UICR
|
|
bool "Use UICR"
|
|
help
|
|
When this option is selected, the SystemInit() function loads the
|
|
firmware branch state of the secure APPROTECT mechanism from UICR,
|
|
so if UICR->SECUREAPPROTECT is disabled, CTRLAP->SECUREAPPROTECT
|
|
will be disabled.
|
|
|
|
config NRF_SECURE_APPROTECT_LOCK
|
|
bool "Lock"
|
|
help
|
|
When this option is selected, the SystemInit() function locks the
|
|
firmware branch of the secure APPROTECT mechanism, preventing it
|
|
from being opened.
|
|
|
|
config NRF_SECURE_APPROTECT_USER_HANDLING
|
|
bool "Allow user handling"
|
|
depends on !SOC_SERIES_NRF52X
|
|
help
|
|
When this option is selected, the SystemInit() function does not
|
|
touch the secure APPROTECT mechanism, allowing the user code to
|
|
handle it at later stages, for example, to implement authenticated
|
|
debug.
|
|
|
|
endchoice
|
|
|
|
config NRF_TRACE_PORT
|
|
bool "nRF TPIU"
|
|
depends on !SOC_SERIES_NRF51X
|
|
help
|
|
Enable this option to initialize the TPIU (Trace Port Interface
|
|
Unit) for tracing using a hardware probe. If disabled, the trace
|
|
pins will be used as GPIO.
|
|
|
|
endif # SOC_FAMILY_NRF
|