[Feature][Modem]Update MTK MODEM V1.6 baseline version: MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6
MTK modem version: MT2735_IVT_MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6.tar.gz
RF modem version: NA
Change-Id: I45a4c2752fa9d1a618beacd5d40737fb39ab64fb
diff --git a/mcu/protocol/interface/general/mac_enums.h b/mcu/protocol/interface/general/mac_enums.h
new file mode 100644
index 0000000..2002b86
--- /dev/null
+++ b/mcu/protocol/interface/general/mac_enums.h
@@ -0,0 +1,445 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * mac_enums.h
+ *
+ * Project:
+ * --------
+ * UMOLY
+ *
+ * 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!
+ *
+ *------------------------------------------------------------------------------
+ * 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.
+*
+********************************************************************************/
+
+#ifndef _MAC_ENUMS_H
+#define _MAC_ENUMS_H
+
+typedef enum
+{
+ MAC_IDLE,
+ MAC_PKT_ACCESS,
+ MAC_UL,
+ MAC_DL,
+ MAC_UL_DL,
+ MAC_NUM_STATES
+} mac_state_enum;
+
+/* Jelly Substate -bg- */
+typedef enum
+{
+ DL_NULL,
+ DL_SINGLE_BLK_IN_PROG,
+ DL_SINGLE_BLK_ACK_SENDING,
+ DL_TBF_PEND,
+ DL_TRANSFER,
+ DL_TRANSFER_REALLOC_TBF_PEND,
+ DL_TRANSFER_FINAL_ACK_PACKED,
+ DL_TRANSFER_FAI_SENT_T3192_STARTED,
+ DL_TRANSFER_TBF_PENDING_FROM_T3192,
+ DL_TRANSFER_ABNORMAL_REL_PEND,
+ DL_DISCONNECTING,
+ DL_SUBSTATE_NUM
+} mac_dl_substate_enum;
+
+typedef enum
+{
+ ACS_NULL,
+ ACS_RLC_RES_REQ_SENT,
+ ACS_ONE_PHASE_TBF_PEND,
+ ACS_ONE_PHASE_CONTENTION,
+ ACS_ONE_PHASE_CONTENTION_REALLOC_PEND,
+ ACS_TWO_PHASE_SINGLE_BLK_PEND,
+ ACS_TWO_PHASE_PRR_SENT,
+ ACS_TWO_PHASE_TBF_PEND,
+ ACS_RMPC_RES_REQ_SENT,
+ ACS_UL_SINGLE_BLK_IN_PROG,
+ ACS_UL_SINGLE_BLK_DELETE,
+ ACS_SUBSTATE_NUM
+} mac_acs_substate_enum;
+
+typedef enum
+{
+ UL_NULL,
+ UL_TRANSFER,
+ UL_TRANSFER_TBF_PEND,
+ UL_TRANSFER_REL_PEND,
+ UL_TRANSFER_ABNORMAL_REL_PEND,
+#ifdef __TBF_EST__
+ UL_TBF_EST_WAITING,
+ UL_TBF_EST_ADDED,
+ UL_TBF_EST_SENT_AB,
+ UL_TBF_EST_SENT_NB,
+ UL_TBF_EST_SENT_AB_PUAS_POLL,
+ UL_TBF_EST_PEND_AB,
+ UL_TBF_EST_PEND_NB,
+#endif /* __TBF_EST__ */
+ UL_SUBSTATE_NUM
+} mac_ul_substate_enum;
+
+typedef enum
+{
+ RES_REQ_INVALID,
+ RES_REQ_RMPC_IN_RACH_IDLE,
+ RES_REQ_RLC_IN_RACH_IDLE,
+ RES_REQ_RLC_IN_CTRL_MSG_Q_ACS,
+ RES_REQ_RLC_SENT_ACS,
+ RES_REQ_RLC_PEND_TRANSFER,
+ RES_REQ_RLC_IN_CTRL_MSG_Q_TRANSFER,
+ RES_REQ_RLC_IN_PDAN_TRANSFER,
+ RES_REQ_RLC_SENT_TRANSFER,
+ RES_REQ_RLC_TBF_EST_SENT_IDLE,
+ RES_REQ_STATUS_NUM
+} mac_res_req_status_enum;
+
+
+/* Jelly Substate -ed- */
+
+typedef enum
+{
+ INVALID_TBF, /* Suppose this value is only used by PKT TS RECONFIG */
+ DL_TBF,
+ UL_TBF
+} mac_tbf_direction_enum;
+
+typedef enum
+{
+ CELL_CHANGE_FAIL,
+ /* Lanslo 20070705: NACC */
+#ifdef __GERAN_R4__
+ NACC_PCCN,
+ NACC_SI_STATUS,
+#endif /* __GERAN_R4__ */
+ /* eo Lanslo 20070705: NACC */
+ PKT_MOBILE_TBF_STATUS,
+ MEASUREMENT_REPORT,
+ PKT_PSI_STATUS,
+ PKT_UL_DUMMY_CTRL,
+
+#ifdef __EGPRS_MODE__
+ RESOURCE_REQ,
+ EGPRS_RES_REQ,
+ EGPRS_ARAC
+#else /* __EGPRS_MODE__ */
+ RESOURCE_REQ
+#endif /* __EGPRS_MODE__ */
+} mac_prioritized_ctrl_msg_enum;
+
+typedef enum
+{
+ NORMAL_EVENT,
+ UNSPECIFIED_STATUS,
+ NON_DIST_PART_ERROR,
+ MSG_ESCAPE_ERROR,
+ NON_COMPATIBLE_MSG
+} mac_tbf_cause_enum;
+
+typedef enum
+{
+ FREQ_PARAMS_NOTVALID,
+ FREQ_PARAMS_NOTINBAND,
+ FREQ_PARAMS_MISMATCH,
+ FREQ_PARAMS_OK
+} mac_freq_params_enum;
+
+typedef enum
+{
+ BLOCKS,
+ BLOCK_PERIODS
+} mac_blk_or_blk_period_enum;
+
+typedef enum
+{
+ DL_ASSIGN_NOT_VALID,
+ PKT_DL_ASSIGN_VALID,
+ IMM_DL_ASSIGN_VALID,
+ PDCH_DL_ASSIGN_VALID,
+ MTDAS_DL_ASSIGN_VALID
+} mac_dl_assign_type_enum;
+
+/* Exce 030707: To identify which direction of TBF the incoming CON_IND is for */
+typedef enum
+{
+ CON_IND_UNMATCH,
+ CON_IND_FOR_DL,
+ CON_IND_FOR_UL,
+ CON_IND_FOR_TS_RECONFIG
+} mac_con_ind_enum;
+
+/* Exce 031128: For PKT PDCH RELEASE */
+typedef enum
+{
+ MAC_PDCH_REL_LIMIT_OLD = 0,
+ MAC_PDCH_REL_LIMIT_ALL
+} pdch_release_limit_enum;
+
+typedef enum
+{
+ MAC_PDTCH_NORMAL = 0,
+ MAC_PS_HO_START,
+ MAC_PS_HO_RECONN_ACTIVE,
+ MAC_PS_HO_RECONN_INACTIVE,
+ MAC_PDTCH_INACTIVE_AFTER_PS_HO
+} mac_pdtch_connect_cause_enum;
+
+typedef enum
+{ /* shall sync with MAC_TIMER_NUM_MSGS value */
+ MAC_T3164_TIMER_ID = 0,
+ MAC_T3166_TIMER_ID, /*1*/
+ MAC_T3168_TIMER_ID, /*2*/
+ MAC_T3180_TIMER_ID, /*3*/
+ MAC_T3188_TIMER_ID, /*4*/
+ MAC_T3190_TIMER_ID, /*5*/
+ MAC_T3192_TIMER_ID, /*6*/
+ /* Katie 20130108: for RRBP to PUAN with FAI not sent,
+ wait 5 sec for retransmitted PUAN */
+ MAC_GuardPUAN_TIMER_ID, /*7*/
+ MAC_LCE_hyst_millis_TIMER_ID, /* 12 */
+ MAC_PACCH_PROTECT_TIMER_ID, /*8*/
+#ifdef __MAC_RANDOM_PATTERN_TEST__
+ MAC_FakeMessage_TIMER_ID,
+#endif
+ MAC_T8983_TIMER_ID, /*9*/ /* Custom timer To allow RRBP TX for POLL/PCA/PDAN for GCF MM/SM control messages, before TBF disconnect */
+ MAC_TOTAL_TIMER_NUM
+} mac_timer_id_enum; /* MAC_TIMER Message Type */
+
+#ifndef __MTK_TARGET__
+typedef enum
+{
+ MAC_TIMER_START,
+ MAC_TIMER_STOP,
+ MAC_TIMER_TIMEOUT
+} mac_timer_action_enum;
+#endif
+
+
+
+/* Claire 050128 change : Implement EGPRS SRB mode */
+#ifdef __EGPRS_MODE__
+typedef enum
+{
+ MAC_EGPRS_SRB_LOOP_NONE, /* SRB mode is not active */
+ MAC_EGPRS_SRB_LOOP_UL_TBF_ESTABLISHING, /* MAC is waiting for UL assignment */
+ MAC_EGPRS_SRB_LOOP_SUBMODE_ON, /* EGPRS SRB Loopback submode ON */
+ MAC_EGPRS_SRB_LOOP_SUBMODE_OFF /* EGPRS SRB Loopback submode OFF */
+} egprs_srb_status_enum;
+#endif /* __EGPRS_MODE__ */
+
+
+/* Exce 030818: New exception handling mechanism for MAC */
+typedef enum
+{
+ MAC_MSG_EX_NO_EXCEPTION,
+
+ MAC_MSG_EX_INCOMPATIBLE_STATE, /* 1 */
+ MAC_MSG_EX_UNKNOWN_MSG, /* 2 */
+ MAC_MSG_EX_DIST_PART_ERR, /* 3 */
+ MAC_MSG_EX_ADDRESS_PART_ERR, /* 4 */
+ MAC_MSG_EX_NON_DIST_PART_ERR, /* 5 */
+ MAC_MSG_EX_MSG_ESC_ERR, /* 6 */
+ MAC_MSG_EX_IGNORE_LABEL_ERR, /* 7 */
+ MAC_MSG_EX_TRUNCATED_CONCACT_ERR, /* 8 */
+ MAC_MSG_EX_DECODE_ERR, /* 9 */
+
+ MAC_MSG_EX_MA_INVALID, /* 10 */
+ MAC_MSG_EX_SINGLE_BLOCK_GAP_TOO_SHORT, /* 11 */
+ MAC_MSG_EX_STARTING_TIME_NOT_PRESENT_FOR_FIXED_ALLOC, /* 12 */
+ MAC_MSG_EX_TFI_NOT_ASSIGNED, /* 13 */
+ MAC_MSG_EX_MULTISLOT_CAP_NOT_MEET, /* 14 */
+ MAC_MSG_EX_BEFORE_TIME_VALID_FOR_NON_DYNAMIC_ALLOC, /* 15 */
+ MAC_MSG_EX_FREQ_PARAM_NOT_PRESENT, /* 16 */
+ MAC_MSG_EX_FREQ_PARAM_INVALID, /* 17 */
+ MAC_MSG_EX_FREQ_PARAM_NOTINBAND, /* 18 */
+ MAC_MSG_EX_FREQ_PARAM_MISMATCH, /* 19 */
+ MAC_MSG_EX_MAC_MODE_MISMATCH, /* 20 */
+ MAC_MSG_EX_TBF_MODE_MISMATCH, /* 21 */
+
+ /* Exce 20040218: TLLI_MISMATCH_IN_ONE_PHASE ~ NO_UL_TS_IN_UL_ASSIGN are used by mac_pkt_access_exception_hdlr() only */
+ MAC_MSG_EX_TLLI_MISMATCH_IN_ONE_PHASE, /* 22 */
+ MAC_MSG_EX_TLLI_ABSENT_IN_ONE_PHASE, /* 23 */
+ MAC_MSG_EX_REACH_N3104_MAX_IN_ONE_PHASE, /* 24 */
+ MAC_MSG_EX_NOT_SENT_AS_T3164_TIMEOUT, /* 25 */
+ MAC_MSG_EX_SENT_NO_RESPONSE_AS_T3166_TIMEOUT, /* 26 */
+ MAC_MSG_EX_TLLI_MISMATCH_IN_TWO_PHASE, /* 27 */
+ MAC_MSG_EX_SENT_NO_RESPONSE_AS_T3168_TIMEOUT, /* 28 */
+ MAC_MSG_EX_TWO_PHASE_REQUESTED_BUT_ONE_PHASE_ASSIGNED, /* 29 */
+ MAC_MSG_EX_PKT_PDCH_REL_DURING_TWO_PHASE_CONTENTION, /* 30 */
+ MAC_MSG_EX_NO_UL_TS_IN_UL_ASSIGN, /* 31 */
+
+ MAC_MSG_EX_INCOMPATIBLE_CTRL_ACK_T3192, /* 32 */
+ MAC_MSG_EX_RLC_MODE_MISMATCH, /* 33 */
+ MAC_MSG_EX_MAC_MODE_INVALID_ASSIGNED_BY_NW, /* 34 */
+
+#ifdef __TBF_EST__
+ MAC_MSG_EX_SINGLE_BLOCK_GAP_TOO_SHORT_TBF_EST, /* 35 */
+#endif
+
+
+
+#if defined(__GERAN_RTTI__) || defined(__GERAN_FANR__)
+ MAC_MSG_EX_REL7_PART_ERROR, /* 41 */
+#endif
+ TOTAL_MAC_MSG_EX_END
+} mac_msg_exception_enum;
+
+typedef enum
+{
+ OLD_TBF_POS_INVALID = 0,
+ BACK_UP_ALLOC,
+ ACTIVE_ALLOC
+} old_tbf_para_pos_in_ps_ho_enum;
+
+typedef enum
+{
+ BSIC_SYNC_FAIL = 0,
+ T3216_TIMEOUT,
+ T3218_TIMEOUT,
+ G2U_ACTIVE_FAIL
+} mac_ps_ho_fail_cause;
+
+typedef enum
+{
+ MAC_NON_TBF_VALID = 0,
+ MAC_ACTIVE_VALID,
+ MAC_INACTIVE_VALID
+} mac_backup_tbf_status;
+
+typedef enum
+{
+ MAC_FIND_FIRST_1_FROM_MSB_TO_LSB,
+ MAC_FIND_FIRST_1_FROM_LSB_TO_MSB
+} mac_find_first_1_dir_enum;
+
+typedef enum
+{
+ MAC_RXED_BLK_BITMAP_INVALID,
+ MAC_RXED_BLK_BITMAP_ALL_NACKED,
+ MAC_RXED_BLK_BITMAP_SOME_NACKED,
+ MAC_RXED_BLK_BITMAP_ALL_ACKED
+} mac_rxed_blk_bitmap_enum;
+
+typedef enum
+{
+ MAC_TFI_NOT_MATCH,
+ MAC_TFI_NOT_MATCH_FROM_NON_PACCH,
+ MAC_TFI_MATCH
+} mac_tfi_match_status_enum;
+
+#ifdef __MODEM_EM_MODE__
+typedef enum
+{
+ MAC_EM_UL_TBF_ONE_PHASE_ACCESS_IN_CHANNEL_REQUEST = 1, /*1*/
+ MAC_EM_UL_TBF_SINGLE_BLOCK_OR_TWO_PHASE_ACCESS_IN_CHANNEL_REQUEST = 2, /*2*/
+ MAC_EM_UL_TBF_ONE_PHASE_ACCESS_IN_PACKET_CHANNEL_REQUEST = 11, /*11*/
+ MAC_EM_UL_TBF_TWO_PHASE_ACCESS_IN_PACKET_CHANNEL_REQUEST = 12, /*12*/
+ MAC_EM_UL_TBF_PAGE_RESPONSE_IN_PACKET_CHANNEL_REQUEST = 13, /*13*/
+ MAC_EM_UL_TBF_CELL_UPDATE_IN_PACKET_CHANNEL_REQUEST = 14, /*14*/
+ MAC_EM_UL_TBF_MM_PROCEDURE_IN_PACKET_CHANNEL_REQUEST = 15, /*15*/
+ MAC_EM_UL_TBF_SINGLE_BLOCK_WITHOUT_TBF_ESTABLISHMENT_IN_PACKET_CHANNEL_REQUEST = 16, /*16*/
+ MAC_EM_UL_TBF_ONE_PHASE_ACCESS_IN_RLC_UNACK_MODE_IN_PACKET_CHANNEL_REQUEST = 17, /*17*/
+ MAC_EM_UL_TBF_ONE_PHASE_ACCESS_IN_EGPRS_PACKET_CHANNEL_REQUEST = 21, /*21*/
+ MAC_EM_UL_TBF_TWO_PHASE_ACCESS_IN_EGPRS_PACKET_CHANNEL_REQUEST = 22, /*22*/
+ MAC_EM_UL_TBF_SIGNALLING_IN_EGPRS_PACKET_CHANNEL_REQUEST = 23, /*23*/
+ MAC_EM_UL_TBF_ONE_PHASE_ACCESS_IN_RLC_UNACK_MODE_IN_EGPRS_PACKET_CHANNEL_REQUEST = 24, /*24*/
+ MAC_EM_UL_TBF_CHANNEL_REQUEST_IN_PACKET_DOWNLINK_ACK_NACK = 31, /*31*/
+ MAC_EM_UL_TBF_CHANNEL_REQUEST_IN_EGPRS_PACKET_DOWNLINK_ACK_NACK = 32, /*32*/
+ MAC_EM_UL_TBF_USER_DATA_IN_DTM_REQUEST = 51, /*51*/
+ MAC_EM_UL_TBF_PAGE_RESPONSE_IN_DTM_REQUEST = 52, /*52*/
+ MAC_EM_UL_TBF_CELL_UPDATE_IN_DTM_REQUEST = 53, /*53*/
+ MAC_EM_UL_TBF_MM_PROCEDURE_IN_DTM_REQUEST = 54 /*54*/
+} mac_em_ul_tbf_establishment_cause;
+
+typedef enum
+{
+ MAC_EM_UL_TBF_ONE_PHASE_ACCESS = 1, /*1*/
+ MAC_EM_UL_TBF_TWO_PHASE_ACCESS = 2, /*2*/
+ MAC_EM_UL_TBF_SINGLE_BLOCK_OR_MULTI_BLOCK_ACCESS = 3, /*3*/
+ MAC_EM_UL_TBF_GPRS_OR_EGPRS_PACKET_DOWNLINK_ACK_NACK_CHANNEL_REQUEST = 4, /*4*/
+ MAC_EM_UL_TBF_DTM_REQUEST = 5 /*5*/
+} mac_em_ul_tbf_establishment_type;
+
+typedef enum
+{
+ MAC_EM_UL_TBF_SUCCEEDED = 1, /*1*/
+ MAC_EM_UL_TBF_FAILED = 2, /*2*/
+ MAC_EM_UL_TBF_REJECTED = 3, /*3*/
+ MAC_EM_UL_TBF_ABORTED = 4 /*4*/
+} mac_em_ul_tbf_establishment_status;
+#endif /* __MODEM_EM_MODE__ */
+
+#endif /* _MAC_ENUMS_H */