mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-06 04:51:56 +00:00
By adding new SoC to Zephyr drivers has to be updated. Commit affects: - USB driver - support for nRF52833 added. - support for USB_DEVICE_REMOTE_WAKEUP in hid-mouse added. - SPI - IEEE 802.15.4 - CLOCK CONTROL Signed-off-by: Emil Obalski <emil.obalski@nordicsemi.no>
82 lines
2.4 KiB
C
82 lines
2.4 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_
|
|
|
|
#include <device.h>
|
|
#include <hal/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
|
|
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_EXT_LOW_SWING
|
|
#define CLOCK_CONTROL_NRF_K32SRC NRF_CLOCK_LFCLK_Xtal_Low_Swing
|
|
#endif
|
|
#ifdef CONFIG_CLOCK_CONTROL_NRF_K32SRC_EXT_FULL_SWING
|
|
#define CLOCK_CONTROL_NRF_K32SRC NRF_CLOCK_LFCLK_Xtal_Full_Swing
|
|
#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_NRFX)
|
|
void nrf5_power_usb_power_int_enable(bool enable);
|
|
#endif
|
|
|
|
/** @brief Force LF clock calibration. */
|
|
void z_nrf_clock_calibration_force_start(void);
|
|
|
|
/** @brief Return number of calibrations performed.
|
|
*
|
|
* Valid when @ref CONFIG_CLOCK_CONTROL_NRF_CALIBRATION_DEBUG is set.
|
|
*
|
|
* @return Number of calibrations or -1 if feature is disabled.
|
|
*/
|
|
int z_nrf_clock_calibration_count(void);
|
|
|
|
/** @brief Return number of attempts when calibration was skipped.
|
|
*
|
|
* Valid when @ref CONFIG_CLOCK_CONTROL_NRF_CALIBRATION_DEBUG is set.
|
|
*
|
|
* @return Number of calibrations or -1 if feature is disabled.
|
|
*/
|
|
int z_nrf_clock_calibration_skips_count(void);
|
|
|
|
#endif /* ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_NRF_CLOCK_CONTROL_H_ */
|