1# Nordic Semiconductor nRFx MCU line 2 3# Copyright (c) 2016-2018 Nordic Semiconductor ASA 4# SPDX-License-Identifier: Apache-2.0 5 6config SOC_FAMILY_NRF 7 select SOC_COMPATIBLE_NRF 8 select PLATFORM_SPECIFIC_INIT 9 bool 10 11if SOC_FAMILY_NRF 12config SOC_FAMILY 13 string 14 default "nordic_nrf" 15 16source "soc/arm/nordic_nrf/Kconfig.peripherals" 17source "soc/arm/nordic_nrf/*/Kconfig.soc" 18 19config NRF_SOC_SECURE_SUPPORTED 20 def_bool !TRUSTED_EXECUTION_NONSECURE || (BUILD_WITH_TFM && TFM_PARTITION_PLATFORM) 21 help 22 Hidden function to indicate that 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 NRF_MPU_FLASH_REGION_SIZE 29 hex 30 default 0x1000 31 depends on HAS_HW_NRF_MPU 32 help 33 FLASH region size for the NRF_MPU peripheral. 34 35config NRF_BPROT_FLASH_REGION_SIZE 36 hex 37 default $(dt_node_int_prop_hex,$(DT_CHOSEN_ZEPHYR_FLASH),erase-block-size) 38 depends on HAS_HW_NRF_BPROT 39 help 40 FLASH region size for the NRF_BPROT peripheral (nRF52). 41 42config NRF_ACL_FLASH_REGION_SIZE 43 hex 44 default $(dt_node_int_prop_hex,$(DT_CHOSEN_ZEPHYR_FLASH),erase-block-size) 45 depends on HAS_HW_NRF_ACL 46 help 47 FLASH region size for the NRF_ACL peripheral. 48 49config NFCT_PINS_AS_GPIOS 50 bool "[DEPRECATED] NFCT pins as GPIOs" 51 depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_NFCT)) 52 select DEPRECATED 53 help 54 Two pins are usually reserved for NFC in SoCs that implement the 55 NFCT peripheral. This option switches them to normal GPIO mode. 56 HW enabling happens once in the device lifetime, during the first 57 system startup. Disabling this option will not switch back these 58 pins to NFCT mode. Doing this requires UICR erase prior to 59 flashing device using the image which has this option disabled. 60 61 NFC pins in nRF52 series: P0.09 and P0.10 62 NFC pins in nRF5340: P0.02 and P0.03 63 64 This option is deprecated, please use devicetree to configure NFCT 65 pins as GPIOS like this: 66 67 &uicr { 68 nfct-pins-as-gpios; 69 }; 70 71choice NRF_APPROTECT_HANDLING 72 bool "APPROTECT handling" 73 depends on SOC_SERIES_NRF52X || SOC_NRF5340_CPUNET || \ 74 (SOC_NRF5340_CPUAPP && !TRUSTED_EXECUTION_NONSECURE) || \ 75 SOC_SERIES_NRF91X 76 default NRF_APPROTECT_USE_UICR 77 help 78 Specifies how the SystemInit() function should handle the APPROTECT 79 mechanism. 80 81config NRF_APPROTECT_USE_UICR 82 bool "Use UICR" 83 help 84 When this option is selected, the SystemInit() function loads the 85 firmware branch state of the APPROTECT mechanism from UICR, so if 86 UICR->APPROTECT is disabled, CTRLAP->APPROTECT will be disabled. 87 88config NRF_APPROTECT_LOCK 89 bool "Lock" 90 help 91 When this option is selected, the SystemInit() function locks 92 the firmware branch of the APPROTECT mechanism, preventing it 93 from being opened. 94 95config NRF_APPROTECT_USER_HANDLING 96 bool "Allow user handling" 97 depends on !SOC_SERIES_NRF52X 98 help 99 When this option is selected, the SystemInit() function does not 100 touch the APPROTECT mechanism, allowing the user code to handle it 101 at later stages, for example, to implement authenticated debug. 102 103endchoice 104 105choice NRF_SECURE_APPROTECT_HANDLING 106 bool "Secure APPROTECT handling" 107 depends on (SOC_NRF5340_CPUAPP && !TRUSTED_EXECUTION_NONSECURE) 108 default NRF_SECURE_APPROTECT_USE_UICR 109 help 110 Specifies how the SystemInit() function should handle the secure 111 APPROTECT mechanism. 112 113config NRF_SECURE_APPROTECT_USE_UICR 114 bool "Use UICR" 115 help 116 When this option is selected, the SystemInit() function loads the 117 firmware branch state of the secure APPROTECT mechanism from UICR, 118 so if UICR->SECUREAPPROTECT is disabled, CTRLAP->SECUREAPPROTECT 119 will be disabled. 120 121config NRF_SECURE_APPROTECT_LOCK 122 bool "Lock" 123 help 124 When this option is selected, the SystemInit() function locks the 125 firmware branch of the secure APPROTECT mechanism, preventing it 126 from being opened. 127 128config NRF_SECURE_APPROTECT_USER_HANDLING 129 bool "Allow user handling" 130 depends on !SOC_SERIES_NRF52X 131 help 132 When this option is selected, the SystemInit() function does not 133 touch the secure APPROTECT mechanism, allowing the user code to 134 handle it at later stages, for example, to implement authenticated 135 debug. 136 137endchoice 138 139config NRF_TRACE_PORT 140 bool "nRF TPIU" 141 depends on !SOC_SERIES_NRF51X 142 help 143 Enable this option to initialize the TPIU (Trace Port Interface 144 Unit) for tracing using a hardware probe. If disabled, the trace 145 pins will be used as GPIO. 146 147config NRF_STORE_REBOOT_TYPE_GPREGRET 148 bool "Set GPREGRET to reboot type (DEPRECATED)" 149 depends on SOC_SERIES_NRF51X || SOC_SERIES_NRF52X 150 depends on REBOOT 151 depends on !RETENTION_BOOT_MODE 152 select DEPRECATED 153 help 154 If this option is enabled, then the parameter supplied to the 155 sys_reboot() function will be set in the GPREGRET register. 156 157 This has been replaced with the bootmode part of the retention 158 subsystem, which should be used instead. 159 160endif # SOC_FAMILY_NRF 161