yu.dong | c33b307 | 2024-08-21 23:14:49 -0700 | [diff] [blame^] | 1 | /***************************************************************************** |
| 2 | * Copyright Statement: |
| 3 | * -------------------- |
| 4 | * This software is protected by Copyright and the information contained |
| 5 | * herein is confidential. The software may not be copied and the information |
| 6 | * contained herein may not be used or disclosed except with the written |
| 7 | * permission of MediaTek Inc. (C) 2016 |
| 8 | * |
| 9 | * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES |
| 10 | * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE") |
| 11 | * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON |
| 12 | * AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, |
| 13 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF |
| 14 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. |
| 15 | * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE |
| 16 | * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR |
| 17 | * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH |
| 18 | * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO |
| 19 | * NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S |
| 20 | * SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM. |
| 21 | * |
| 22 | * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE |
| 23 | * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE, |
| 24 | * AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE, |
| 25 | * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO |
| 26 | * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. |
| 27 | * |
| 28 | * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE |
| 29 | * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF |
| 30 | * LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND |
| 31 | * RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER |
| 32 | * THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC). |
| 33 | * |
| 34 | *****************************************************************************/ |
| 35 | |
| 36 | #ifndef _CL1TSKLL1ADEFS_H_ |
| 37 | #define _CL1TSKLL1ADEFS_H_ |
| 38 | |
| 39 | |
| 40 | #ifdef MTK_DEV_93M_PREIT |
| 41 | #include "kal_public_defs.h" |
| 42 | #include "systyp.h" |
| 43 | #include "valapi.h" |
| 44 | |
| 45 | |
| 46 | /***************************************************************************** |
| 47 | |
| 48 | FILE NAME: cl1tskll1adefs.h |
| 49 | |
| 50 | DESCRIPTION: |
| 51 | |
| 52 | This file contains the data type definition of LL1A module in 93m |
| 53 | |
| 54 | *****************************************************************************/ |
| 55 | |
| 56 | /*---------------------------------------------------------------------------- |
| 57 | * Definitions |
| 58 | *----------------------------------------------------------------------------*/ |
| 59 | #define PNULL (void*)(0) |
| 60 | |
| 61 | #define TICK_BITMAP_LPS (0x01) |
| 62 | #define TICK_BITMAP_HPS (0x02) |
| 63 | #define TICK_BITMAP_RES (0x04) |
| 64 | #define TICK_BITMAP_MPSR (0x08) |
| 65 | |
| 66 | #define LL1A_MEAS_PURPOSE_CELL_SEARCH (0x02) |
| 67 | #define LL1A_MEAS_PURPOSE_MEASURE (0x01) |
| 68 | |
| 69 | #define C2K_SRLTE_LL1A_ON C2K_SRLTE_ON |
| 70 | |
| 71 | #ifndef MTK_PLT_ON_PC |
| 72 | //#define MTK_DEV_93M_LL1A_BYPASS_ENABLE |
| 73 | //#define C2K_LL1_STUB_TARGET_SUPPORT |
| 74 | #endif |
| 75 | |
| 76 | |
| 77 | |
| 78 | |
| 79 | |
| 80 | |
| 81 | /*---------------------------------------------------------------------------- |
| 82 | Macros Definition |
| 83 | ----------------------------------------------------------------------------*/ |
| 84 | |
| 85 | |
| 86 | |
| 87 | |
| 88 | |
| 89 | |
| 90 | |
| 91 | |
| 92 | |
| 93 | |
| 94 | /*---------------------------------------------------------------------------- |
| 95 | * Enums |
| 96 | *----------------------------------------------------------------------------*/ |
| 97 | /** The EVDO's Rat Status Enum. */ |
| 98 | typedef enum |
| 99 | { |
| 100 | RAT_FLIGHT, |
| 101 | RAT_STANDBY, |
| 102 | RAT_ACTIVE, |
| 103 | RAT_PSEUDO_FLIGHT, |
| 104 | RAT_PSEUDO_ACTIVE, |
| 105 | RAT_NULL |
| 106 | }RmcRatStatusT; |
| 107 | |
| 108 | /** The LL1A's Internal State Definition. */ |
| 109 | typedef enum |
| 110 | { |
| 111 | LL1A_FLIGHT, |
| 112 | LL1A_STANDBY, |
| 113 | LL1A_ACTIVE, |
| 114 | LL1A_RAT_MODE_INIT, |
| 115 | LL1A_SUSPEND |
| 116 | }Ll1aStateTypeT; |
| 117 | |
| 118 | /** The EVDO's mode status enmu. */ |
| 119 | typedef enum |
| 120 | { |
| 121 | RMC_MODE_BEGIN, |
| 122 | RMC_NULL_MODE, |
| 123 | RMC_IDLE_MODE, |
| 124 | RMC_CONNECT_MODE |
| 125 | }RmcModeStatusT; |
| 126 | |
| 127 | /** The 1xRTT's mode status enmu. */ |
| 128 | typedef enum |
| 129 | { |
| 130 | L1D_NON_DATA_CONNECTED_MODE, |
| 131 | L1D_DATA_CONNECTED_MODE |
| 132 | }L1dModeStatusT; |
| 133 | |
| 134 | /** LL1A gap offered status.*/ |
| 135 | typedef enum |
| 136 | { |
| 137 | GAP_NOT_OFFERED, |
| 138 | GAP_OFFERED, |
| 139 | WAIT_FOR_GAP_STOP_CNF |
| 140 | }Ll1aGapOfferedStatusT; |
| 141 | |
| 142 | /** LL1A autogap available status.*/ |
| 143 | typedef enum |
| 144 | { |
| 145 | AUTO_GAP_STATUS_UNKNOWN, |
| 146 | AUTO_GAP_STATUS_AVAIL, |
| 147 | AUTO_GAP_STATUS_UNAVAIL |
| 148 | }Ll1aAutoGapAvailStatusT; |
| 149 | |
| 150 | /** LL1A autogap request state.*/ |
| 151 | typedef enum |
| 152 | { |
| 153 | AUTO_GAP_NULL, |
| 154 | AUTO_GAP_REQ_PENDING, |
| 155 | AUTO_GAP_WAIT_RESULT, |
| 156 | AUTO_GAP_ACTIVE |
| 157 | }Ll1aAutoGapReqStateT; |
| 158 | |
| 159 | /** LL1A Active Gap Pattern type.*/ |
| 160 | typedef enum |
| 161 | { |
| 162 | ACTIVE_NULL_GAP, |
| 163 | ACTIVE_IDLE_GAP, |
| 164 | ACTIVE_MMO_GAP |
| 165 | }Ll1aActiveGapPatternTypeT; |
| 166 | |
| 167 | typedef struct |
| 168 | { |
| 169 | kal_uint32 RttGapLen; /* 1xRTT ps connect gap length for LTE MMO : unit ms */ |
| 170 | kal_uint32 EvdoGapLen; /* EVDO connect gap length for LTE MMO : unit ms */ |
| 171 | kal_bool RtbaMmoGapEnable; /* TRUE:LL1A have sent enable to RTBA; FALSE: LL1A have sent disable to RTBA */ |
| 172 | }Ll1aC2kConnGapT; |
| 173 | |
| 174 | /** L1d Mode Status Ind. */ |
| 175 | typedef struct |
| 176 | { |
| 177 | L1dModeStatusT L1dModeStatus; /* Non_Data/Data. */ |
| 178 | }Ll1aL1dModeStatusIndMsgT; |
| 179 | |
| 180 | /** LL1A's internal parameters definiton.*/ |
| 181 | typedef struct |
| 182 | { |
| 183 | Ll1aStateTypeT RatState; /** LL1A's internal RatState. */ |
| 184 | RmcRatStatusT RmcRatStatus; /** LL1A record the rat status of EVDO.*/ |
| 185 | RmcModeStatusT RmcModeStatus; /** RMC's Mode Status restored in LL1A. */ |
| 186 | L1dModeStatusT L1dModeStatus; /** L1D's mode status recorded in LL1A */ |
| 187 | |
| 188 | Ll1aGapOfferedStatusT GapOfferedStatus; /** Indicate the gap offered status for evdo active. */ |
| 189 | SysAirInterfaceT GapOfferedOwner; /** Indicate the gap offered owner for evdo or rtt active. */ |
| 190 | Ll1aAutoGapAvailStatusT AutoGapAvailStatus; /** Indicate the auto-gap available information for evdo standby. */ |
| 191 | Ll1aAutoGapReqStateT AutoGapReqState; /** Indicate the auto-gap request state for evdo standby. */ |
| 192 | kal_uint8 GapIgnoreFlag; /** Indicate the whether needs to ignore the active gap pattern ind or standby gap notify ind. |
| 193 | Bit0 - Ignore the active gap pattern when set as 1; Bit1 - Ignore the standby gap notify when set as 1.*/ |
| 194 | kal_bool GapServiceEnable; /** Indicate the gap service enable status. */ |
| 195 | kal_uint8 GapStopSuspendEvent; /** To record the gap stop req and gap suspend req event.*/ |
| 196 | kal_uint32 AutoGapStartTime; /** The GM need LL1A to return the auto time.*/ |
| 197 | kal_uint16 DrxCycleLen; /** LL1A Needs to record the DrxCycle Length for evdo active idle mode.*/ |
| 198 | kal_bool IsC2kOnSim2; /* to indicate EVDO in SIM1 or SIM2 */ |
| 199 | }Ll1aScheInfoT; |
| 200 | |
| 201 | //#ifdef C2K_LL1_STUB_TARGET_SUPPORT /* for NWSIM UT/IT build in elt_msg_struct.h */ |
| 202 | /** The 1xRTT's mode status enmu. */ |
| 203 | typedef enum |
| 204 | { |
| 205 | LTE_ACTIVE_NULL, |
| 206 | LTE_ACTIVE_IDLE, |
| 207 | LTE_ACTIVE_CONNECT |
| 208 | }Ll1aLteStubModeT; |
| 209 | |
| 210 | |
| 211 | /* Ll1a stub definitaion for target standby */ |
| 212 | typedef struct |
| 213 | { |
| 214 | Ll1aLteStubModeT LteMode; /* LTE active mode. */ |
| 215 | kal_bool StopGapInGapRange; /* whether need LL1A send stop gap to EVL1 during gap range */ |
| 216 | }Ll1aLteActiveInfoT; |
| 217 | |
| 218 | /* Ll1a stub definitaion for target standby */ |
| 219 | typedef struct |
| 220 | { |
| 221 | kal_uint32 NullGapLen; /* LTE active Null gap length, Max is 5000000, Uint:us . */ |
| 222 | kal_uint32 IdleGapLen; /* LTE active Idle gap length, Max is 10000000, Uint:us . */ |
| 223 | kal_uint32 ConnGapLen; /* LTE active Connect gap length, Max is 6000, Uint:us . */ |
| 224 | kal_uint32 AutoGapLen; /* LL1A send auto gap stop with this length when has offer auto gap to EVL1,Max is 600000 Uint:us . */ |
| 225 | }Ll1aStandbyGapLenIndT; |
| 226 | |
| 227 | |
| 228 | /* Ll1a stub definitaion for target standby */ |
| 229 | typedef struct |
| 230 | { |
| 231 | Ll1aLteActiveInfoT LteActiveInfo; /* LTE active info. */ |
| 232 | kal_uint16 NormalGapCnt; /* to record how many gaps have sent to EVL1 */ |
| 233 | kal_uint16 AutoGapCnt; /* to record how many gaps have sent to EVL1 */ |
| 234 | Ll1aStandbyGapLenIndT GapLength; /* to record gap length from script indication */ |
| 235 | }Ll1aStubInfoT; |
| 236 | |
| 237 | |
| 238 | //#endif |
| 239 | |
| 240 | |
| 241 | /***************************************************************************** |
| 242 | * End of File |
| 243 | *****************************************************************************/ |
| 244 | #endif |
| 245 | #endif |