blob: 653321faef50e8d56b831bd1f2d05fabd023a490 [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001/*****************************************************************************
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/*----------------------------------------------------------------------------
82Macros Definition
83----------------------------------------------------------------------------*/
84
85
86
87
88
89
90
91
92
93
94/*----------------------------------------------------------------------------
95* Enums
96*----------------------------------------------------------------------------*/
97/** The EVDO's Rat Status Enum. */
98typedef 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. */
109typedef 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. */
119typedef 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. */
128typedef enum
129{
130 L1D_NON_DATA_CONNECTED_MODE,
131 L1D_DATA_CONNECTED_MODE
132}L1dModeStatusT;
133
134/** LL1A gap offered status.*/
135typedef enum
136{
137 GAP_NOT_OFFERED,
138 GAP_OFFERED,
139 WAIT_FOR_GAP_STOP_CNF
140}Ll1aGapOfferedStatusT;
141
142/** LL1A autogap available status.*/
143typedef 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.*/
151typedef 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.*/
160typedef enum
161{
162 ACTIVE_NULL_GAP,
163 ACTIVE_IDLE_GAP,
164 ACTIVE_MMO_GAP
165}Ll1aActiveGapPatternTypeT;
166
167typedef 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. */
175typedef struct
176{
177 L1dModeStatusT L1dModeStatus; /* Non_Data/Data. */
178}Ll1aL1dModeStatusIndMsgT;
179
180/** LL1A's internal parameters definiton.*/
181typedef 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. */
203typedef 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 */
212typedef 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 */
219typedef 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 */
229typedef 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