📄 l1_proto.h
字号:
/************* Revision Controle System Header *************
* GSM Layer 1 software
* L1_PROTO.H
*
* Filename l1_proto.h
* Copyright 2003 (C) Texas Instruments
*
************* Revision Controle System Header *************/
/**************************************/
/* prototypes of L1_SYNC.C functions */
/**************************************/
void hisr (void);
void frit_task (UWORD32 argc, void *argv);
void l1s_task (UWORD32 argc, void *argv);
#if FF_L1_IT_DSP_USF
void usf_task (UWORD32 argc, void *argv);
#endif
void l1s_synch (void);
void l1s_task_scheduler_process (void);
void l1s_execute_frame (void);
void l1s_meas_manager (void);
void l1s_end_manager (void);
void l1s_schedule_tasks (WORD32 *pending_task);
void l1s_merge_manager (WORD32 dl_pending_task);
void l1s_dedicated_mode_manager (void);
void l1s_keep_mftab_hist (void);
/**************************************/
/* prototypes of L1_PWMGR.C functions */
/**************************************/
void l1s_sleep_manager (void);
void l1s_wakeup (void);
void l1s_wakeup_adjust (void);
void GAUGING_Handler (void);
UWORD8 l1s_recover_Os (void);
UWORD8 l1s_check_System (void);
void l1s_recover_Frame (void);
void l1s_recover_HWTimers (void);
BOOL l1s_compute_wakeup_ticks (void);
void l1s_gauging_task (void);
void l1s_gauging_task_end (void);
UWORD32 l1s_get_next_gauging_in_Packet_Idle(void);
void l1s_adapt_traffic_controller (void);
/**************************************/
/* prototypes of L1_MFMGR.C functions */
/**************************************/
void l1s_clear_mftab (T_FRM *frmlst);
void l1s_exec_mftab (void);
void l1s_load_mftab (const T_FCT *fct,
const UWORD8 size,
UWORD8 frame,
T_FRM *frmlst);
/**************************************/
/* prototypes of L1_CMPLX.C functions */
/**************************************/
void l1s_new_synchro (UWORD8 param1, UWORD8 param2);
void l1s_abort (UWORD8 param1, UWORD8 param2);
void l1s_ctrl_ADC (UWORD8 param1, UWORD8 param2);
void l1s_ctrl_msagc (UWORD8 task, UWORD8 param2);
void l1s_ctrl_fb (UWORD8 param1, UWORD8 param2);
void l1s_ctrl_fb26 (UWORD8 task, UWORD8 param2);
void l1s_ctrl_sbgen (UWORD8 task, UWORD8 attempt);
void l1s_ctrl_sb26 (UWORD8 task, UWORD8 param2);
void l1s_ctrl_smscb (UWORD8 task, UWORD8 burst_id);
void l1s_ctrl_snb_dl (UWORD8 task, UWORD8 param2);
void l1s_ctrl_snb_ul (UWORD8 task, UWORD8 param2);
void l1s_ctrl_nnb (UWORD8 task, UWORD8 param2);
void l1s_ctrl_rach (UWORD8 task, UWORD8 param2);
void l1s_ctrl_tchtf (UWORD8 task, UWORD8 param2);
void l1s_ctrl_tchth (UWORD8 task, UWORD8 param2);
void l1s_ctrl_tchtd (UWORD8 task, UWORD8 param2);
void l1s_ctrl_tcha (UWORD8 task, UWORD8 param2);
void l1s_hopping_algo (UWORD8 param1, UWORD8 param2);
void l1s_ctrl_hwtest (UWORD8 task, UWORD8 param2);
void l1s_read_hwtest (UWORD8 task, UWORD8 param2);
void l1s_read_dummy (UWORD8 task, UWORD8 param2);
void l1s_read_msagc (UWORD8 task, UWORD8 param2);
void l1s_read_mon_result (UWORD8 task, UWORD8 param2);
void l1s_read_rx_result (UWORD8 param1, UWORD8 attempt_for_sb2);
void l1s_read_snb_dl (UWORD8 task, UWORD8 burst_id);
void l1s_read_nnb (UWORD8 task, UWORD8 param);
void l1s_read_dedic_dl (UWORD8 task, UWORD8 burst_id);
void l1s_read_tx_result (UWORD8 param1, UWORD8 param2);
void l1s_read_dedic_scell_meas (UWORD8 meas, UWORD8 sub_flag);
void l1s_dedic_reporting (void);
void l1s_read_fb (UWORD8 task, UWORD32 fb_flag, UWORD32 toa, UWORD32 attempt,
UWORD32 pm, UWORD32 angle, UWORD32 snr);
void l1s_read_sb (UWORD8 task,UWORD32 flag, API *data, UWORD32 toa, UWORD8 attempt,
UWORD32 pm, UWORD32 angle, UWORD32 snr);
void l1s_read_sacch_dl (API *info_address, UWORD32 task_rx);
void l1s_read_dcch_dl (API *info_address, UWORD32 task_rx);
void l1s_read_l3frm (UWORD8 pwr_level, API *info_address, UWORD32 task_rx);
void l1s_reset_tx_ptr(UWORD8 param1, UWORD8 param2);
/**************************************/
/* prototypes of L1_AFUNC functions */
/**************************************/
void l1a_reset_full_list (void);
void l1a_reset_ba_list (void);
void l1a_add_time_for_nb (UWORD32 *time_alignmt, UWORD32 *fn_offset);
void l1a_add_timeslot (UWORD32 *time_alignmt, UWORD32 *fn_offset, UWORD8 tn);
void l1a_sub_time_for_nb (UWORD32 *time_alignmt, UWORD32 *fn_offset);
void l1a_sub_timeslot (UWORD32 *time_alignmt, UWORD32 *fn_offset, UWORD8 tn);
T_DEDIC_SET *l1a_get_free_dedic_set (void);
void l1a_fill_bef_sti_param (T_DEDIC_SET *set_ptr, BOOL start_time_present);
WORD32 l1a_decode_starting_time (T_STARTING_TIME coded_starting_time);
void l1a_reset_cell_info (T_CELL_INFO *cell_info);
void l1a_send_confirmation (UWORD32 SignalCode,UWORD8 queue_type);
void l1a_send_result (UWORD32 SignalCode, xSignalHeaderRec *msg, UWORD8 queue);
UWORD8 l1a_encode_rxqual (UWORD32 inlevel);
void l1a_report_failling_ncell_sync (UWORD32 SignalCode, UWORD8 neigh_id);
UWORD8 l1a_clip_txpwr (UWORD8 supplied_txpwr, UWORD16 radio_freq);
void l1a_add_time_delta (UWORD32 *time_alignmt, UWORD32 *fn_offset, WORD32 delta);
void l1a_compensate_sync_ind (T_MPHC_NCELL_SYNC_IND * msg);
void l1a_compute_Eotd_data (UWORD8 *first_scell, UWORD8 neigh_id, UWORD32 SignalCode, xSignalHeaderRec *msg);
void l1a_correct_timing (UWORD8 neigh_id,UWORD32 time_alignmt,UWORD32 fn_offset);
/**************************************/
/* prototypes of L1_FUNC functions */
/**************************************/
void dsp_power_on (void);
#if ((ANLG_FAM == 1) || (ANLG_FAM == 2) || (ANLG_FAM == 3) || (ANLG_FAM == 11))
void l1_abb_power_on (void);
#endif
void tpu_init (void);
void l1s_reset_db_mcu_to_dsp (T_DB_MCU_TO_DSP *page_ptr);
#if (DSP == 38) || (DSP == 39)
void l1s_reset_db_common_mcu_to_dsp (T_DB_COMMON_MCU_TO_DSP *page_ptr);
#endif
void l1s_reset_db_dsp_to_mcu (T_DB_DSP_TO_MCU *page_ptr);
void initialize_l1var (void);
void l1_initialize (T_MMI_L1_CONFIG *mmi_l1_config);
void l1_pwr_mgt_init (void);
void l1_dpll_init_var (void);
void l1s_increment_time (T_TIME_INFO *time, UWORD32 fn_offset);
WORD16 l1s_encode_rxlev (UWORD8 inlevel);
void l1s_send_ho_finished (UWORD8 cause);
void l1s_reset_dedic_serving_meas(void);
UWORD32 l1s_swap_iq_dl (UWORD16 radio_freq, UWORD8 task);
UWORD32 l1s_swap_iq_ul (UWORD16 radio_freq, UWORD8 task);
UWORD8 l1s_ADC_decision_on_NP (void);
#if (AMR == 1)
UWORD8 l1s_amr_get_ratscch_type (API *a_ratscch_dl);
void l1s_amr_update_from_ratscch (API *a_ratscch_dl);
#endif
/**************************************/
/* prototypes of L1_DRIVE functions */
/**************************************/
// MCU-DSP interface drivers.
//---------------------------
void l1ddsp_load_info (UWORD32 task,
API *info_ptr,
UWORD8 *data);
void l1ddsp_load_monit_task (API monit_task,
API fb_mode);
void l1ddsp_load_afc (API afc);
void l1ddsp_load_rx_task (API rx_task,
UWORD8 burst_id,
UWORD8 tsq);
void l1ddsp_load_tx_task (API tx_task,
UWORD8 burst_id,
UWORD8 tsq);
void l1ddsp_load_ra_task (API ra_task);
void l1ddsp_load_txpwr (UWORD8 txpwr,
UWORD16 radio_freq);
// SAIC low level driver function
#if (L1_SAIC != 0)
void l1ddsp_load_swh_flag (UWORD16 SWH_flag);
#endif
void l1ddsp_read_iq_dump(UWORD8 task);
void l1ddsp_apc_load_apcctrl2(UWORD16 apcctrl2);
void l1ddsp_apc_set_manual_mode(void);
void l1ddsp_apc_set_automatic_mode(void);
#ifdef TESTMODE
void l1ddsp_apc_load_apclev(UWORD16 apclev);
#endif
#if (AMR == 1)
#if (FF_L1_TCH_VOCODER_CONTROL == 1)
// Add the AMR synchro bit in the driver's paramters
void l1ddsp_load_tch_param (T_TIME_INFO *next_time,
UWORD8 chan_mode,
UWORD8 chan_type,
UWORD8 subchannel,
UWORD8 tch_loop,
UWORD8 sync_tch,
UWORD8 sync_amr,
UWORD8 reset_sacch,
#if !FF_L1_IT_DSP_DTX
UWORD8 vocoder_on);
#else
UWORD8 vocoder_on,
BOOL dtx_dsp_interrupt);
#endif
#else
void l1ddsp_load_tch_param (T_TIME_INFO *next_time,
UWORD8 chan_mode,
UWORD8 chan_type,
UWORD8 subchannel,
UWORD8 tch_loop,
UWORD8 sync_tch,
#if !FF_L1_IT_DSP_DTX
UWORD8 sync_amr);
#else
UWORD8 sync_amr,
BOOL dtx_dsp_interrupt);
#endif
#endif
#else
#if (FF_L1_TCH_VOCODER_CONTROL == 1)
void l1ddsp_load_tch_param (T_TIME_INFO *next_time,
UWORD8 chan_mode,
UWORD8 chan_type,
UWORD8 subchannel,
UWORD8 tch_loop,
UWORD8 sync_tch,
UWORD8 reset_sacch,
#if !FF_L1_IT_DSP_DTX
UWORD8 vocoder_on);
#else
UWORD8 vocoder_on,
BOOL dtx_dsp_interrupt);
#endif
#else
void l1ddsp_load_tch_param (T_TIME_INFO *next_time,
UWORD8 chan_mode,
UWORD8 chan_type,
UWORD8 subchannel,
UWORD8 tch_loop,
#if !FF_L1_IT_DSP_DTX
UWORD8 sync_tch);
#else
UWORD8 sync_tch,
BOOL dtx_dsp_interrupt);
#endif
#endif
#endif
#if (L1_VOCODER_IF_CHANGE == 0)
BOOL enable_tch_vocoder (BOOL vocoder_on);
#endif // L1_VOCODER_IF_CHANGE == 0
BOOL l1_select_mcsi_port (UWORD8 port);
void l1ddsp_load_ciph_param (UWORD8 a5mode,
T_ENCRYPTION_KEY *ciph_key);
void l1ddsp_load_tch_mode (UWORD8 dai_mode,
BOOL dtx_allowed);
#if (AMR == 1)
void l1ddsp_load_amr_param (T_AMR_CONFIGURATION amr_param, UWORD8 cmip);
#endif
void l1ddsp_stop_tch (void);
void l1ddsp_load_afc (API afc);
// MCU-TPU interface drivers.
//---------------------------
void l1dtpu_meas (UWORD16 radio_freq,
WORD8 agc,
UWORD8 lna_off,
UWORD16 win_id,
UWORD16 tpu_synchro,
UWORD8 adc_active
#if(RF_FAM == 61)
,UWORD8 afc_mode
,UWORD8 if_ctl
#endif
);
void l1dtpu_neig_fb (UWORD16 radio_freq,
WORD8 agc,
UWORD8 lna_off);
void l1dtpu_neig_fb26 (UWORD16 radio_freq,
WORD8 agc,
UWORD8 lna_off,
UWORD32 offset_serv);
void l1dtpu_neig_sb (UWORD16 radio_freq,
WORD8 agc,
UWORD8 lna_off,
UWORD32 time_alignmt,
UWORD32 offset_serv,
UWORD8 reload_flag,
UWORD8 attempt
#if(RF_FAM == 61)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -