/*********************************************************************
 *
 *        Filename:  cpri_timer.h
 *
 *         Created:  2022-04-28 02:19:34 PM
 *   Last Modified:  2022-04-28 02:19:34 PM
 *          Author:  xinxin.li
 *    Organization:  Beijing Smart Logic Technology Co., Ltd.
 *
 *     Description:
 *
 *
 ********************************************************************/

#ifndef __CPRI_TIMER_H__
#define __CPRI_TIMER_H__

#include "ucp_drv_common.h"
#include "phy_para.h"

typedef enum _tagCpriTestMode
{
	CPRI_NORMAL_MODE	= 0,
	CPRI_NORMAL_TO_TEST	= 1,
	CPRI_TEST_MODE		= 2,
	CPRI_TEST_TO_NORMAL	= 3
}numCpriTestMode;


void cpri_timer_ecprimode_clk_init();

void cpri_mtimer_init(int32_t nScsId, int32_t nTddSlotNum);

void cpri_timer_init(void);

void set_cpri_tmr_period(void);

void cpri_timer_reconfig(phy_timer_config_ind_t *my_cpritmr);  //with AD9371

void cpri_timer_clear_cell(uint8_t scsId);

void set_cpri_tx_axc_ch_en(void);

// 10ms
void set_cpri_sfn_offset(void);
void set_cpri_tx_rfp(void);

void cpri_1pps_src_init(uint8_t srcId);

void set_cpri_1pps_scratch(void);

void set_cpri_tdd_offset(void);

void clear_cpri_tdd_offset(void);

void set_cpri_insert_int(void);

void set_tx_slot_offset();

void clear_tx_slot_offset();

void set_rx_slot_offset();

void clear_rx_slot_offset();

void set_cpri_lte_fapi_offset(void);

void clear_cpri_lte_fapi_offset(void);

int32_t set_cpri_ape_slot_offset(uint32_t apeCoreId);

int32_t clear_cpri_ape_slot_offset(uint32_t apeCoreId);

int32_t set_cpri_tx_symbol_offset(uint8_t symbolId);

void set_cpri_timer_int(void);

void start_cpri_timer(void);

void stop_cpri_timer(void);

void isr_cpri_10ms(void);
void isr_cpri_tdd_offset(void);
void isr_cpri_slot_offset(void);


int32_t get_sfnoffset_int_flag();
void clear_sfnoffset_int_flag();

void cpri_tdd_start_csu_timing();
void cpri_tdd_start_csu_7ds2u();
#if 0
void set_tx_slot_intflag(int32_t flag);

int32_t get_tx_slot_intflag();

void set_rx_slot_intflag(int32_t flag);

int32_t get_rx_slot_intflag();
#endif

#endif

