[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/protocol/general/as2l4c_struct.h b/mcu/interface/protocol/general/as2l4c_struct.h
new file mode 100644
index 0000000..3410205
--- /dev/null
+++ b/mcu/interface/protocol/general/as2l4c_struct.h
@@ -0,0 +1,735 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2005
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * as2l4c_struct.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+/*******************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ * FILENAME : as2l4c_struct.h
+ * SYNOPSIS :
+ *
+ * R E V I S I O N H I S T O R Y
+ *
+ */
+#ifndef _AS2L4C_STRUCT_H
+#define _AS2L4C_STRUCT_H
+
+//#include "kal_non_specific_general_types.h"
+#include "l3_inc_enums.h"
+#include "nbr_public_struct.h"
+#include "kal_general_types.h"
+#include "ps_public_enum.h"
+#include "kal_public_defs.h"
+
+#include "l3_inc_local.h"
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+} l4cps_nbr_cell_info_start_req_struct, l4cps_nbr_cell_info_stop_req_struct;
+
+typedef l4c_nbr_cell_info_reg_cnf_struct l4cps_nbr_cell_info_start_cnf_struct;
+typedef l4c_nbr_cell_info_ind_struct l4cps_nbr_cell_info_ind_struct;
+typedef l4c_nw_band_info_ind_struct l4cps_nw_band_info_ind_struct;
+
+//#ifdef __PLMN_LIST_PREF_SUPPORT__
+typedef struct
+{
+ LOCAL_PARA_HDR
+ plmn_list_preference_enum preference;
+} l4cas_set_plmn_list_preference_req_struct;
+//#endif
+
+#ifdef __DYNAMIC_HSPA_PREFERENCE__
+typedef struct
+{
+ LOCAL_PARA_HDR
+ #if defined(__RMMI_UT__) || defined(__L1_STANDALONE__)
+ kal_uint8 hspa_preference;
+ #else
+ hspa_preference_enum hspa_preference;
+ #endif
+} l4cas_set_hspa_preference_req_struct;
+#endif /* __DYNAMIC_HSPA_PREFERENCE__ */
+
+/* rx_level revision -------------------------------- */
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 current_band;
+ kal_int32 rssi_in_qdbm; /* 1 means invalid */
+ kal_uint8 ber;
+ target_module_enum target_module;
+} l4cps_gas_cell_power_level_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 ber; /* 99 means invalid */
+ kal_int32 rssi_in_qdbm; /* valid range: -101*4 ~ -25*4 */
+ kal_int32 RSCP_in_qdbm; /* valid range: -120*4 ~ -20*4 */
+ kal_int32 EcN0_in_qdbm; /* valid range: - 25*4 ~ 0*4 */
+
+ target_module_enum target_module;
+ kal_uint16 Intra_UARFCN;
+ kal_uint8 band;
+} l4cps_uas_cell_power_level_ind_struct;
+
+/* -------------------------------- rx_level revision */
+#if defined(__AT_RRC_TRACE_SUPPORT__)
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool trace_on;
+}l4cas_set_rrc_peer_trace_req_struct;
+
+#define RRC_PEER_TRACE_MAX_MESSAGE_LEN 30
+#define RRC_PEER_TRACE_MAX_MESSAGE_TYPE_LEN 50
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 message[RRC_PEER_TRACE_MAX_MESSAGE_LEN];
+ kal_uint8 message_type[RRC_PEER_TRACE_MAX_MESSAGE_TYPE_LEN];
+
+}l4cas_rrc_peer_trace_ind_struct;
+#endif
+
+typedef enum
+{
+ IQ_CHANNEL_BCCH = 0,
+ IQ_CHANNEL_PCH,
+ IQ_CHANNEL_RACH,
+ IQ_CHANNEL_AGCH,
+ IQ_CHANNEL_NCH,
+ IQ_CHANNEL_SACCH,
+ IQ_CHANNEL_FACCH,
+ IQ_CHANNEL_SDCCH,
+ IQ_CHANNEL_PBCCH,
+ IQ_CHANNEL_PPCH,
+ IQ_CHANNEL_PRACH,
+ IQ_CHANNEL_PAGCH,
+ IQ_CHANNEL_PACCH,
+ IQ_CHANNEL_CCCH_RACH,
+ IQ_CHANNEL_DCCH_RACH,
+ IQ_CHANNEL_DCCH_DCH,
+ IQ_CHANNEL_DCCH_EDCH,
+ IQ_CHANNEL_BCCH_BCH,
+ IQ_CHANNEL_BCCH_FACH,
+ IQ_CHANNEL_BCCH_HSDSCH,
+ IQ_CHANNEL_PCCH_PCH,
+ IQ_CHANNEL_PCCH_HSDSCH,
+ IQ_CHANNEL_CCCH_FACH,
+ IQ_CHANNEL_CCCH_HSDSCH,
+ IQ_CHANNEL_DCCH_FACH,
+ IQ_CHANNEL_DCCH_HSDSCH,
+ IQ_CHANNEL_NOT_APPLICABLE = 255
+}l4cas_iq_channel_t;
+
+
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_abort_molr;
+} l4c_lcsp_agps_cp_abort_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_etws_needed; /* KAL_FALSE = ETWS off, KAL_TRUE = ETWS on */
+ kal_bool is_etws_security_needed; /* KAL_FALSE = ETWS security off, KAL_TRUE = ETWS security off */
+ kal_bool is_etws_testing_on; /* KAL_FALSE = don't send test purpose ETWS to MMI, KAL_TRUE= send test purpose ETWS to MMI*/
+} l4cas_etws_setting_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint16 warning_type; /*Byte 0 is MSB*, format follows 23.041 9.3.24*/
+ kal_uint16 message_id; /*Byte 0 is MSB*/
+ kal_uint16 serial_nubmer; /*Byte 0 is MSB*/
+ kal_bool is_security_information_valid;
+ kal_uint8 etws_security_information[L4C_MAX_ETWS_SECURITY_INFO_LEN]; /* Only valid when is_security_information_valid = KAL_TRUE, format follows 23.041 9.3.25 */
+} l4cas_etws_information_ind_struct;
+
+//#ifdef __CSG_SUPPORT__
+#if defined(__CSG_SUPPORT__) || defined(__LTE_RAT__)
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_enabled;
+} l4cas_csg_auto_search_req_struct;
+#endif
+
+typedef struct
+{
+ lai_struct lai;
+ kal_uint16 cell_id;
+ kal_uint32 bar_time;
+} l4cas_bar_cell_control_info_struct;
+
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ bar_cell_control_enum control;
+ kal_uint8 num;
+ l4cas_bar_cell_control_info_struct info[RR_NUM_OF_MAX_BAR_CELL];
+} l4cas_bar_cell_control_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 num;
+ l4cas_bar_cell_control_info_struct info[RR_NUM_OF_MAX_BAR_CELL];
+} l4cas_bar_cell_control_cnf_struct;
+
+
+#if defined(__GEMINI__)
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool is_turn_on;
+} rsvas_monitor_peer_pch_switch_req_struct;
+#endif /* __GEMINI__ */
+
+#if defined(__SINGLE_AP_DUAL_MODEM__)
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 sim_config; /* bitmap */
+} rsvas_sim_status_config_req_struct;
+#endif /* __SINGLE_AP_DUAL_MODEM__ */
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool is_start_fast_mode_switch;
+} rsvas_fast_mode_switch_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_prefer_rat_enum prefer_rat;
+} l4cas_set_prefer_rat_req_struct;
+
+/* for Thermal begin */
+typedef struct
+{
+ LOCAL_PARA_HDR
+}l4cps_meas_info_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_int8 tx_power; //tx power: -50 ~ 24, -127: invalid
+}l4cps_meas_info_cnf_struct;
+/* for Thermal end */
+
+
+/* INVALID_TX_FREQ represents the invalid value of TX frequency
+ tx_freq list starts from tx_freq[0], and ends at tx_freq[63]
+ or tx_freq[n] where ((n<64) && (tx_freq[n]==INVALID_TX_FREQ))
+*/
+#define INVALID_TX_FREQ 0xFFFF
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint16 tx_freq[64]; //MAX_NUM_OF_HOPPING_FREQ defined in rr_mpal_interface.h
+}l4cps_rf_info_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ umts_rrc_state_enum umts_rrc_state;
+ kal_bool dl64qam;
+ ps_conn_status_enum ps_conn_status;
+} l4c_rrce_rrc_state_ind_struct;
+
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_afr_triggered;
+}l4cps_gas_auto_fast_return_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_afr_triggered;
+}l4cps_uas_auto_fast_return_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool ims_support;
+}l4cas_ims_config_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_dedicated;
+ gsm_rrm_state_enum gas_rrm_state;
+}l4c_rrm_rrms_state_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 hopping_flag;
+ kal_uint8 num_of_hopping_carrier;
+ kal_uint16 arfcn[64];
+ kal_uint8 freq_band[64];
+ kal_uint16 serv_arfcn;
+ kal_uint8 serv_arfcn_band;
+}l4c_rrm_channel_param_ind_struct;
+
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint16 disc_cause;
+}l4cas_cc_error_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool voice_over_ims_ongoing;/*true:call start,false: call end*/
+}l4cas_ims_call_info_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool sib19_present; //To notify L4C that SIB19 is present in the serving cell.
+}l4cas_sib19_info_ind_struct;
+#define MAX_NUM_OF_PSEUDO_BS 2
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 apc_feature_type;
+ kal_bool enable_auto_report;
+ kal_uint16 auto_report_period;
+}l4cas_rr_apc_ctrl_info_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_bool set_result;
+}l4cas_rr_apc_ctrl_info_cnf_struct;
+
+typedef struct
+{
+ kal_bool result;
+ lai_struct Lai;
+ kal_uint16 Cell_id;
+ kal_uint16 Arfcn;
+ kal_uint8 bsic;
+ kal_uint8 si3_raw_data[23];
+}l4cas_rr_pseudo_bs_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 apc_feature_type;
+ kal_bool fake_cell_auto_report;
+ kal_uint16 auto_report_period;
+ kal_uint8 count;
+ l4cas_rr_pseudo_bs_struct pseudo_bs_list[MAX_NUM_OF_PSEUDO_BS];
+}l4c_rrm_pseudo_bs_detect_ind_struct,l4cas_rr_pseudo_bs_query_cnf_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+}l4cas_rr_pseudo_bs_query_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint32 arfcn;
+}l4c_rrc_cur_freq_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_enabled; /* If enabled then don't check barr criteria for camping */
+} l4cps_gsm_bar_control_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_enabled;
+} l4cuas_set_rach_test_mode_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint32 src_id;
+ kal_bool integrity_status; //{0x0: Disable 0x1: Enable}
+ kal_bool ciphering_status; //{0x0: Disable 0x1: Enable}
+ kal_bool fake_security_status; //{0x0: Disable 0x1: Enable}
+} l4cas_set_wcdma_security_mode_param_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint32 src_id; // piggyback src_id in req.
+ kal_bool result;
+} l4cas_set_wcdma_security_mode_param_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint32 src_id;
+} l4cas_get_wcdma_security_mode_param_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint32 src_id; // piggyback src_id in req.
+ kal_bool result;
+ kal_bool integrity_status; //{0x0: Disable 0x1: Enable}
+ kal_bool ciphering_status; //{0x0: Disable 0x1: Enable}
+ kal_bool fake_security_status; //{0x0: Disable 0x1: Enable}
+} l4cas_get_wcdma_security_mode_param_cnf_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 mode; /* 0 - Power monitoring disable, 1 - Power monitoring enable */
+ kal_uint8 signal_type; /* 0 - RSCP, 1 - ECNO */
+ kal_int16 tin_threshold; /*Unit - qdbm*/
+ kal_int16 tout_threshold; /*Unit - qdbm*/
+ kal_uint32 timer;
+}l4cas_cell_power_threshold_config_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 signal_type; /* 0 - RSCP, 1 - ECNO, 2 - Both*/
+ kal_int16 rscp_signal_value; /* signal value of RSCP. Applicable only if <signal_type> is 0 or 2*/
+ kal_int16 ecno_signal_value; /* signal value of ECNO. Applicable only if <signal_type> is 1 or 2*/
+}l4cas_cell_power_threshold_ind_struct;
+
+typedef l4cps_gas_cell_power_level_ind_struct l4cps_gas_report_signal_level_ind_struct;
+typedef l4cps_uas_cell_power_level_ind_struct l4cps_uas_report_signal_level_ind_struct;
+
+#endif /* _AS2L4C_STRUCT_H */