[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pswairmsg.h b/mcu/interface/protocol/as_c2k/1xrtt/pswairmsg.h
new file mode 100644
index 0000000..63e5b89
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pswairmsg.h
@@ -0,0 +1,657 @@
+/*****************************************************************************
+* 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) 2016
+*
+* 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).
+*
+*****************************************************************************/
+
+#ifndef _PSWAIRMSG_H_
+
+#define _PSWAIRMSG_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "psw_nvram.h"
+
+typedef enum
+{
+ /* define the page message types */
+ CP_SPY_QPCH_PI_MESSAGE =0, /* MSG id only used to display QPCH PI parameters in Overhead Signaling Spy window */
+ CP_SYSTEM_PARS_MESSAGE =1,
+ CP_ACCESS_PARS_MESSAGE =2,
+ CP_NEIGHBOR_LIST_MESSAGE =3,
+ CP_CDMA_CHANNEL_LIST =4,
+
+ /* The following two messages are obsolete in 95B */
+ CP_SLOTTED_PAGE =5,
+ CP_PAGE_MESSAGE =6,
+
+ CP_ORDER_MESSAGE =7,
+ CP_CHANNEL_ASSIGN_MESSAGE =8,
+ CP_DATA_BURST_MESSAGE =9,
+ CP_AUTH_CHALL_MESSAGE =10,
+ CP_SSD_UPDATE_MESSAGE =11,
+ CP_FEATURE_NOTIFICATION_MESSAGE =12,
+ CP_EXT_SYSTEM_PARS_MESSAGE =13,
+ CP_EXT_NEIGHBOR_LIST_MESSAGE =14,
+ CP_STATUS_REQUEST_MESSAGE =15,
+ CP_SERVICE_REDIRECT_MESSAGE =16,
+ CP_GENERAL_PAGE_MESSAGE =17,
+ CP_GLOBAL_SERVICE_REDIRECT_MESSAGE =18,
+ CP_TMSI_ASSIGNMENT_MESSAGE =19,
+ CP_PACA_MESSAGE =20,
+ CP_EXT_CHANNEL_ASSIGN_MESSAGE =21,
+ CP_GEN_NEIGHBOR_LIST_MESSAGE =22,
+
+ /* new message types for IS-2000 Rev.0 */
+ CP_USER_ZONE_ID_MESSAGE =23,
+ CP_PRI_NGHBR_LST_MESSAGE =24,
+
+ CP_EXT_GLOB_SERV_REDIR_MESSAGE =26,
+ CP_EXT_CDMA_CHAN_LST_MESSAGE =27,
+ CP_USER_ZONE_REJECT_MESSAGE =28,
+
+/* #ifdef IS2000_REV_A */
+ /* new message types for IS-2000 Rev.A */
+ CP_ANSI_41_SYS_PARS_MESSAGE =29,
+ CP_MC_RR_PARS_MESSAGE =30,
+ CP_ANSI_41_RAND_MESSAGE =31,
+ CP_ENH_ACCESS_PARS_MESSAGE =32,
+ CP_UNIV_NGHBR_LST_MESSAGE =33,
+ CP_SECURITY_MODE_COMMAND_MESSAGE =34,
+ CP_UNIV_PAGE_MESSAGE_1 =35,
+ CP_UNIV_PAGE_MESSAGE_2 =36,
+ CP_UNIV_PAGE_MESSAGE_3 =37,
+ CP_UNIV_PAGE_MESSAGE_4 =38,
+ CP_AUTH_REQ_MESSAGE =39,
+ CP_MEID_EXT_CHANNEL_ASSIGN_MESSAGE =46,
+
+#ifdef MTK_DEV_C2K_IRAT
+ CP_ALTERNATIVE_TECH_INFO_MESSAGE =47,
+#endif /* MTK_DEV_C2K_IRAT */
+
+/* #else
+ #define CP_MAX_VALID_PAGE_MESSAGE 28
+#endif */
+ CP_CSCH_GENERAL_EXTENSION_MESSAGE =63 /* supported (only Radio Config Parms record used for now) */
+
+} PchMessageTypeE;
+
+typedef enum
+{
+ /* Access Channel Message types */
+ CP_ACH_REGISTRATION =1,
+ CP_ACH_ORDER =2,
+ CP_ACH_DATA_BURST =3,
+ CP_ACH_ORIGINATION =4,
+ CP_ACH_PAGE_RESPONSE =5,
+ CP_ACH_AUTH_CHALL =6,
+ CP_ACH_STATUS_RESPONSE =7,
+ CP_ACH_TMSI_ASSIGNMENT_COMP =8,
+ CP_ACH_PACA_CANCEL =9,
+ CP_ACH_EXT_STATUS_RESPONSE =10,
+ CP_ACH_RECONNECT =15,
+ CP_ACH_LAST_MESSAGE =16
+}AchMessageTypeE;
+
+typedef enum
+{
+ CP_FTC_NO_MESSAGE,
+ CP_FTC_ORDER_MESSAGE,
+ CP_FTC_AUTHENTICATION_CHALLENGE_MESSAGE,
+ CP_FTC_ALERT_WITH_INFO_MESSAGE,
+ CP_FTC_DATA_BURST_MESSAGE,
+ CP_FTC_HANDOFF_DIRECTION_MESSAGE,
+ CP_FTC_ANALOG_HANDOFF_DIRECTION_MESSAGE,
+ CP_FTC_IN_TRAFFIC_SYSTEM_PARAMETERS_MESSAGE,
+ CP_FTC_NEIGHBOR_LIST_UPDATE_MESSAGE,
+ CP_FTC_SEND_BURST_DTMF_MESSAGE,
+ CP_FTC_POWER_CONTROL_PARAMETERS_MESSAGE,
+ CP_FTC_RETRIEVE_PARAMETERS_MESSAGE,
+ CP_FTC_SET_PARAMETERS_MESSAGE,
+ CP_FTC_SSD_UPDATE_MESSAGE,
+ CP_FTC_FLASH_WITH_INFORMATION_MESSAGE,
+ CP_FTC_MOBILE_STATION_REGISTERED_MESSAGE,
+ CP_FTC_STATUS_REQUEST_MESSAGE,
+ CP_FTC_EXTENDED_HANDOFF_DIRECTION_MESSAGE,
+ CP_FTC_SERVICE_REQUEST_MESSAGE,
+ CP_FTC_SERVICE_RESPONSE_MESSAGE,
+ CP_FTC_SERVICE_CONNECT_MESSAGE,
+ CP_FTC_SERVICE_OPTION_CONTROL_MESSAGE,
+ CP_FTC_TMSI_ASSIGNMENT_MESSAGE,
+ CP_FTC_SERVICE_REDIRECTION_MESSAGE,
+ CP_FTC_SUPPLEMENTAL_CHANNEL_ASSIGNMENT_MESSAGE,
+ CP_FTC_POWER_CONTROL_MESSAGE,
+ CP_FTC_EXTENDED_NEIGHBOR_LIST_UPDATE_MESSAGE,
+ CP_FTC_CANDIDATE_FREQUENCY_SEARCH_REQUEST_MESSAGE,
+ CP_FTC_CANDIDATE_FREQUENCY_SEARCH_CONTROL_MESSAGE,
+ CP_FTC_POWER_UP_FUNCTION_MESSAGE,
+ CP_FTC_POWER_UP_FUNCTION_COMPLETION_MESSAGE,
+ CP_FTC_GENERAL_HANDOFF_DIRECTION_MESSAGE = 31,
+ CP_FTC_RESOURCE_ALLOCATION_MESSAGE = 32,
+ CP_FTC_EXTENDED_RELEASE_MESSAGE = 33,
+ CP_FTC_UNIVERSAL_HANDOFF_DIRECTION_MESSAGE = 34,
+ CP_FTC_EXTENDED_SUPPLEMENTAL_CHANNEL_ASSIGNMENT_MESSAGE = 35,
+ CP_FTC_MOBILE_ASSISTED_BURST_OPERATION_PARAMETERS_MESSAGE = 36,
+ CP_FTC_USER_ZONE_REJECT_MESSAGE = 37,
+ CP_FTC_USER_ZONE_UPDATE_MESSAGE = 38,
+ CP_FTC_EXTENDED_ALERT_WITH_INFORMATION_MESSAGE = 40,
+ CP_FTC_EXTENDED_FLASH_WITH_INFORMATION_MESSAGE =42,
+ CP_FTC_RATE_CHANGE_MESSAGE = 51,
+ CP_FTC_MEID_UNIVERSAL_HANDOFF_DIRECTION_MESSAGE = 53,
+ CP_FTC_RADIO_CONFIG_PARAM_MESSAGE = 54,
+ CP_FTC_MAX_MESSAGES,
+ CP_FTC_GENERAL_EXTENSION_MESSAGE = 255 /* special case */
+} FTCMessageType;
+
+typedef enum
+{
+ CP_RTC_ORDER_MESSAGE = 1,
+ CP_RTC_AUTHENTICATION_CHALLENGE_RESPONSE_MESSAGE,
+ CP_RTC_FLASH_WITH_INFORMATION_MESSAGE,
+ CP_RTC_DATA_BURST_MESSAGE,
+ CP_RTC_PILOT_STRENGTH_MEASUREMENT_MESSAGE,
+ CP_RTC_POWER_MEASUREMENT_REPORT_MESSAGE,
+ CP_RTC_SEND_BURST_DTMF_MESSAGE,
+ CP_RTC_STATUS_MESSAGE,
+ CP_RTC_ORIGINATION_CONTINUATION_MESSAGE,
+ CP_RTC_HANDOFF_COMPLETION_MESSAGE,
+ CP_RTC_PARAMETERS_RESPONSE_MESSAGE,
+ CP_RTC_SERVICE_REQUEST_MESSAGE,
+ CP_RTC_SERVICE_RESPONSE_MESSAGE,
+ CP_RTC_SERVICE_CONNECT_COMPLETION_MESSAGE,
+ CP_RTC_SERVICE_OPTION_CONTROL_MESSAGE,
+ CP_RTC_STATUS_RESPONSE_MESSAGE,
+ CP_RTC_TMSI_ASSIGNMENT_COMPLETION_MESSAGE,
+ CP_RTC_SUPPLEMENTAL_CHANNEL_REQUEST_MESSAGE,
+ CP_RTC_CANDIDATE_FREQUENCY_SEARCH_RESPONSE_MESSAGE,
+ CP_RTC_CANDIDATE_FREQUENCY_SEARCH_REPORT_MESSAGE,
+ CP_RTC_PERIODIC_PILOT_STRENGTH_MEASUREMENT_MESSAGE,
+ CP_RTC_OUTER_LOOP_REPORT_MESSAGE,
+ CP_RTC_RESOURCE_REQUEST_MESSAGE = 23,
+ CP_RTC_EXTENDED_RELEASE_RESPONSE_MESSAGE = 24,
+ CP_RTC_EXTENDED_PILOT_STRENGTH_MEASUREMENT_MESSAGE=28,
+ CP_RTC_EXTENDED_HANDOFF_COMPLETION_MESSAGE = 29,
+ CP_RTC_RESOURCE_RELEASE_REQUEST_MESSAGE = 30,
+ CP_RTC_MAX_MESSAGES
+} RTCMessageType;
+
+
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+#define CP_SYSTIME_SIZE 5 /* # bytes to hold 36 bits */
+#define ENG_SUPERFRAME_COUNT 4 /* 4 frames to a superframe */
+typedef kal_uint32 WbiosSystime; /* holds system time - 32 bits */
+
+/****************************************************************************
+ * Sync Channel message structures
+ ****************************************************************************/
+
+/* define set of allowable page channel data rates */
+typedef enum
+{
+ PRAT_9600=0,
+ PRAT_4800
+} PageChRate;
+
+/* define set of allowable BCCH data rates */
+typedef enum
+{
+ SR1_BRAT_4800 = 0,
+ SR1_BRAT_9600 =1,
+ SR1_BRAT_19200 =2,
+ SR1_BRAT_REVERSED =3
+} BcchRate;
+
+/* define set of allowable SR1 TD Modes */
+typedef enum
+{
+ SR1_OTD = 0,
+ SR1_STS =1,
+ SR1_TD_NOT_USED
+} Sr1TdModes;
+
+/* define set of allowable SR1 TD Power Level */
+typedef enum
+{
+ SR1_9DB = 0,
+ SR1_6DB = 1,
+ SR1_3DB = 2,
+ SR1_SAME_DB =3,
+ SR1_TD_POWER_NOT_USED
+} Sr1TdPowerLevel;
+
+/* Position of the Primary SR3 Pilot */
+typedef enum
+{
+ SR3_LOWEST_FREQ = 0,
+ SR3_CENTER_FREQ = 1,
+ SR3_HIGHEST_FREQ = 2,
+ SR3_RESERVED = 3
+} Sr3PilotPosition;
+
+/* Pilot Transmission Power */
+typedef enum
+{
+ SR3_0_DB = 0,
+ SR3_1_DB = 1,
+ SR3_2_DB = 2,
+ SR3_3_DB = 3,
+ SR3_4_DB = 4,
+ SR3_5_DB = 5,
+ SR3_6_DB = 6,
+ SR3_7_DB = 7
+} Sr3PilotPower;
+
+/* Sync message contents */
+typedef struct
+{
+ kal_uint8 length; /* Message Length */
+ kal_uint8 msgType; /* Message Type */
+ kal_uint8 pRev; /* Protocol Revision Level */
+ kal_uint8 minPRev; /* Minimum protocol revision required by MS */
+ kal_uint16 sid; /* System ID */
+ kal_uint16 nid; /* Network ID */
+ kal_uint16 pilotPN; /* Pilot PN sequence offset index */
+ kal_uint8 lcState[6]; /* Long code state - 42 bits */
+ kal_uint8 sysTime[CP_SYSTIME_SIZE]; /* System time - 36 bits */
+ kal_uint8 lpSec; /* Number of leap seconds */
+ kal_uint8 ltmOff; /* Offset of local time from system time */
+ kal_bool daylt; /* Daylight savings time indicator */
+ PageChRate prat; /* Paging channel data rate */
+ kal_uint16 cdmaFreq; /* Paging channel */
+ kal_uint16 extCdmaFreq; /* For RC2 or greater or supports QPCH */
+ kal_bool sr1BcchSupported; /* Contains BCCH information */
+ kal_bool sr1NonTdFreqIncl;
+ kal_uint16 sr1CdmaFreqNonTd;
+ BcchRate sr1BratNonTd;
+ kal_uint8 sr1CratNonTd;
+ kal_uint8 sr1BcchCodeChanNonTd;
+ kal_bool sr1TdIncl;
+ kal_uint16 sr1CdmaFreqTd;
+ BcchRate sr1BratTd;
+ kal_uint8 sr1CratTd;
+ kal_uint8 sr1BcchCodeChanTd;
+ Sr1TdModes sr1TdMode;
+ Sr1TdPowerLevel sr1TdPowerLevel;
+ /* SR3 Parameters */
+ kal_bool sr3Incl;
+ kal_bool sr3CenterFreqIncl;
+ kal_uint16 sr3CenterFreq;
+ BcchRate sr3Brat;
+ kal_uint8 sr3BcchCodeChan;
+ Sr3PilotPosition sr3PrimaryPilot;
+ Sr3PilotPower sr3PilotPower1;
+ Sr3PilotPower sr3PilotPower2;
+/* BCY 11/14/00 */
+ kal_bool dsIncl;
+ kal_uint32 dsBlob;
+} SyncMessage;
+
+/* Sync message structure for engine */
+typedef struct
+{
+ kal_uint16 startFrame; /* first frame message was received in */
+ kal_uint16 endFrame; /* last frame of message */
+ SyncMessage msg; /* message contents */
+} SyncChannelMessage;
+
+
+
+/* Traffic channel message transmission control */
+typedef enum
+{
+ TX_OFF = 0,
+ TX_ON_IMMEDIATE,
+ TX_ON_CF_RULES
+} TXControl;
+
+
+#define TX_CONTINUOUS 0
+typedef enum
+{
+ RTC_PREAMBLE = 0,
+ RTC_SIGNALING_ONLY,
+ RTC_TRAFFIC
+} RTCTraffic;
+
+
+typedef enum
+{
+ CF_PERIODIC_SEARCH_OFF,
+ CF_PERIODIC_SEARCH_ENABLED,
+ CF_PERIODIC_SEARCH_DISABLED
+} CFPeriodicSearchCtl;
+
+
+typedef enum
+{
+ L2_INACTIVE,
+ L2_IDLE,
+ L2_FILL_MESSAGE,
+ L2_HOLD
+} L2_STATE;
+
+
+typedef enum
+{
+ L2_FTC_STOP_ST,
+ L2_FTC_INITIALIZATION_ST,
+ L2_FTC_IDLE_ST,
+ L2_FTC_HARD_HANDOFF_ST,
+ L2_FTC_CANDIDATE_FREQUENCY_ST,
+ L2_FTC_HARD_HANDOFF_W_RETURN_ON_FAILURE_ST,
+ L2_FTC_HARD_HANDOFF_INIT_ST,
+ L2_FTC_HARD_HANDOFF_W_RTN_ON_FAIL_INIT_ST,
+ L2_FTC_NST_TRFFIC_ST,
+ L2_FTC_MAX_STATES
+} L2FTCState;
+
+
+typedef enum
+{
+ L2_FTC_START_EV,
+ L2_FTC_STOP_EV,
+ L2_FTC_FRAME_EV,
+ L2_FTC_HARD_HANDOFF_EV,
+ L2_FTC_CANDIDATE_FREQUENCY_START_EV,
+ L2_FTC_CANDIDATE_FREQUENCY_END_EV,
+ /* SNR HHO 11/2/00 */
+ L2_FTC_HARD_HANDOFF_W_RETURN_ON_FAILURE_EV,
+ L2_FTC_HARD_HANDOFF_TIMER_EXPIRED_EV,
+ L2_FTC_MAX_EVENTS
+} L2FTCEvent;
+
+#define CP_MAX_MUX1_CATEGORY 14
+#define CP_MAX_MUX2_CATEGORY 26
+#define CP_MAX_MUX1_DCCH_CATEGORY 15
+#define CP_MAX_MUX2_DCCH_CATEGORY 27
+#define CP_MAX_SCH0_CATEGORY 7
+#define CP_MAX_BCCH_CATEGORY 5
+#define CP_MAX_FCCCH_CATEGORY 4
+
+#define F_PCH 0
+#define F_BCCH 1
+#define F_FCCCH 2
+
+#if defined (MTK_CBP)
+/* define the MIN half frames number to calculate the vaild half frames percent */
+#define MIN_HALF_FRAMES 200
+#endif
+#define PCH_FRAME_LENGTH 24 /* units: Bytes */
+
+/* Multiplex Option 1 Category definitions */
+typedef enum
+{ /*bps Rate D&B B&B Primary Signalling Secondary */
+ MUX1_CAT1 = 1, /*9600 1 Primary */
+ MUX1_CAT2 = 2, /*9600 1/2 D&B Primary Signalling */
+ MUX1_CAT3 = 3, /*9600 1/4 D&B Primary Signalling */
+ MUX1_CAT4 = 4, /*9600 1/8 D&B Primary Signalling */
+ MUX1_CAT5 = 5, /*9600 1 B&B Signalling */
+ MUX1_CAT6 = 6, /*4800 1/2 Primary */
+ MUX1_CAT7 = 7, /*2400 1/4 Primary */
+ MUX1_CAT8 = 8, /*1200 1/8 Primary */
+ MUX1_CAT9 = 9, /*9600 1 with bit errors */
+ MUX1_CAT10 = 10, /* Frame with insufficient frame quality */
+ MUX1_CAT11 = 11, /*9600 1/2 D&B Primary Secondary */
+ MUX1_CAT12 = 12, /*9600 1/4 D&B Primary Secondary */
+ MUX1_CAT13 = 13, /*9600 1/8 D&B Primary Secondary */
+ MUX1_CAT14 = 14, /*9600 1 B&B Secondary */
+ MUX1_CAT15 = 15 /*9600 1 DCCH NULL Frame */
+} Mux1Cat;
+
+/* Multiplex Option 2 Category definitions */
+typedef enum
+{ /*bps Rate D&B B&B Primary Signalling Secondary */
+ MUX2_CAT1 = 1, /*14400 1 Primary */
+ MUX2_CAT2 = 2, /*14400 1/2 D&B Primary Signalling */
+ MUX2_CAT3 = 3, /*14400 1/4 D&B Primary Signalling */
+ MUX2_CAT4 = 4, /*14400 1/8 D&B Primary Signalling */
+ MUX2_CAT5 = 5, /*14400 1 B&B Signalling */
+ MUX2_CAT6 = 6, /*14400 1/2 D&B Primary Secondary */
+ MUX2_CAT7 = 7, /*14400 1/4 D&B Primary Secondary */
+ MUX2_CAT8 = 8, /*14400 1/8 D&B Primary Secondary */
+ MUX2_CAT9 = 9, /*14400 1 B&B Secondary */
+ MUX2_CAT10 = 10, /*14400 1/8 D&B Primary Signalling Secondary */
+ MUX2_CAT11 = 11, /*7200 1 Primary */
+ MUX2_CAT12 = 12, /*7200 1/4 D&B Primary Signalling */
+ MUX2_CAT13 = 13, /*7200 1/8 D&B Primary Signalling */
+ MUX2_CAT14 = 14, /*7200 1 B&B Signalling */
+ MUX2_CAT15 = 15, /*7200 1/4 D&B Primary Secondary */
+ MUX2_CAT16 = 16, /*7200 1/8 D&B Primary Secondary */
+ MUX2_CAT17 = 17, /*7200 1 B&B Secondary */
+ MUX2_CAT18 = 18, /*7200 1/8 D&B Primary Signalling Secondary */
+ MUX2_CAT19 = 19, /*3600 1 Primary */
+ MUX2_CAT20 = 20, /*3600 1/8 D&B Primary Signalling */
+ MUX2_CAT21 = 21, /*3600 1 B&B Signalling */
+ MUX2_CAT22 = 22, /*3600 1/8 D&B Primary Secondary */
+ MUX2_CAT23 = 23, /*3600 1 B&B Secondary */
+ MUX2_CAT24 = 24, /*1800 1 Primary */
+ MUX2_CAT25 = 25, /*1800 1 B&B Secondary */
+ MUX2_CAT26 = 26, /* Frame with insufficient frame quality */
+ MUX2_CAT27 = 27 /*1800 1 DCCH NULL Frame */
+} Mux2Cat;
+
+#ifdef MTK_PLT_ON_PC_UT
+#define MAX_TMSI_ZONE_LEN 16
+#endif
+
+/*****************************************************************************
+ * Data Structures
+ ****************************************************************************/
+
+/* Sync Channel Frame Indication data */
+typedef struct
+{
+ kal_uint16 frameNum; /* count of received sync frames modulo 2048 */
+ kal_uint8 *data; /* pointer to 32 bits of frame data */
+} SyncFrame;
+
+/* Page Channel Frame Indication data */
+typedef struct
+{
+ WbiosSystime sysTime; /* system time frame received in */
+ kal_uint16 size; /* size of data in bits */
+ kal_uint8 *data; /* pointer to frame data, including SCI bits */
+} PageFrame;
+
+/* FCCCH Frame Indication data */
+typedef struct
+{
+ WbiosSystime sysTime; /* system time frame received in */
+ kal_uint16 size; /* size of data in bits */
+ kal_uint8 *data; /* pointer to frame data, including SI bits */
+} FCCCHFrame;
+
+/* BCCH Frame Indication data */
+typedef struct
+{
+ WbiosSystime sysTime; /* system time frame received in */
+ kal_uint16 size; /* size of data in bits */
+ kal_uint8 *data; /* pointer to frame data, including SCI bits */
+} BCCHFrame;
+
+/* Page Channel Message structure provides the packed buffer and relevant */
+/* system information. */
+typedef struct
+{
+ WbiosSystime somTime; /* time the start of msg received */
+ WbiosSystime sysTime; /* system time from last frame */
+ kal_bool ackReceived; /* set KAL_TRUE if a VALID ACK for an */
+ /* outstanding ack was received in */
+ /* this message, else set to KAL_FALSE */
+
+ kal_uint16 length; /* length of message */
+ kal_uint8 type; /* message type */
+ kal_uint8 *msgBuffer; /* pointer to packed message buffer*/
+ kal_uint16 sduOffset; /* offset to first bit in L3 SDU */
+ kal_uint8 PD_value; /* Protocol Discriminator*/
+ kal_uint8 ChanType; /* Channel Type: PCH, BCCH, FCCCH*/
+#if defined(MTK_CBP)
+ kal_bool duplicateMsg; /* Indicate it is a duplicate message or not,
+ * KAL_TRUE: ignore the messge body
+ */
+#endif
+ kal_uint16 geRecordsInc; /* if GEM, this will be updated with bitmap of records included */
+} PChMessage;
+
+
+/* BCY 08/28/00: !!! Need to change all PCHMessage to FcschMessage */
+typedef PChMessage FcschMessage;
+
+#ifdef MTK_PLT_ON_PC_UT
+/* LAC field of Page Channel Message, used for UT */
+typedef struct
+{
+ kal_uint8 msgType; /* 8 bits */
+ kal_uint8 msgLen; /* 8 bits */
+ kal_uint8 ackSeq; /* 3 bits */
+ kal_uint8 msgSeq; /* 3 bits */
+ kal_bool ackReq;
+ kal_bool validAck;
+ kal_uint8 addrType; /* 3 bits */
+ kal_uint8 addrLen; /* 4 bits */
+ kal_uint32 imsi_s1; /* 24 bits IMSI_S1 value */
+ kal_uint16 imsi_s2; /* 10 bits IMSI_S2 value */
+ kal_uint32 esn; /* 32 bits ESN value */
+ kal_uint8 imsiClass; /* 1 bits imsi class value */
+ kal_uint8 imsiClassType; /* 2 bits if class0, 1 bit if class1 */
+ kal_uint16 mcc; /* 10 bits for MCC value */
+ kal_uint8 imsi_11_12; /* 7 bits */
+ kal_uint8 imsiAddrNum; /* 3 bits */
+ kal_uint32 tmsiCode; /* 16 or 24 or 32 bits according to addrLen */
+ kal_uint8 bcastAddr[CP_BCAST_ADDRESS_MAX_SIZE]; /* length of array is addrLen */
+ /* following is only for paging record if any */
+ kal_bool validPagingRec;
+ kal_uint8 addrClass; /* 2 bits */
+ kal_uint8 addrSubclass; /* 2 bits */
+ kal_uint8 tmsiZoneLen; /* 4 bits */
+ kal_uint8 tmsiZone[MAX_TMSI_ZONE_LEN];
+ kal_uint8 burstType; /* 6 bits */
+ kal_uint8 burstAddrLen; /* 4 bits */
+ /* following is for CAM/ECAM/MEID ECAM */
+ kal_uint8 assignMode; /* 3 bits */
+} PCHMessageLACField;
+#endif
+
+typedef enum
+{
+ MUX_OPTION_INVALID = 0,
+ MUX_OPTION1 = 1,
+ MUX_OPTION2,
+ MUX_OPTION3,
+ MUX_OPTION4,
+ MUX_OPTION5,
+ MUX_OPTION6,
+ MUX_OPTION7,
+ MUX_OPTION8,
+ MUX_OPTION9,
+ MUX_OPTION10,
+ MUX_OPTION11,
+ MUX_OPTION12,
+ MUX_OPTION13,
+ MUX_OPTION14,
+ MUX_OPTION15,
+ MUX_OPTION16,
+ MUX_OPTION704 = 0x704,
+ MUX_OPTION809 = 0x809,
+ MUX_OPTION80A = 0x80A,
+ MUX_OPTION811 = 0x811,
+ MUX_OPTION812 = 0x812,
+ MUX_OPTION821 = 0x821,
+ MUX_OPTION822 = 0x822,
+ MUX_OPTION905 = 0x905,
+ MUX_OPTION906 = 0x906,
+ MUX_OPTION909 = 0x909,
+ MUX_OPTION90A = 0x90A,
+ MUX_OPTION911 = 0x911,
+ MUX_OPTION912 = 0x912,
+ MUX_OPTION921 = 0x921,
+ MUX_OPTION922 = 0x922,
+ MUX_OPTIONF00 = 0xF00, /* PDCH Mux Option */
+ MUX_OPTIONF20 = 0xF20
+
+} MultiplexOption;
+
+/* Traffic Channel Frame Indication data */
+typedef struct
+{
+ WbiosSystime sysTime; /* system time frame received in */
+ MultiplexOption muxOption; /* multiplex option used in deriving frame */
+ kal_uint8 category; /* frame category # - depends on mux_option */
+ kal_uint8 quality; /* good or bad frame based on category & mux */
+ kal_uint16 sigBits;
+ kal_uint8* data; /* ptr to traffic data (cat. determines len) */
+} TCFrame;
+
+typedef struct
+{
+ /* SNR ACK 1/30/01 */
+ kal_uint8 ackReq;
+ WbiosSystime sysTime;
+ kal_uint8 length;
+ kal_uint8 sduEncryptMode;
+ kal_uint8 encSeq;
+ kal_uint8 extMsgLength;
+ kal_uint8 type;
+ kal_uint8 encryption;
+ kal_uint16 pduStartIndex; /* Start of L3 PDU */
+ kal_uint16 geRecordsInc; /* if GEM, this will be updated with bitmap of records included */
+ kal_uint8* buffer; /* pointer to packed message buffer */
+} FTCMessage;
+
+#ifdef MTK_PLT_ON_PC_UT
+typedef struct
+{
+ kal_uint8 msgLen; /* 8 bits */
+ kal_uint8 msgType; /* 8 bits */
+ kal_uint8 ackSeq; /* 3 bits */
+ kal_uint8 msgSeq; /* 3 bits */
+ kal_uint8 ackReq; /* 1 bit */
+ kal_uint8 encryption; /* 2 bits */
+} FTCMessageLACField;
+#endif
+
+
+typedef struct
+{
+ kal_bool resetFpc;
+ kal_uint8 pwrRepThresh;
+ kal_uint8 pwrRepFrames;
+ kal_bool pwrThreshEnable;
+ kal_bool pwrPeriodEnable;
+ kal_uint8 pwrRepDelay;
+} PCNPMData;
+
+#endif /* _PSWAIRMSG_H_ */
+