1# Nordic Semiconductor nRFx MCU line 2 3# Copyright (c) 2016-2018 Nordic Semiconductor ASA 4# SPDX-License-Identifier: Apache-2.0 5 6# This file is contains Zephyr build system Kconfig references and is not 7# re-usable outside the Zephyr tree. 8 9config SOC_FAMILY_NORDIC_NRF 10 select SOC_COMPATIBLE_NRF 11 select PLATFORM_SPECIFIC_INIT if ARM 12 13if SOC_FAMILY_NORDIC_NRF 14 15rsource "common/Kconfig.peripherals" 16rsource "*/Kconfig" 17 18config NRF_SOC_SECURE_SUPPORTED 19 def_bool !TRUSTED_EXECUTION_NONSECURE || (BUILD_WITH_TFM && TFM_PARTITION_PLATFORM) 20 depends on !SOC_SERIES_NRF54HX 21 help 22 Hidden function to indicate that the soc_secure functions are 23 available. 24 The functions are always available when not in non-secure. 25 For non-secure the functions must redirect to secure services exposed 26 by the secure firmware. 27 28config BUILD_WITH_TFM 29 default y if TRUSTED_EXECUTION_NONSECURE 30 help 31 By default, if we build for a Non-Secure version of the board, 32 enable building with TF-M as the Secure Execution Environment. 33 34if BUILD_WITH_TFM 35 36config TFM_FLASH_MERGED_BINARY 37 default y 38 help 39 By default, if we build with TF-M, instruct build system to 40 flash the combined TF-M (Secure) & Zephyr (Non Secure) image 41 42config TFM_LOG_LEVEL_SILENCE 43 default y if !$(dt_nodelabel_has_prop,uart1,pinctrl-names) 44 help 45 Disable TF-M secure output if the uart1 node has not assigned GPIO 46 pins using pinctrl. 47 48config TFM_NRF_NS_STORAGE 49 bool "TF-M non-secure storage partition" 50 default y 51 52endif # BUILD_WITH_TFM 53 54 55config NRF_MPU_FLASH_REGION_SIZE 56 hex 57 default 0x1000 58 depends on HAS_HW_NRF_MPU 59 help 60 FLASH region size for the NRF_MPU peripheral. 61 62config NRF_BPROT_FLASH_REGION_SIZE 63 hex 64 default $(dt_node_int_prop_hex,$(DT_CHOSEN_ZEPHYR_FLASH),erase-block-size) 65 depends on HAS_HW_NRF_BPROT 66 help 67 FLASH region size for the NRF_BPROT peripheral (nRF52). 68 69config NRF_ACL_FLASH_REGION_SIZE 70 hex 71 default $(dt_node_int_prop_hex,$(DT_CHOSEN_ZEPHYR_FLASH),erase-block-size) 72 depends on HAS_HW_NRF_ACL 73 help 74 FLASH region size for the NRF_ACL peripheral. 75 76config NFCT_PINS_AS_GPIOS 77 bool "[DEPRECATED] NFCT pins as GPIOs" 78 depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_NFCT)) 79 select DEPRECATED 80 help 81 Two pins are usually reserved for NFC in SoCs that implement the 82 NFCT peripheral. This option switches them to normal GPIO mode. 83 HW enabling happens once in the device lifetime, during the first 84 system startup. Disabling this option will not switch back these 85 pins to NFCT mode. Doing this requires UICR erase prior to 86 flashing device using the image which has this option disabled. 87 88 NFC pins in nRF52 series: P0.09 and P0.10 89 NFC pins in nRF5340: P0.02 and P0.03 90 91 This option is deprecated, please use devicetree to configure NFCT 92 pins as GPIOS like this: 93 94 &uicr { 95 nfct-pins-as-gpios; 96 }; 97 98choice NRF_APPROTECT_HANDLING 99 bool "APPROTECT handling" 100 depends on SOC_SERIES_NRF52X || SOC_NRF5340_CPUNET || \ 101 SOC_NRF5340_CPUAPP || SOC_SERIES_NRF91X 102 default NRF_APPROTECT_USE_UICR 103 help 104 Specifies how the SystemInit() function should handle the APPROTECT 105 mechanism. 106 107config NRF_APPROTECT_USE_UICR 108 bool "Use UICR" 109 help 110 When this option is selected, the SystemInit() function loads the 111 firmware branch state of the APPROTECT mechanism from UICR, so if 112 UICR->APPROTECT is disabled, CTRLAP->APPROTECT will be disabled. 113 114config NRF_APPROTECT_LOCK 115 bool "Lock" 116 help 117 When this option is selected, the SystemInit() function locks 118 the firmware branch of the APPROTECT mechanism, preventing it 119 from being opened. 120 121config NRF_APPROTECT_USER_HANDLING 122 bool "Allow user handling" 123 depends on !SOC_SERIES_NRF52X 124 help 125 When this option is selected, the SystemInit() function does not 126 touch the APPROTECT mechanism, allowing the user code to handle it 127 at later stages, for example, to implement authenticated debug. 128 129endchoice 130 131choice NRF_SECURE_APPROTECT_HANDLING 132 bool "Secure APPROTECT handling" 133 depends on SOC_NRF5340_CPUAPP || SOC_SERIES_NRF91X 134 default NRF_SECURE_APPROTECT_USE_UICR 135 help 136 Specifies how the SystemInit() function should handle the secure 137 APPROTECT mechanism. 138 139config NRF_SECURE_APPROTECT_USE_UICR 140 bool "Use UICR" 141 help 142 When this option is selected, the SystemInit() function loads the 143 firmware branch state of the secure APPROTECT mechanism from UICR, 144 so if UICR->SECUREAPPROTECT is disabled, CTRLAP->SECUREAPPROTECT 145 will be disabled. 146 147config NRF_SECURE_APPROTECT_LOCK 148 bool "Lock" 149 help 150 When this option is selected, the SystemInit() function locks the 151 firmware branch of the secure APPROTECT mechanism, preventing it 152 from being opened. 153 154config NRF_SECURE_APPROTECT_USER_HANDLING 155 bool "Allow user handling" 156 depends on !SOC_SERIES_NRF52X 157 help 158 When this option is selected, the SystemInit() function does not 159 touch the secure APPROTECT mechanism, allowing the user code to 160 handle it at later stages, for example, to implement authenticated 161 debug. 162 163endchoice 164 165config NRF_TRACE_PORT 166 bool "nRF TPIU" 167 depends on !SOC_SERIES_NRF51X 168 help 169 Enable this option to initialize the TPIU (Trace Port Interface 170 Unit) for tracing using a hardware probe. If disabled, the trace 171 pins will be used as GPIO. 172 173endif # SOC_FAMILY_NORDIC_NRF 174