[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/interface/protocol/as_c2k/1xrtt/pilots.h b/mcu/interface/protocol/as_c2k/1xrtt/pilots.h
new file mode 100644
index 0000000..89700cc
--- /dev/null
+++ b/mcu/interface/protocol/as_c2k/1xrtt/pilots.h
@@ -0,0 +1,417 @@
+/*****************************************************************************
+* 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).
+*
+*****************************************************************************/
+/*************************************************************
+*
+* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
+*
+* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
+*
+* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
+*
+*************************************************************/
+/****************************************************************************
+ *
+ * Filename: pilots.h
+ *
+ * Purpose: Definition of Pilot structures and supporting routines.
+ *
+ ****************************************************************************
+ *
+ * PVCS Header Information
+ *
+ *
+ * $Log: pilots.h $
+ *
+ * 07 06 2017 sue.zhong
+ * [MOLY00259241] [6293][C2K]Replace with KAL data type
+ * Correct copyright file header
+ * Revision 1.3 2004/04/06 14:02:19 dstecker
+ * CBP6.1 release 1
+ * Revision 1.2 2004/03/25 12:09:40 fpeng
+ * Updated from 6.0 CP 2.5.0
+ * Revision 1.2 2004/02/10 12:50:53 bcolford
+ * Merged CBP4.0 Release 8.05.0 changes.
+ * Revision 1.13 2003/12/04 18:18:44 blee
+ * Pilot search for remaining set added
+ * Revision 1.12 2002/12/30 19:07:48 akayvan
+ * Per CR570, corrected replacement of IS2000_ADDENDMENT_2
+ * with IS2000_REV_A instead of IS2000_REV_0, and replaced
+ * IS2000_A_3X with IS2000_REV_A.
+ * Revision 1.11 2002/12/26 16:13:34 dstecker
+ * Conditional compile flag IS2000A replaced with IS_2000_REV_A and IS_2000_REV_0
+ * Revision 1.10 2002/10/31 18:24:03 amala
+ * Changed RMS Error Phase parameter type to kal_uint8.
+ * Revision 1.9 2002/08/26 16:11:02 ameya
+ * Changed CP_MAX_STORED_NEIGHBORS to 40 from 64. Fixed CR# 635.
+ * Revision 1.8 2002/06/06 13:14:08 chinh
+ * Changed and Added Copyright
+ * Revision 1.7 2002/03/01 16:29:59 AMALA
+ * Added Location Services AFLT functionality.
+ * Revision 1.6 2001/09/04 15:27:21 byang
+ * Redefined HO_MAX_WALSH_CODE_LENGTH to be 2
+ * instead of 65 since the maximum size is only 9 bits.
+ *
+ * Revision 1.5 2001/08/03 15:15:20 dstecker
+ * Modifications for IS2000 handoffs
+ * Revision 1.4 2001/07/18 15:14:11 chinh
+ * cbp3 porting for Idle and Access
+ * Revision 1.3 2001/06/29 12:02:56 byang
+ * Added compiler flag IS2000_A_AUX_PILOTfor all auxiliary
+ * pilot record structures declaration and processing code.
+ * Revision 1.2 2001/06/12 15:45:03 byang
+ * Update the maximum neighbor list from 20 to 40.
+ * Moved idle neighbor list structures to here to prevent circular
+ * dependency.
+ * Revision 1.1 2001/01/17 10:59:12 plabarbe
+ * Initial revision
+ * Revision 1.1 2000/10/24 14:11:23 fpeng
+ * Initial revision
+ * Revision 1.4 2000/09/23 02:38:43Z rnookala
+ * changed n8m to 20
+ * Revision 1.3 2000/08/23 22:10:10Z RSATTARI
+ * Isotel release 2.8 plus LSI applicable IS-95B changes.
+ * Revision 1.13 2000/01/17 22:27:19 scotvold
+ * TC Backward Compatibility changes.
+ *
+ * Revision 1.12 1998/11/20 16:44:23 scotvold
+ * Moved HOTCPilot Structure definition from ho_tc.h to here.
+ * Removed tDrop for TEST_PILOT optimization.
+ *
+ * Revision 1.11 1998/10/31 02:19:17 scotvold
+ * Pilot Set maintenance optimization test.
+ *
+ * Revision 1.10 1998/10/20 23:58:23 mhayduk
+ * Added T53 support.
+ *
+ * Revision 1.9 1998/08/14 23:49:45 scotvold
+ * Added pilotPN to Remaining measurement.
+ *
+ * Revision 1.8 1998/07/03 16:57:30 dfischer
+ * New load
+ *
+ * Revision 1.7 1998/06/12 14:50:38 scotvold
+ * Updated for Release 0.07.
+ *
+ * Revision 1.6 1998/06/08 21:48:25 scotvold
+ * Updated for Release 0.06.
+ *
+ * Revision 1.5 1998/05/27 17:16:28 scotvold
+ * Updated for Release 0.05.
+ *
+ * Revision 1.4 1998/05/01 18:13:54 scotvold
+ * Update for release 0.04
+ *
+ * Revision 1.3 1998/03/30 23:26:03 mhayduk
+ * Release 0.03.
+ *
+ * Revision 1.1 1997/11/06 17:49:24 mhayduk
+ * Initial revision
+ *
+ *
+ ****************************************************************************
+ ****************************************************************************/
+
+
+#ifndef _PILOTS_H_
+
+ #define _PILOTS_H_ 1
+
+/*****************************************************************************
+ * Includes
+ ****************************************************************************/
+#include "channel.h"
+#include "sync_msg.h"
+#include "cptimer.h"
+
+/*****************************************************************************
+ * Defines
+ ****************************************************************************/
+#define CP_MAX_ACTIVE_SET N6m
+#define CP_MAX_CANDIDATE_SET N7m
+#define CP_MAX_NEIGHBOR_SET N8m
+#define CP_MAX_ANALOG_NEIGHBOR_SET 7
+
+#ifdef MTK_CBP
+#define CP_MAX_REMAINING_SET 44
+#else
+#define CP_MAX_REMAINING_SET 20
+#endif
+
+#define CP_MAX_CH_CHANGE_LIST CP_MAX_NEIGHBOR_SET
+
+/* Define CF Search Set and Neighbor Set to be of maximum size as the **
+** maximum number of pilots that can be sent in a Candidate Frequency **
+** Search Request Message = N8m as specified in 7.6.6.2.1.4 */
+#define CP_MAX_CANDIDATE_FREQUENCY_SEARCH_SET N8m
+#define CP_MAX_CANDIDATE_FREQUENCY_NEIGHBOR_SET N8m
+
+typedef enum
+{
+ CP_SM_NO_SEARCH_PRIORITIES_OR_SEARCH_WINDOWS,
+ CP_SM_SEARCH_PRIORITIES,
+ CP_SM_SEARCH_WINDOWS,
+ CP_SM_SEARCH_PRIORITIES_AND_SEARCH_WINDOWS
+} NghbrSearchMode;
+
+/*****************************************************************************
+ * Pilot structure definitions
+ ****************************************************************************/
+ typedef enum
+ {
+ PILOT_REC_1X_COMMON_TD,
+ PILOT_REC_1X_AUX_NON_TD,
+ PILOT_REC_1X_AUX_TD,
+ PILOT_REC_3X_COMMON,
+ PILOT_REC_3X_AUX
+ } PilotRecType;
+
+/* Information extracted from the Universal Neighbor List Message */
+ typedef struct
+ {
+ Sr1TdPowerLevel tdPowerLevel;
+ Sr1TdModes tdMode;
+ } HONghbrPilotRecType000;
+
+/* The maximum Walsh Code size in octets */
+/* maximum of 3 bits + 6 bits = 9 bits */
+#define HO_MAX_WALSH_CODE_LENGTH 2
+
+ typedef struct
+ {
+ kal_uint8 qof;
+ kal_uint16 walshLength;
+ kal_uint8 auxPilotWalsh[ HO_MAX_WALSH_CODE_LENGTH ];
+ } HONghbrPilotRecType001;
+
+ typedef struct
+ {
+ kal_uint8 qof;
+ kal_uint16 walshLength;
+ kal_uint8 auxWalsh[ HO_MAX_WALSH_CODE_LENGTH ];
+ kal_uint8 auxTdPowerLevel;
+ kal_uint8 tdMode;
+ } HONghbrPilotRecType010;
+
+ typedef struct
+ {
+ kal_uint8 sr3PrimaryPilot;
+ kal_uint8 sr3PilotPower1;
+ kal_uint8 sr3PilotPower2;
+ } HONghbrPilotRecType011;
+
+ typedef struct
+ {
+ kal_uint8 sr3PrimaryPilot;
+ kal_uint8 sr3PilotPower1;
+ kal_uint8 sr3PilotPower2;
+ kal_uint8 qof;
+ kal_uint16 walshLength;
+ kal_uint8 auxPilotWalsh[ HO_MAX_WALSH_CODE_LENGTH ];
+ kal_bool addInfoIncl1;
+ kal_uint8 qof1;
+ kal_uint16 walshLength1;
+ kal_uint8 auxPilotWalsh1[ HO_MAX_WALSH_CODE_LENGTH ];
+ kal_bool addInfoIncl2;
+ kal_uint8 qof2;
+ kal_uint16 walshLength2;
+ kal_uint8 auxPilotWalsh2[ HO_MAX_WALSH_CODE_LENGTH ];
+ } HONghbrPilotRecType100;
+
+ typedef union
+ {
+ HONghbrPilotRecType000 type000;
+
+ HONghbrPilotRecType001 type001;
+ HONghbrPilotRecType010 type010;
+
+ HONghbrPilotRecType011 type011;
+ HONghbrPilotRecType100 type100;
+
+ } HONghbrPilotRec;
+
+ /* structure used to set search windows for pilot searches */
+ typedef struct
+ {
+ kal_uint8 activeWindow;
+ kal_uint8 neighborWindow;
+ kal_uint8 remainingWindow;
+ } PilotSearchWindow;
+
+ /* structure to define content of the IDLE neighbor list */
+ typedef struct
+ {
+ kal_uint16 pilotPN;
+ kal_bool freqIncluded; /* indicates if freq info is available */
+ SysCdmaBandT band; /* CDMA band */
+ kal_uint16 frequency; /* CDMA_CH frequency */
+ kal_uint8 priority; /* search priority */
+ kal_uint8 srchWinNghbr; /* Neighbor search window */
+ kal_uint8 srchOffsetNghbr;
+ kal_bool timingIncl;
+ kal_uint8 nghbrTxOffset;
+ kal_uint8 nghbrTxDuration;
+ kal_uint8 nghbrTxPeriod;
+ kal_bool bcchSupport;
+ kal_bool addPilotRecIncl;
+ PilotRecType pilotRecType;
+ HONghbrPilotRec pilotRec;
+ } IdleNghbrConfig;
+
+ /* R.Sattari, 6/29/00 */
+ /* structure to define content of the Traffic Channel hopping neighbor list */
+ typedef struct
+ {
+ kal_uint16 nghbrPN;
+ kal_uint8 searchPriority;
+ kal_uint8 srchWinNghbr;
+ kal_bool timeIncl;
+ kal_uint8 nghbrTxOffset;
+ kal_uint8 nghbrTxDuration;
+ kal_uint8 nghbrTxPeriod;
+ kal_uint8 srchOffsetNghbr; /* 0 means not included (only 3 bit value) */
+ kal_uint8 otdPowerLevel;
+ } NghbrPilot;
+
+ /* structure to combine Idle and TC neighbor lists */
+ /* The Global Neighbor Search Window is not included in this structure **
+ ** since it is sent down in the wbiosPilotSearchWindow() call */
+ typedef struct
+ {
+ NghbrSearchMode nghbrSrchMode; /* NGHBR_SRCH_MODE */
+ kal_uint8 numPilots; /* number of pilots provided in list */
+#ifdef MTK_CBP
+ NghbrPilot pilot[ SYS_CP_MAX_NEIGHBOR_LIST_PILOTS ];
+#else
+ NghbrPilot pilot[ CP_MAX_NEIGHBOR_SET ];
+#endif
+ } NghbrList;
+
+
+ /* structure to provide Active Pilot set list */
+ typedef struct
+ {
+ kal_uint8 numPilots; /* number of pilots provided in list */
+ kal_uint16 pilot[CP_MAX_ACTIVE_SET];
+ } ActiveList;
+
+
+ /* structure to define content of Candidate Pilot set */
+ typedef struct
+ {
+ kal_uint8 numPilots; /* number of pilots provided in list */
+ kal_uint16 pilot[CP_MAX_CANDIDATE_SET]; /* list of pilots */
+ } CandList;
+
+
+ /* Pilot lists used to define Idle pilot set*/
+ typedef struct
+ {
+ kal_uint8 nghbrSrchMode;
+ kal_uint8 numPilots;
+#ifdef MTK_CBP
+ IdleNghbrConfig idleNghbrPilot[ SYS_CP_MAX_NEIGHBOR_LIST_PILOTS ];
+#else
+ IdleNghbrConfig idleNghbrPilot[ CP_MAX_NEIGHBOR_SET ];
+#endif
+ } IdlePilotSet;
+
+
+ /* Pilots to be used for Idle channel change */
+ typedef struct
+ {
+ kal_bool frequencyIncluded;
+ SysCdmaBandT band;
+ kal_uint16 frequency;
+ kal_uint8 numPilots;
+ kal_uint16 pilotPN[ CP_MAX_CH_CHANGE_LIST ];
+ } IdleChangePilotSet;
+
+
+ /* Pilot lists used to define or update the searched Pilot Sets */
+ typedef struct
+ {
+ ActiveList active; /* Active pilot list */
+ CandList candidate; /* Candidate pilot list */
+ NghbrList neighbor; /* Neighbor pilot list */
+ } PilotSet;
+
+ /* Amala K. 03/01/02 - AFLT */
+
+ /* individual pilot PILOT_PN & TIME_CORRECTION from BS ALMANAC */
+ typedef struct
+ {
+ kal_uint16 PilotPN;
+ kal_int16 TimeCorrect;
+ } AfltPilotSet;
+
+ /* AFLT Pilot list used to update the searched AFLT Pilot Sets */
+ typedef struct
+ {
+ AfltPilotSet Pilot[SYS_CP_MAX_AFLT_LIST_PILOTS];
+ } AfltPilotSetList;
+ /* Amala K. - AFLT END */
+
+ /* report content for a pilot measurement */
+ /* Pilot Strength measurements = -8 * log10(PS) (8 bit resolution) */
+ /* i.e., the WBIOS has already performed the logarithmic calculation */
+ typedef struct
+ {
+ kal_bool stale;
+ kal_uint16 pnPhase;
+ kal_uint16 strength; /* Power of the pilot in Q16 linear units */
+ } PilotMeasurement;
+
+ /* pilot report structure defines a pilot measurement for each pilot in */
+ /* all lists */
+ typedef struct
+ {
+ kal_uint8 numActive; /* number of pilots in active list */
+ kal_uint8 numCandidate; /* number of pilots in candidate list */
+ kal_uint8 numNeighbor; /* number of pilots in neighbor list */
+ kal_uint8 numRemaining; /* number of pilots in remaining list */
+ PilotMeasurement activeList[ CP_MAX_ACTIVE_SET ];
+ PilotMeasurement candidateList[ CP_MAX_CANDIDATE_SET ];
+ PilotMeasurement neighborList[ CP_MAX_NEIGHBOR_SET ];
+ PilotMeasurement remainingList[CP_MAX_REMAINING_SET];
+ } PilotReport;
+
+
+ typedef struct
+ {
+ kal_uint16 pilotPN;
+ PilotMeasurement measure;
+ } HOTCPilot;
+#endif /*_PILOTS_H_ */
+