Files
AC707N/SDK/interface/driver/gpcnt_trim.h
T
2025-12-03 11:12:34 +08:00

77 lines
1.9 KiB
C

#ifndef _GPCNT_H
#define _GPCNT_H
#include "typedef.h"
enum gpcnt_gss_css_src {
GPCNT_SRC_SYSPLL_D1P0 = 1,
GPCNT_SRC_RINGCLK = 2,
GPCNT_SRC_RC16M = 3,
GPCNT_SRC_RC250K = 4,
GPCNT_SRC_LRC_TRC = 5,
GPCNT_SRC_PATCLK = 6,
GPCNT_SRC_LRC24M = 7,
GPCNT_SRC_BTOSC24M = 8,
GPCNT_SRC_BTOSC48M = 9,
GPCNT_SRC_P33_DBG = 10,
GPCNT_SRC_HSBCLK = 11,
GPCNT_SRC_LSBCLK = 12,
GPCNT_SRC_PLL96M = 13,
GPCNT_SRC_STD48M = 14,
GPCNT_SRC_STD24M = 15,
GPCNT_SRC_ASS_DBG = 16,
GPCNT_SRC_P11_DBG = 17,
GPCNT_SRC_WATCLK = 18
};
#define CSS_CLK_SRC GPCNT_SRC_PLL96M
#define CSS_CLK_FREQ 96000000
int gpcnt_trim_early_init();
void gpcnt_trim_cfg(u32 gss_ck, u32 css_ck, u32 gts_mul);
u32 gpcnt_trim_wait_pnd(u32 sync);
u32 gpcnt_trim_num2freq(u32 css_num, u32 gts_mul, u32 css_freq);
u32 gpcnt_trim_freq(u32 gss_ck, u32 css_ck, u32 gts_mul, u32 css_freq);
u32 gpcnt_trim_num2cssfreq(u32 css_num, u32 gts_mul, u32 gss_freq);
u32 gpcnt_trim_cssfreq(u32 gss_ck, u32 css_ck, u32 gts_mul, u32 gss_freq);
// avg 实际返回的是中心值,不是算术平均值
u32 rc250k_trim_get_avg();
u32 rc250k_trim_get_latest();
void rc250k_trim_dump();
u32 rc250k_trim_get_drift();
u32 rc250k_trim_get_high();
u32 rc250k_trim_get_low();
u32 rc16m_trim_get_avg();
u32 rc16m_trim_get_latest();
void rc16m_trim_dump();
u32 rc16m_trim_get_drift();
u32 rc16m_trim_get_high();
u32 rc16m_trim_get_low();
u32 lrc24m_trim_get_avg();
u32 lrc24m_trim_get_latest();
void lrc24m_trim_dump();
u32 lrc24m_trim_get_drift();
u32 lrc24m_trim_get_high();
u32 lrc24m_trim_get_low();
void lrc24m_init(u32 ftis, u32 ftcs, u32 ftrs);
u32 lrc200k_trim_get_avg();
u32 lrc200k_trim_get_center();
u32 lrc200k_trim_get_latest();
void lrc200k_trim_dump();
u32 lrc200k_trim_get_drift();
u32 lrc200k_trim_get_high();
u32 lrc200k_trim_get_low();
void m2p_lrc_update(u32 osc_hz);
#endif