blob: 574d980fc46bc6cc027034e92f71ad1d06eab875 [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 CONSKAL_TRUED 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 *
37 * File Name: valatdata.h
38 *
39 * Description: IS-707 Mobile Terminal AT Commands Engine, API
40 * data definitions.
41 *
42 *
43 ************************************************************************/
44
45#ifndef _AT_DATA_H
46#define _AT_DATA_H 1
47
48
49enum _AtService
50{
51 ATS_AsyncData,
52 ATS_Fax,
53 ATS_Rejected,
54 ATS_PacketRelayRm,
55 ATS_SingleStackQNC,
56 ATS_UpBrowser,
57 ATS_AsyncUpBrowser,
58 ATS_TcpCktBrowser,
59 ATS_TcpPktBrowser,
60 ATS_PacketNtwkRm,
61 ATS_PPPOnly,
62 NUM_ATSs
63};
64
65typedef kal_uint8 AtService;
66
67enum _AtBreakType
68{
69 BKT_NonExpeditedNonDestructive,
70 BKT_ExpeditedNonDestructive,
71 BKT_ExpeditedDestructive,
72 NUM_BKTs
73};
74
75typedef kal_uint8 AtBreakType;
76
77enum _AttState
78{
79 ATT_Command,
80 ATT_Online,
81 ATT_OnlineCommand,
82 NUM_ATTs
83};
84
85typedef kal_uint8 AtState;
86
87enum _AtError
88{
89 ATE_ChCmRCQOverflow,
90 ATE_ChInvalidBreak,
91 ATE_Invalid617Chars,
92 ATE_ChIwfFlowCtlErr,
93 ATE_ChRflctAtCmdBufOverflow,
94 ATE_ChUnknownInBandCmd,
95 ATE_ChUnknownExtend0Cmd,
96 ATE_ChUnknownExtend1Cmd,
97 ATE_CmInvalidBrowserDigitLen,
98 ATE_CmInvalidDialStringType,
99 ATE_CmNonMatchingSvcOpt,
100 ATE_CmUnexpectedEvent,
101 ATE_CmUnexpectedExtend0Cmd,
102 ATE_CmUnexpectedInBandCmd,
103 ATE_CmUnexpectedReflectedAtCmd,
104 ATE_DhInvalidC108BehaviorParm,
105 ATE_DhRlpRxIndErr,
106 ATE_RdInvalidRfcCmd,
107 ATE_RdRxBusy,
108 ATE_TmDpdTxNotReady,
109 ATE_TmCnTxNotReady,
110 ATE_UdInvalidCmdChar,
111 NUM_ATEs
112};
113typedef kal_uint8 AtError;
114
115enum _AtOrigFailReason
116{
117 ATOF_Intercept,
118 ATOF_Reorder,
119 ATOF_Release,
120 ATOF_Reject,
121 ATOF_Disabled,
122 ATOF_Busy,
123 NUM_ATOFs
124};
125typedef kal_uint8 AtOrigFailReason;
126
127enum _AtReleaseReason
128{
129 ATR_Normal,
130 ATR_Fade,
131 ATR_PowerDown,
132 NUM_ATRs
133};
134typedef kal_uint8 AtReleaseReason;
135
136enum _AtNspeStatus /* This definition shall agree with defines found in 7074API.h */
137{
138 ANS_ConnectSuccess,
139 ANS_ConnectFailTCP,
140 ANS_ConnectFailPPP,
141 ANS_ConnectFailRLP,
142 ANS_ConnectFailUart,
143 ANS_DisconnectNormal = 5,
144 NUM_ANSs
145};
146typedef kal_uint8 AtNspeStatus;
147
148enum _DialStringType
149{
150 DST_Normal,
151 DST_Restricted,
152 DST_QNC,
153 NUM_DSTs
154};
155typedef kal_uint8 DialStringType;
156
157enum _AtConnFailType
158{
159 ACFT_CONNECT_FAIL_TCP, /* connection fails on TCP */
160 ACFT_CONNECT_FAIL_PPP, /* connection fails on PPP */
161 ACFT_CONNECT_FAIL_RLP, /* connection fails on RLP */
162 ACFT_CONNECT_FAIL_UART, /* not use */
163 ACFT_CONNECT_FAIL_TRAFFIC, /* connection fails on traffic */
164 ACFT_CONNECT_FAIL_NOSVC, /* connection fails on no src */
165 NUM_ACFTs
166};
167typedef kal_uint8 AtConnFailType;
168
169enum _AtDisconnectType
170{
171 ADT_DISCONNECT_NORMAL,
172 ADT_DISCONNECT_MS,
173 ADT_DISCONNECT_FADE,
174 NUM_ADTs
175};
176typedef kal_uint8 AtDisconnectType;
177/* These defines include the NULL terminator */
178#define MAX_CFG_LEN 249
179#define MAX_DROPPED_FAX_LINE_STR_LEN 65535
180#define MAX_FLI_LEN 21
181#define MAX_FSA_LEN 21
182#define MAX_FPA_LEN 21
183#define MAX_FPI_LEN 21
184#define MAX_FPW_LEN 21
185#define MAX_GCAP_LEN 65535
186#define MAX_GMI_LEN 2047
187#define MAX_GMM_LEN 2047
188#define MAX_GMR_LEN 2047
189#define MAX_GOI_LEN 2047
190#define MAX_GSN_LEN 2047
191
192/* aiCfgGetCSS definitions */
193enum _AtBandClass
194{
195 ABC_Unknown,
196 ABC_800MHz,
197 ABC_1900MHz,
198 NUM_ABCs
199};
200typedef kal_uint8 AtBandClass;
201
202#define CSS_BAND_NONE 0x47 /* Displayed as: 'Z'.
203 * Server dosen't like 'G'*/
204
205#define CSS_SID_NONE 32768 /* Displayed as: '99999' */
206
207/* aiCfgGetCSQ definitions */
208#define CSQ_SQM_UNKNOWN 32 /* Displayed as: '99' */
209#define CSQ_FER_UNKNOWN 8 /* Displayed as: '99' */
210
211
212/* aiCfgGetCBC definitions */
213#define CBC_BCS_BatteryPower 0
214#define CBC_BCS_ExternalPower 1
215#define CBC_BCS_NotAvailable 2
216#define CBC_BCS_PowerFault 3
217
218
219/* DPD Carrier index definitions */
220#define CR_V90 0
221#define CR_V34B 1
222#define CR_V34 2
223#define CR_V32B 3
224#define CR_V32 4
225#define CR_V27TC 5
226#define CR_V26B 6
227#define CR_V23C 7
228#define CR_V23S 8
229#define CR_V22B 9
230#define CR_V22 10
231#define CR_V21 11
232#define CR_V17 12
233#define CR_B212 13
234#define CR_B209 14
235#define CR_B208 15
236#define CR_B202 16
237#define CR_B201 17
238#define CR_B103 18
239#define CR_UNUSED 255
240#define AT_NUM_CRs 19
241
242/* FAX serial rate definintions */
243#define FR_AUTOBAUD 0
244#define FR_2400 1
245#define FR_4800 2
246#define FR_9600 4
247#define FR_19200 8
248#define FR_38400 16
249#define FR_57600 24
250#define FR_115200 48
251/* aiCfgGetMA definitions */
252#define NUM_MA_CARRIERS 8
253
254/* aiCfgGetCAD return values */
255enum _CAD
256{
257 CAD_NoSvc,
258 CAD_CDMA,
259 CAD_TDMA,
260 CAD_Analog,
261 NUM_CADs
262};
263
264/* NSPE definitions */
265#define TCP_ACTIVE 0
266#define TCP_PASSIVE 1
267
268#define IP_MAX_THRUPUT 0
269#define IP_LOW_DELAY 1
270
271#define RLP_NON_TRANS 0
272#define RLP_TRANS 1
273
274#define RLP_CHAN_PRIMARY 0
275#define RLP_CHAN_SECONDARY 1
276
277enum _AtPacketCallEvent
278{
279 PCE_EnterIdle,
280 PCE_IdleHandoffSameSystem,
281 PCE_IdleHandoffNewSystem,
282 PCE_PageReceived,
283 PCE_OriginationSent,
284 PCE_TrafficChannelAssigned,
285 PCE_HardHandoff,
286 NUM_PCEs
287};
288typedef kal_uint8 AtPacketCallEvent;
289
290enum _AtPacketCallState
291{
292 PCS_Inactive,
293 PCS_InitIdle,
294 PCS_InitTraffic,
295 PCS_ConnectedPrimary,
296 PCS_ConnectedSecondary,
297 PCS_DormantIdle,
298 PCS_DormantTraffic,
299 PCS_ReconnectIdle,
300 PCS_ReconnectTraffic,
301 NUM_PCSs
302};
303typedef kal_uint8 AtPacketCallState;
304
305enum _BrowserConnectStatus
306{
307 BS_Success,
308 BS_Busy,
309 BS_Rejected,
310 BS_Failed,
311 BS_NoSvc,
312 BS_DisconnectNormal,
313 BS_ConnectionDropped,
314 BS_Dormant,
315 BS_Reconnected,
316 NUM_BSs
317};
318typedef kal_uint8 BrowserConnectStatus;
319
320enum _AtUnexpectedEventId
321{
322 EVID_Internal, /* Unexpected internal events are not logged. */
323 EVID_CpAlertInd,
324 EVID_CpConnectInd,
325 EVID_CpDormantInd,
326 EVID_CpOrigFailInd,
327 EVID_CpPageInd,
328 EVID_CpReleaseInd,
329 EVID_NspeBrowserConnectReq,
330 EVID_NspeBrowserDormantReq,
331 EVID_NspeBrowserHangupReq,
332 EVID_NspePppConnectRsp,
333 EVID_NspeStatusInd,
334 EVID_RlpCloseRsp,
335 EVID_RlpInactivityInd,
336 EVID_RlpOpenRsp,
337 NUM_EVIDs
338};
339
340enum _AtOrigFailReleaseReason /* see scc_data.h */
341{
342 General_orig_fail,
343 Cancel_orig_fail,
344 Inetrcept_orig_fail,
345 Reorder_orig_fail,
346 Release_orig_fail,
347 Reject_orig_fail,
348 Disabled_orig_fail,
349 Busy_orig_fail,
350 Invalid_cfg_orig_fail,
351 Paged_orig_fail,
352 Releasing_orig_fail,
353 Amps_orig_fail,
354 No_Release_reason,
355 Normal_release_reason,
356 Fade_release_reason,
357 Disabled_release_reason,
358 Rejected_release_reason,
359 Swicth_complete_release_reason,
360 Swicth_fail_not_connected,
361 Svctype_mismatch_release_reason
362};
363
364typedef kal_uint8 AtUnexpectedEventId;
365
366typedef struct
367{
368 kal_uint8 bcs;
369 kal_uint8 bcl;
370} AtCbc;
371
372typedef struct
373{
374 kal_uint8 direction;
375 kal_bool compressionNegotiation;
376 kal_uint16 maxDict;
377 kal_uint8 maxString;
378} AtDs;
379
380typedef struct
381{
382 kal_uint8 sqm;
383 kal_uint8 fer;
384} AtCsq;
385
386typedef struct
387{
388 AtBandClass bandClass;
389 char band;
390 kal_uint16 sid;
391} AtCss;
392
393typedef struct
394{
395 kal_uint8 breakSelection;
396 kal_bool timed;
397 kal_uint8 defaultLen;
398} AtEb;
399
400typedef struct
401{
402 kal_uint8 origRqst;
403 kal_uint8 origFbk;
404 kal_uint8 ansFbk;
405} AtEs;
406
407typedef struct
408{
409 kal_uint8 pendingTd;
410 kal_uint8 pendingRd;
411 kal_uint8 timer;
412} AtEtbm;
413
414typedef struct
415{
416 kal_bool sub;
417 kal_bool sep;
418 kal_bool pwd;
419} AtFap;
420
421typedef struct
422{
423 kal_bool vr;
424 kal_uint8 br;
425 kal_uint8 wd;
426 kal_uint8 ln;
427 kal_uint8 df;
428 kal_bool ec;
429 kal_bool bf;
430 kal_uint8 st;
431} AtFcc;
432
433typedef struct
434{
435 kal_uint8 rq;
436 kal_uint8 tq;
437} AtFcq;
438
439typedef struct
440{
441 kal_uint8 vrc;
442 kal_uint8 dfc;
443 kal_uint8 lnc;
444 kal_uint8 wdc;
445} AtFfc;
446
447typedef struct
448{
449 kal_bool rpr;
450 kal_bool tpr;
451 kal_bool idr;
452 kal_bool nsr;
453} AtFnr;
454
455#define MAX_FIF_LEN 90
456
457typedef struct
458{
459 kal_uint8 buf[MAX_FIF_LEN];
460 kal_uint8 len;
461} AtFif;
462
463typedef struct
464{
465 kal_uint8 pgl;
466 kal_uint8 cbl;
467} AtFrq;
468
469typedef struct
470{
471 kal_uint8 format;
472 kal_uint8 parity;
473} AtIcf;
474
475typedef struct
476{
477 kal_uint8 dceByDte;
478 kal_uint8 dteByDce;
479} AtIfc;
480
481typedef struct
482{
483 kal_uint8 carrier;
484 kal_bool automode;
485 kal_uint16 minRate;
486 kal_uint16 maxRate;
487 kal_uint16 minRxRate;
488 kal_uint16 maxRxRate;
489} AtMs;
490
491typedef struct
492{
493 kal_uint8 mode;
494 kal_uint8 dfltAnsMode;
495 kal_bool fbkTimeEnable;
496} AtMv18s;
497
498/* Compression direction bit definitions */
499#define CMP_DIR_DTE_TO_DCE BIT0
500#define CMP_DIR_DCE_TO_DTE 0x02
501
502/* DPD Baud rate bit definitions */
503/* BIT0 reserved for auto-baud */
504#define BR_NONE 0
505#define BR_300 0x02
506#define BR_1200 0x04
507#define BR_2400 0x08
508#define BR_4800 0x10
509#define BR_9600 0x20
510#define BR_19200 0x40
511#define BR_38400 0x80
512#define BR_57600 0x100
513#define BR_115200 0x200
514#define BR_230400 0x400
515
516
517typedef struct
518{
519 kal_uint8 Mode;
520 kal_uint8 Subset;
521 kal_uint8 PortSpeed;
522 kal_uint16 N1;
523 kal_uint8 T1;
524 kal_uint8 N2;
525 kal_uint8 T2;
526 kal_uint8 T3;
527 kal_uint8 K;
528} AtMuxParmsT;
529
530enum
531{
532 AT_CHAN_PPP = 0, /* used for AT and DATA*/
533 AT_CHAN_ATCMD_1, /* AT only, include the Enhanced AT commands*/
534#ifdef SYS_OPTION_ATCMD_CH_2
535 AT_CHAN_ATCMD_2,/* AT only, include the Enhanced AT commands*/
536#ifdef SYS_OPTION_ATCMD_CH_3
537 AT_CHAN_ATCMD_3,
538#ifdef SYS_OPTION_ATCMD_CH_4
539 AT_CHAN_ATCMD_4,
540#ifdef SYS_OPTION_MORE_AT_CHANNEL
541 AT_CHAN_ATCMD_5,
542 AT_CHAN_ATCMD_6,
543 AT_CHAN_ATCMD_7,
544 AT_CHAN_ATCMD_8,
545#endif /* SYS_OPTION_MORE_AT_CHANNEL */
546#endif /* SYS_OPTION_ATCMD_CH_2 */
547#endif /* SYS_OPTION_ATCMD_CH_3 */
548#endif /* SYS_OPTION_ATCMD_CH_4 */
549#ifdef MTK_DEV_ETS_ENHANCEMENT
550 AT_CHAN_ETS,
551#endif
552 AT_CHAN_NUM
553};
554#ifdef SYS_OPTION_MORE_AT_CHANNEL
555#define AT_EXTRA_CHAN_NUM 4
556#else
557#define AT_EXTRA_CHAN_NUM 3
558#endif
559
560#ifdef MTK_DEV_C2K_IRAT
561#ifdef MTK_DEV_ETS_ENHANCEMENT
562#define MAX_AT_CHAN_NUM_FOR_AP AT_CHAN_ETS - 1
563#else
564#define MAX_AT_CHAN_NUM_FOR_AP AT_CHAN_NUM - 1
565#endif
566#endif
567
568#define AT_MUX_EN_BIT 1
569#define AT_IOP_MUX_EN_BIT 2
570
571#endif /* _AT_DATA_H */