123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- /**
- * @file clock.h
- * @author chipsea
- * @brief
- * @version 0.1
- * @date 2020-11-30
- * @copyright Copyright (c) 2020, CHIPSEA Co., Ltd.
- * @note
- */
- #ifndef _HAL_CLOCK_H
- #define _HAL_CLOCK_H
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #include "types.h"
- #include "cst92f2x.h"
- //#include "common.h"
- typedef enum{
- CLK_32K_XTAL = 0,
- CLK_32K_RCOSC = 1,
-
- }CLK32K_e;
- typedef enum{
- XTAL_16M = 0,
- DBL_B_32M = 1,
- DBL_32 = 2,
- DLL_32M = 3,
-
- }ClkSrc_e;
- typedef enum _SYSCLK_SEL {
- SYS_CLK_RC_32M = 0,
- SYS_CLK_DLL_32M = 1,
- SYS_CLK_XTAL_16M = 2,
- SYS_CLK_DLL_48M = 3,
- SYS_CLK_DLL_64M = 4,
- SYS_CLK_DLL_96M = 5,
- SYS_CLK_8M = 6,
- SYS_CLK_4M = 7,
- SYS_CLK_NUM = 8,
- }sysclk_t;
- typedef enum{
- HCLK_CHANGE = 0,
- AP_CLK_CHANGE = 1,
- CP_CLK_CHANGE = 2,
- } clk_update_Type_t;
- typedef struct _clk_Evt_t{
- uint8_t flag;
-
- }clk_Evt_t;
- typedef void (*clk_Hdl_t)(clk_Evt_t* pev);
- typedef struct _clk_Contex_t{
- bool enable;
- clk_Hdl_t evt_handler;
- }clk_Ctx_t;
- #define CLAER_RTC_COUNT AP_AON->RTCCTL |= BIT(1)
- #define RUN_RTC AP_AON->RTCCTL |= BIT(0)
- #define STOP_RTC AP_AON->RTCCTL &= ~BIT(0)
- #define hal_system_init clk_init
- extern volatile uint32_t g_hclk;
- #define clk_get_hclk() g_hclk
- uint32_t clk_get_pclk(void);
- void hal_clk_gate_enable(MODULE_e module);
- void hal_clk_gate_disable(MODULE_e module);
- int hal_clk_gate_get(MODULE_e module);
- void hal_clk_get_modules_state(uint32_t* buff);
- void hal_clk_reset(MODULE_e module);
- void hal_clk_rf_config(ClkSrc_e sel);
- void hal_clk_rxadc_config(ClkSrc_e sel);
- bool hal_clk_set_pclk(uint32_t div);
- int hal_clk_init(sysclk_t hclk_sel,clk_Hdl_t evt_handler);
- void hal_rtc_clock_config(CLK32K_e clk32Mode);
- uint32_t hal_systick(void);
- uint32_t hal_ms_intv(uint32_t tick);
- extern uint32_t rtc_get_counter(void);
- void WaitMs(uint32_t msecond);
- void WaitUs(uint32_t wtTime);
- void hal_system_soft_reset(void);
- extern int clk_init(sysclk_t h_system_clk_sel);
- extern void WaitRTCCount(uint32_t rtcDelyCnt);
- extern int clk_spif_ref_clk(sysclk_t spif_ref_sel);
- extern uint32_t getMcuPrecisionCount(void);
- void hal_rfPhyFreqOff_Set(void);
- void hal_xtal16m_cap_Set(void);
- void hal_rc32k_clk_tracking_init(void);
- extern uint8_t get_ic_version(void);
- #ifdef __cplusplus
- }
- #endif
- #endif
|