modules: hal_nordic: nrfx: Decouple clock control from nrfx_clock
Create Kconfig configuration for nrfx_clock driver and use that to export configuration to nrfx via nrfx_kconfig. So far nrfx_kconfig was using Kconfig flags from clock_control which created a fixed connection between nrfx_clock and clock_control and nrfx_clock could not be used without clock_control in Zephyr. Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
parent
0c82c3516f
commit
1ca4b333b4
3 changed files with 41 additions and 11 deletions
|
@ -32,25 +32,30 @@ choice CLOCK_CONTROL_NRF_SOURCE
|
||||||
|
|
||||||
config CLOCK_CONTROL_NRF_K32SRC_RC
|
config CLOCK_CONTROL_NRF_K32SRC_RC
|
||||||
bool "RC Oscillator"
|
bool "RC Oscillator"
|
||||||
|
select NRFX_CLOCK_LF_SRC_RC if !CLOCK_CONTROL_NRF_FORCE_ALT
|
||||||
|
|
||||||
config CLOCK_CONTROL_NRF_K32SRC_XTAL
|
config CLOCK_CONTROL_NRF_K32SRC_XTAL
|
||||||
|
bool "Crystal Oscillator"
|
||||||
|
select NRFX_CLOCK_LF_SRC_XTAL if !CLOCK_CONTROL_NRF_FORCE_ALT
|
||||||
select NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED if (!SOC_SERIES_BSIM_NRFXX && \
|
select NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED if (!SOC_SERIES_BSIM_NRFXX && \
|
||||||
!CLOCK_CONTROL_NRF_FORCE_ALT)
|
!CLOCK_CONTROL_NRF_FORCE_ALT)
|
||||||
bool "Crystal Oscillator"
|
|
||||||
|
|
||||||
config CLOCK_CONTROL_NRF_K32SRC_SYNTH
|
config CLOCK_CONTROL_NRF_K32SRC_SYNTH
|
||||||
depends on !SOC_SERIES_NRF91X
|
|
||||||
bool "Synthesized from HFCLK"
|
bool "Synthesized from HFCLK"
|
||||||
|
depends on !SOC_SERIES_NRF91X
|
||||||
|
select NRFX_CLOCK_LF_SRC_SYNTH if !CLOCK_CONTROL_NRF_FORCE_ALT
|
||||||
|
|
||||||
config CLOCK_CONTROL_NRF_K32SRC_EXT_LOW_SWING
|
config CLOCK_CONTROL_NRF_K32SRC_EXT_LOW_SWING
|
||||||
|
bool "External low swing"
|
||||||
depends on SOC_SERIES_NRF52X
|
depends on SOC_SERIES_NRF52X
|
||||||
select NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED if !CLOCK_CONTROL_NRF_FORCE_ALT
|
select NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED if !CLOCK_CONTROL_NRF_FORCE_ALT
|
||||||
bool "External low swing"
|
select NRFX_CLOCK_LF_SRC_LOW_SWING if !CLOCK_CONTROL_NRF_FORCE_ALT
|
||||||
|
|
||||||
config CLOCK_CONTROL_NRF_K32SRC_EXT_FULL_SWING
|
config CLOCK_CONTROL_NRF_K32SRC_EXT_FULL_SWING
|
||||||
|
bool "External full swing"
|
||||||
depends on SOC_SERIES_NRF52X
|
depends on SOC_SERIES_NRF52X
|
||||||
select NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED if !CLOCK_CONTROL_NRF_FORCE_ALT
|
select NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED if !CLOCK_CONTROL_NRF_FORCE_ALT
|
||||||
bool "External full swing"
|
select NRFX_CLOCK_LF_SRC_FULL_SWING if !CLOCK_CONTROL_NRF_FORCE_ALT
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
@ -58,6 +63,7 @@ config CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION
|
||||||
bool "LF clock calibration"
|
bool "LF clock calibration"
|
||||||
depends on !SOC_SERIES_NRF91X && CLOCK_CONTROL_NRF_K32SRC_RC
|
depends on !SOC_SERIES_NRF91X && CLOCK_CONTROL_NRF_K32SRC_RC
|
||||||
default y if !SOC_NRF53_CPUNET_ENABLE
|
default y if !SOC_NRF53_CPUNET_ENABLE
|
||||||
|
select NRFX_CLOCK_LF_CAL_ENABLED if !CLOCK_CONTROL_NRF_FORCE_ALT
|
||||||
help
|
help
|
||||||
If calibration is disabled when RC is used for low frequency clock then
|
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
|
accuracy of the low frequency clock will degrade. Disable on your own
|
||||||
|
|
|
@ -17,9 +17,33 @@ config NRFX_CLOCK
|
||||||
bool "CLOCK driver"
|
bool "CLOCK driver"
|
||||||
depends on $(dt_nodelabel_exists,clock)
|
depends on $(dt_nodelabel_exists,clock)
|
||||||
|
|
||||||
|
if NRFX_CLOCK
|
||||||
|
|
||||||
config NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED
|
config NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED
|
||||||
bool "Two stage start sequence of the low frequency clock"
|
bool "Two stage start sequence of the low frequency clock"
|
||||||
depends on NRFX_CLOCK
|
|
||||||
|
config NRFX_CLOCK_LF_CAL_ENABLED
|
||||||
|
bool "LFRC Calibration enabled"
|
||||||
|
|
||||||
|
config NRFX_CLOCK_LF_SRC_RC
|
||||||
|
bool "RC Oscillator"
|
||||||
|
|
||||||
|
config NRFX_CLOCK_LF_SRC_XTAL
|
||||||
|
bool "Crystal Oscillator"
|
||||||
|
|
||||||
|
config NRFX_CLOCK_LF_SRC_SYNTH
|
||||||
|
depends on !SOC_SERIES_NRF91X
|
||||||
|
bool "Synthesized from HFCLK"
|
||||||
|
|
||||||
|
config NRFX_CLOCK_LF_SRC_LOW_SWING
|
||||||
|
depends on SOC_SERIES_NRF52X
|
||||||
|
bool "External low swing"
|
||||||
|
|
||||||
|
config NRFX_CLOCK_LF_SRC_FULL_SWING
|
||||||
|
depends on SOC_SERIES_NRF52X
|
||||||
|
bool "External full swing"
|
||||||
|
|
||||||
|
endif # NRFX_CLOCK
|
||||||
|
|
||||||
config NRFX_COMP
|
config NRFX_COMP
|
||||||
bool "COMP driver"
|
bool "COMP driver"
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
#define NRFX_CLOCK_CONFIG_LOG_ENABLED 1
|
#define NRFX_CLOCK_CONFIG_LOG_ENABLED 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC
|
#ifdef CONFIG_NRFX_CLOCK_LF_SRC_RC
|
||||||
#if defined(CONFIG_SOC_SERIES_NRF91X) || defined(CONFIG_SOC_COMPATIBLE_NRF53X)
|
#if defined(CONFIG_SOC_SERIES_NRF91X) || defined(CONFIG_SOC_COMPATIBLE_NRF53X)
|
||||||
#define NRFX_CLOCK_CONFIG_LF_SRC 1
|
#define NRFX_CLOCK_CONFIG_LF_SRC 1
|
||||||
#else
|
#else
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL
|
#ifdef CONFIG_NRFX_CLOCK_LF_SRC_XTAL
|
||||||
#if defined(CONFIG_SOC_SERIES_NRF91X) || defined(CONFIG_SOC_COMPATIBLE_NRF53X)
|
#if defined(CONFIG_SOC_SERIES_NRF91X) || defined(CONFIG_SOC_COMPATIBLE_NRF53X)
|
||||||
#define NRFX_CLOCK_CONFIG_LF_SRC 2
|
#define NRFX_CLOCK_CONFIG_LF_SRC 2
|
||||||
#else
|
#else
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH
|
#ifdef CONFIG_NRFX_CLOCK_LF_SRC_SYNTH
|
||||||
#ifdef CONFIG_SOC_COMPATIBLE_NRF53X
|
#ifdef CONFIG_SOC_COMPATIBLE_NRF53X
|
||||||
#define NRFX_CLOCK_CONFIG_LF_SRC 3
|
#define NRFX_CLOCK_CONFIG_LF_SRC 3
|
||||||
#else
|
#else
|
||||||
|
@ -52,15 +52,15 @@
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_EXT_LOW_SWING
|
#ifdef CONFIG_NRFX_CLOCK_LF_SRC_LOW_SWING
|
||||||
#define NRFX_CLOCK_CONFIG_LF_SRC 131073
|
#define NRFX_CLOCK_CONFIG_LF_SRC 131073
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_EXT_FULL_SWING
|
#ifdef CONFIG_NRFX_CLOCK_LF_SRC_FULL_SWING
|
||||||
#define NRFX_CLOCK_CONFIG_LF_SRC 196609
|
#define NRFX_CLOCK_CONFIG_LF_SRC 196609
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION
|
#ifdef CONFIG_NRFX_CLOCK_LF_CAL_ENABLED
|
||||||
#define NRFX_CLOCK_CONFIG_LF_CAL_ENABLED 1
|
#define NRFX_CLOCK_CONFIG_LF_CAL_ENABLED 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue