mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-07 00:22:31 +00:00
Added option to have LFCLK synthesized from HFCLK. It is not low power but ensures constant relation between HFCLK and LFCLK and might be useful in certain scenarios (e.g. testing). Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
59 lines
1.7 KiB
C
59 lines
1.7 KiB
C
/*
|
|
* Copyright (c) 2016 Nordic Semiconductor ASA
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_NRF_CLOCK_CONTROL_H_
|
|
#define ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_NRF_CLOCK_CONTROL_H_
|
|
|
|
#if defined(CONFIG_USB) && defined(CONFIG_SOC_NRF52840)
|
|
#include <device.h>
|
|
#endif
|
|
#include <nrf_clock.h>
|
|
|
|
/* TODO: move all these to clock_control.h ? */
|
|
|
|
/* Define 32KHz clock source */
|
|
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC
|
|
#define CLOCK_CONTROL_NRF_K32SRC NRF_CLOCK_LFCLK_RC
|
|
#endif
|
|
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL
|
|
#define CLOCK_CONTROL_NRF_K32SRC NRF_CLOCK_LFCLK_Xtal
|
|
#endif
|
|
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH
|
|
#define CLOCK_CONTROL_NRF_K32SRC NRF_CLOCK_LFCLK_Synth
|
|
#endif
|
|
|
|
/* Define 32KHz clock accuracy */
|
|
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM
|
|
#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 0
|
|
#endif
|
|
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_250PPM
|
|
#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 1
|
|
#endif
|
|
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_150PPM
|
|
#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 2
|
|
#endif
|
|
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_100PPM
|
|
#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 3
|
|
#endif
|
|
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_75PPM
|
|
#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 4
|
|
#endif
|
|
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_50PPM
|
|
#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 5
|
|
#endif
|
|
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_30PPM
|
|
#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 6
|
|
#endif
|
|
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_20PPM
|
|
#define CLOCK_CONTROL_NRF_K32SRC_ACCURACY 7
|
|
#endif
|
|
|
|
#if defined(CONFIG_USB) && defined(CONFIG_SOC_NRF52840)
|
|
void nrf5_power_usb_power_int_enable(bool enable);
|
|
#endif
|
|
|
|
#endif /* ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_NRF_CLOCK_CONTROL_H_ */
|