7#ifndef ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_NRF_CLOCK_CONTROL_H_
8#define ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_NRF_CLOCK_CONTROL_H_
11#include <hal/nrf_clock.h>
26#if NRF_CLOCK_HAS_HFCLK192M
27 CLOCK_CONTROL_NRF_TYPE_HFCLK192M,
29#if NRF_CLOCK_HAS_HFCLKAUDIO
30 CLOCK_CONTROL_NRF_TYPE_HFCLKAUDIO,
38#define CLOCK_CONTROL_NRF_SUBSYS_HF \
39 ((clock_control_subsys_t)CLOCK_CONTROL_NRF_TYPE_HFCLK)
40#define CLOCK_CONTROL_NRF_SUBSYS_LF \
41 ((clock_control_subsys_t)CLOCK_CONTROL_NRF_TYPE_LFCLK)
42#define CLOCK_CONTROL_NRF_SUBSYS_HF192M \
43 ((clock_control_subsys_t)CLOCK_CONTROL_NRF_TYPE_HFCLK192M)
44#define CLOCK_CONTROL_NRF_SUBSYS_HFAUDIO \
45 ((clock_control_subsys_t)CLOCK_CONTROL_NRF_TYPE_HFCLKAUDIO)
55#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC
56#define CLOCK_CONTROL_NRF_K32SRC NRF_CLOCK_LFCLK_RC
58#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL
59#define CLOCK_CONTROL_NRF_K32SRC NRF_CLOCK_LFCLK_XTAL
61#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH
62#define CLOCK_CONTROL_NRF_K32SRC NRF_CLOCK_LFCLK_SYNTH
64#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_EXT_LOW_SWING
65#define CLOCK_CONTROL_NRF_K32SRC NRF_CLOCK_LFCLK_XTAL_LOW_SWING
67#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_EXT_FULL_SWING
68#define CLOCK_CONTROL_NRF_K32SRC NRF_CLOCK_LFCLK_XTAL_FULL_SWING
72#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM
73#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 0
75#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_250PPM
76#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 1
78#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_150PPM
79#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 2
81#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_100PPM
82#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 3
84#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_75PPM
85#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 4
87#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_50PPM
88#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 5
90#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_30PPM
91#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 6
93#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_20PPM
94#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 7
98void z_nrf_clock_calibration_force_start(
void);
106int z_nrf_clock_calibration_count(
void);
114int z_nrf_clock_calibration_skips_count(
void);
146void z_nrf_clock_bt_ctlr_hf_request(
void);
152void z_nrf_clock_bt_ctlr_hf_release(
void);
Public Clock Control APIs.
void * clock_control_subsys_t
clock_control_subsys_t is a type to identify a clock controller sub-system.
Definition: clock_control.h:58
nrf_lfclk_start_mode
LF clock start modes.
Definition: nrf_clock_control.h:48
@ CLOCK_CONTROL_NRF_LF_START_AVAILABLE
Definition: nrf_clock_control.h:50
@ CLOCK_CONTROL_NRF_LF_START_STABLE
Definition: nrf_clock_control.h:51
@ CLOCK_CONTROL_NRF_LF_START_NOWAIT
Definition: nrf_clock_control.h:49
clock_control_nrf_type
Clocks handled by the CLOCK peripheral.
Definition: nrf_clock_control.h:23
@ CLOCK_CONTROL_NRF_TYPE_COUNT
Definition: nrf_clock_control.h:32
@ CLOCK_CONTROL_NRF_TYPE_HFCLK
Definition: nrf_clock_control.h:24
@ CLOCK_CONTROL_NRF_TYPE_LFCLK
Definition: nrf_clock_control.h:25
State associated with an on-off manager.
Definition: onoff.h:154