Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | # Clock controller driver configuration options # Copyright (c) 2016 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 config CLOCK_CONTROL_NRF_FORCE_ALT bool depends on SOC_COMPATIBLE_NRF help This option can be enabled to force an alternative implementation of the clock control driver. menuconfig CLOCK_CONTROL_NRF bool "NRF Clock controller support" depends on SOC_COMPATIBLE_NRF select NRFX_CLOCK if !CLOCK_CONTROL_NRF_FORCE_ALT default y help Enable support for the Nordic Semiconductor nRFxx series SoC clock driver. if CLOCK_CONTROL_NRF config CLOCK_CONTROL_NRF_SHELL bool "Shell commands" depends on SHELL default y if SHELL choice CLOCK_CONTROL_NRF_SOURCE prompt "32KHz clock source" default CLOCK_CONTROL_NRF_K32SRC_XTAL config CLOCK_CONTROL_NRF_K32SRC_RC bool "RC Oscillator" config CLOCK_CONTROL_NRF_K32SRC_XTAL select NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED if (!SOC_SERIES_BSIM_NRFXX && \ !CLOCK_CONTROL_NRF_FORCE_ALT) bool "Crystal Oscillator" config CLOCK_CONTROL_NRF_K32SRC_SYNTH depends on !SOC_SERIES_NRF91X bool "Synthesized from HFCLK" config CLOCK_CONTROL_NRF_K32SRC_EXT_LOW_SWING depends on SOC_SERIES_NRF52X select NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED if !CLOCK_CONTROL_NRF_FORCE_ALT bool "External low swing" config CLOCK_CONTROL_NRF_K32SRC_EXT_FULL_SWING depends on SOC_SERIES_NRF52X select NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED if !CLOCK_CONTROL_NRF_FORCE_ALT bool "External full swing" endchoice config CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION bool "Enable LF clock calibration" depends on !SOC_SERIES_NRF91X && CLOCK_CONTROL_NRF_K32SRC_RC default y help If calibration is disabled when RC is used for low frequency clock then accuracy of the low frequency clock will degrade. Disable on your own risk. if CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION config CLOCK_CONTROL_NRF_CALIBRATION_LF_ALWAYS_ON bool "LF clock is always on" default y if NRF_RTC_TIMER help If RTC is used as system timer then LF clock is always on and handling can be simplified. config CLOCK_CONTROL_NRF_CALIBRATION_PERIOD int "Calibration opportunity period in milliseconds" default 4000 help Periodically, calibration action is performed. Action includes temperature measurement followed by clock calibration. Calibration may be skipped if temperature change (compared to measurement of previous calibration) did not exceeded CLOCK_CONTROL_NRF_CALIBRATION_TEMP_DIFF and number of consecutive skips did not exceeded CLOCK_CONTROL_NRF_CALIBRATION_MAX_SKIP. config CLOCK_CONTROL_NRF_CALIBRATION_MAX_SKIP int "Maximum number of calibration skips" default 1 range 0 255 help Calibration is skipped when temperature change since last calibration was less than configured threshold. If number of consecutive skips reaches configured value then calibration is performed unconditionally. Set to 0 to perform calibration periodically regardless of temperature change. config CLOCK_CONTROL_NRF_CALIBRATION_TEMP_DIFF int "Temperature change triggering calibration (in 0.25 degree units)" default 2 help Calibration is triggered if the temperature has changed by at least this amount since the last calibration. config CLOCK_CONTROL_NRF_CALIBRATION_DEBUG bool "Calibration instrumentation" help Enables retrieving debug information like number of performed or skipped calibrations. config CLOCK_CONTROL_NRF_USES_TEMP_SENSOR bool depends on HAS_HW_NRF_TEMP default y if CLOCK_CONTROL_NRF_CALIBRATION_MAX_SKIP > 0 && \ CLOCK_CONTROL_NRF_CALIBRATION_TEMP_DIFF > 0 select TEMP_NRF5 select SENSOR endif # CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION choice CLOCK_CONTROL_NRF_ACCURACY_PPM prompt "32KHz clock accuracy" default CLOCK_CONTROL_NRF_K32SRC_500PPM if CLOCK_CONTROL_NRF_K32SRC_RC default CLOCK_CONTROL_NRF_K32SRC_20PPM config CLOCK_CONTROL_NRF_K32SRC_500PPM bool "251 ppm to 500 ppm" config CLOCK_CONTROL_NRF_K32SRC_250PPM bool "151 ppm to 250 ppm" config CLOCK_CONTROL_NRF_K32SRC_150PPM bool "101 ppm to 150 ppm" config CLOCK_CONTROL_NRF_K32SRC_100PPM bool "76 ppm to 100 ppm" config CLOCK_CONTROL_NRF_K32SRC_75PPM bool "51 ppm to 75 ppm" config CLOCK_CONTROL_NRF_K32SRC_50PPM bool "31 ppm to 50 ppm" config CLOCK_CONTROL_NRF_K32SRC_30PPM bool "21 ppm to 30 ppm" config CLOCK_CONTROL_NRF_K32SRC_20PPM bool "0 ppm to 20 ppm" endchoice config CLOCK_CONTROL_NRF_ACCURACY int default 500 if CLOCK_CONTROL_NRF_K32SRC_500PPM default 250 if CLOCK_CONTROL_NRF_K32SRC_250PPM default 150 if CLOCK_CONTROL_NRF_K32SRC_150PPM default 100 if CLOCK_CONTROL_NRF_K32SRC_100PPM default 75 if CLOCK_CONTROL_NRF_K32SRC_75PPM default 50 if CLOCK_CONTROL_NRF_K32SRC_50PPM default 30 if CLOCK_CONTROL_NRF_K32SRC_30PPM default 20 if CLOCK_CONTROL_NRF_K32SRC_20PPM endif # CLOCK_CONTROL_NRF |