blob: 2c96de1ae946fa706b53eb706500a7c561d61788 [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) 2005
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 * Copyright Statement:
37 * --------------------
38 * This software is protected by Copyright and the information contained
39 * herein is confidential. The software may not be copied and the information
40 * contained herein may not be used or disclosed except with the written
41 * permission of MediaTek Inc. (C) 2001
42 *
43 *******************************************************************************/
44
45 /*******************************************************************************
46 * Filename:
47 * ---------
48 * rmmi_strcut.h
49 *
50 * Project:
51 * --------
52 * MAUI
53 *
54 * Description:
55 * ------------
56 *
57 *
58 * Author:
59 * -------
60 * -------
61 *
62 *============================================================================
63 ****************************************************************************/
64
65#ifndef __RMMI_STRUCT_H__
66#define __RMMI_STRUCT_H__
67//#include "kal_non_specific_general_types.h"
68#include "kal_general_types.h"
69//#include "l4c_common_enum.h"
70#include "ps_public_enum.h"
71#include "kal_public_defs.h"
72
73#include "ps_public_struct.h"
74
75#ifndef __MTK_TARGET__
76#include "dcl.h" //for DCL_DEV_T
77#endif
78
79typedef struct{
80 LOCAL_PARA_HDR
81 kal_uint8 data[256];
82} rmmi_inject_msg_req_struct;
83
84typedef struct{
85 LOCAL_PARA_HDR
86 kal_uint8 data[256];
87} rmmi_inject_msg_cnf_struct;
88
89typedef struct{
90 LOCAL_PARA_HDR
91} rmmi_atcidt_force_transfer_req_struct;
92
93typedef struct{
94 LOCAL_PARA_HDR
95 kal_uint8 port;
96 kal_bool is_dt;
97} rmmi_atcidt_force_transfer_cnf_struct;
98
99typedef struct{
100 LOCAL_PARA_HDR
101 rmmi_sim_uart_setting_enum sim_setting;
102} rmmi_master_sim_change_req_struct;
103
104typedef struct{
105 LOCAL_PARA_HDR
106 kal_bool result;
107} rmmi_master_sim_change_cnf_struct;
108
109typedef struct{
110 LOCAL_PARA_HDR
111 kal_uint8 ch_num;
112} rmmi_register_channel_req_struct;
113
114typedef struct{
115 LOCAL_PARA_HDR
116 kal_bool result;
117 kal_uint8 begin_port_id;
118} rmmi_register_channel_cnf_struct;
119
120typedef struct{
121 LOCAL_PARA_HDR
122 kal_uint8 port_id;
123 kal_uint16 length;
124} rmmi_exe_at_req_struct;
125
126typedef struct{
127 LOCAL_PARA_HDR
128 kal_bool result;
129 kal_uint8 port_id;
130} rmmi_exe_at_cnf_struct;
131
132typedef struct{
133 LOCAL_PARA_HDR
134 kal_uint8 port_id;
135 kal_uint16 length;
136} rmmi_response_at_ind_struct;
137
138typedef struct{
139 LOCAL_PARA_HDR
140 kal_uint16 length;
141} rmmi_urc_at_ind_struct;
142
143typedef struct rmmi_report_mode_struct
144{
145 kal_uint32 einfo; /* proprietary +ECPI: call progress information */
146 kal_uint32 ecpi; /* proprietary +ECPI: call progress information */
147 kal_uint32 eind; /* proprietary +EIND: general indication */ /* Bit 0(SMS ready), Bit 1(PHB ready), Bit 7(AT ready), others reserved */
148 kal_uint8 ccm; /* rmmi_report_mode_enum */
149 kal_uint8 acm_warning; /* rmmi_report_mode_enum */
150 kal_uint8 call_wait; /* rmmi_report_mode_enum */
151 kal_uint8 cdip; /* rmmi_report_mode_enum */
152 kal_uint8 clip; /* rmmi_report_mode_enum */
153 kal_uint8 clir; /* rmmi_report_mode_enum */
154 kal_uint8 cnap; /* rmmi_report_mode_enum */
155 kal_uint8 colp; /* rmmi_report_mode_enum */
156 kal_uint8 ss_mo; /* rmmi_report_mode_enum */
157 kal_uint8 ss_mt; /* rmmi_report_mode_enum */
158 kal_uint8 ussd; /* rmmi_report_mode_enum */
159 kal_uint8 compression; /* rmmi_report_mode_enum */
160 kal_uint8 ps_reg; /* rmmi_nw_reg_report_mode_enum */
161 kal_uint8 nr_reg; /* rmmi_nw_reg_report_mode_enum */
162 kal_uint8 cs_reg; /* rmmi_nw_reg_report_mode_enum */
163 kal_uint8 timezone; /* rmmi_time_zone_report_mode_enum */
164 kal_uint8 crc; /* rmmi_report_mode_enum, for +CRC */
165 kal_uint8 cr; /* rmmi_report_mode_enum, for +CR */
166 kal_uint8 ecsq;
167 kal_uint8 cen; // +CEN
168 kal_uint8 ecsq_count;
169 kal_uint8 cgerep;
170 kal_uint8 cgerep_bfr;
171 kal_uint8 cmer_mode;
172 kal_uint8 cmer_keyp;
173 kal_uint8 cmer_ind;
174 kal_uint8 cmer_bfr;
175 kal_uint8 esims;
176 kal_uint8 eusim;
177 kal_uint8 etestsim;
178#if defined(__MOD_TCM__)
179 kal_uint8 psbearer_indicate; // for +PSBEARER
180#endif
181 kal_uint8 pacsp;
182#ifdef __CSG_SUPPORT__
183 kal_uint8 ecsg;
184#endif
185#ifdef __IMS_SUPPORT__
186 kal_uint8 cireg;
187 kal_uint8 cirep;
188 kal_uint8 cnem;
189#endif
190 kal_uint8 ecell;
191 kal_uint8 armee;
192 kal_uint8 eemcinfo;
193 kal_uint8 essac;
194 kal_uint8 emobd;
195 kal_uint8 cusats;
196 kal_uint8 ecusats;
197
198 kal_uint8 eccause;
199 kal_uint8 ecsra;
200 kal_uint8 evocd;
201 kal_uint8 erlm_mode;
202 kal_uint8 edrb;
203 kal_uint8 ecamp;
204 kal_uint8 eslband;
205 kal_uint8 cscon;
206 kal_uint8 scp_cellinfo;
207 kal_uint8 emodcfg;
208 kal_uint8 elce;
209 kal_uint8 elatency;
210 kal_uint8 ereginfo; //to enable/disable +EREGINFO URC
211 kal_uint8 eimsps;
212 kal_uint8 eimscons;
213 kal_uint8 ecgreg;
214 kal_uint8 ecereg;
215 kal_uint8 ecmpcid; //to enable/disable +ECMPCID URC
216 kal_uint8 ecreg;
217 kal_uint8 esimecc;
218 kal_uint8 eltebwinfo;
219 kal_uint8 eacb;
220 kal_uint8 eppi; //to enable/disable +EPPI URC
221//#ifdef __FAST_ROAMING_SEARCH__
222 kal_uint8 efmcc;
223//#endif
224 kal_uint8 eimsess; // to enable/disable +EIMSESS URC
225 kal_uint8 ecainfo; //to enable/disable +ECAINFO URC
226 kal_uint8 eplwth;
227 kal_uint8 ercefc; // to enable/disable +ERCEFC URC
228 kal_uint8 iccid; // to enable/disable +ICCID URC
229 kal_uint8 ecbdinfo_mode; // to enable/disable +ECBDINFO
230 kal_uint8 edmfapp; // to enable/disable +EDMFAPP
231 kal_uint8 eatnusd; // to enable/disable +EATNUSD URC
232 kal_uint8 edsda; // to enable/disable +EDSDA URC
233 kal_uint8 eopsu; // to enable/disable +EOPSU URC
234 kal_uint8 ecampui; // enable/disable +ECAMPUI URC
235 kal_uint8 epcellinfo; // to enable/disable +EPCELLINFO URC
236 kal_uint8 egtchs; /* to enable/disable +EGTCHS URC */
237
238#ifdef __EPSFB_SUPPORT__
239 kal_uint8 cepsfb; // to enable/disable +CEPSFB
240#endif
241 kal_uint8 cladn;
242 kal_uint8 erejinfo; // to enable/disable +EREJINFO URC
243
244#ifdef __SAR_SENSOR_TX_DETECTION_SUPPORT__
245 kal_uint8 etxpwrstus; /* to enable/disable +ETXPWRSTUS URC*/
246#endif
247
248 kal_uint8 euacalv; // to enable/disable +EUACALV URC
249
250 kal_uint8 enwcfginfo; /* to enable/disable +ENWCFGINFO URC*/
251 kal_uint8 e5guw; /* to enable/disable +E5GUW URC*/
252 kal_uint8 enrcaband; /* to enable/disable +ENRCABAND URC*/
253
254 kal_uint8 epnwcause;
255
256} rmmi_report_mode_struct;
257
258typedef struct rmmi_op01_report_mode_struct
259{
260 kal_uint8 dsci;
261 kal_uint8 rfsw;
262 kal_uint8 cardmode;
263} rmmi_op01_report_mode_struct;
264
265typedef struct{
266 LOCAL_PARA_HDR
267 kal_bool lock; //KAL_TRUE: lock, KAL_FALSE: unlock
268} rmmi_lock_at_cmd_req_struct;
269
270 typedef struct{
271 LOCAL_PARA_HDR
272 kal_bool result; //KAL_TRUE: success, KAL_FALSE: fail
273} rmmi_lock_at_cmd_cnf_struct;
274
275#ifdef __GAS_SUPPORT__
276 /* Message Structure */
277typedef struct
278{
279 LOCAL_PARA_HDR
280 kal_uint8 src_id;
281 kal_uint8 data[1500]; /* data */
282 kal_uint16 size; /* size of the input data */
283 kal_uint16 buf_size; /* avariable size of the output buffer */
284} gas_data_ind_struct;
285
286typedef struct
287{
288 LOCAL_PARA_HDR
289 kal_uint8 src_id;
290 kal_uint8 data[1500]; /* data */
291 kal_uint16 size; /* size of the input data */
292 kal_uint8 data_type; /* gati_output_data_type_enum */
293} gas_data_req_struct;
294
295typedef enum
296{
297 GAS_OUTPUT_NORMAL, /* The type of output data is normal type which might be partially put to the output buffer of the ATCI */
298 GAS_OUTPUT_URC, /* The type of output data is a URC. Note that this type of data is an integrity type implicitly. */
299} gas_output_data_type_enum;
300#endif /*__GAS_SUPPORT__*/
301
302/* for thermal_protection */
303typedef struct
304{
305 LOCAL_PARA_HDR
306 kal_int16 value;
307 kal_uint8 type;
308} atci_thermal_event_report_ind_struct;
309
310typedef struct
311{
312 l4c_rac_ecc_number_struct ecc_list[MAX_NW_ECC_NUM]; /* ecc number list*/
313 kal_uint8 no_ecc; /* number of ecc number*/
314} rmmi_ecc_number_list_struct;
315
316#ifndef __MTK_TARGET__
317#define MAX_UT_UART_LENGTH 2048
318
319typedef enum
320{
321 ATCI_UT_UART_PORT1 = uart_port1,
322 ATCI_UT_UART_PORT2 = uart_port2,
323 ATCI_UT_UART_PORT_USB = uart_port_usb,
324 ATCI_UT_UART_PORT_USB2 = uart_port_usb2,
325 ATCI_UT_UART_PORT_CCCI = uart_port_at_ccci,
326 ATCI_UT_UART_PORT_GPS = uart_port_gps_ccci,
327#ifdef __HIF_CCISM_SCP_SUPPORT__
328 ATCI_UT_UART_CELLINFO_CCCI = uart_port_cellinfo_ccci,
329#endif
330
331 /* CMUX virtual port for SIM1 */
332 ATCI_UT_UART_VIRTUAL_PORT_START = start_of_virtual_port,
333 ATCI_UT_UART_VIRTUAL_PORT2,
334 ATCI_UT_UART_VIRTUAL_PORT3,
335 ATCI_UT_UART_VIRTUAL_PORT4,
336 ATCI_UT_UART_VIRTUAL_PORT5,
337 ATCI_UT_UART_VIRTUAL_PORT6, //CMUX extention port for TTL
338
339 /* CMUX virtual port for SIM2 */
340 ATCI_UT_UART_VIRTUAL_PORT7,
341 ATCI_UT_UART_VIRTUAL_PORT8,
342 ATCI_UT_UART_VIRTUAL_PORT9,
343 ATCI_UT_UART_VIRTUAL_PORT10,
344 ATCI_UT_UART_VIRTUAL_PORT11,
345 ATCI_UT_UART_VIRTUAL_PORT12,
346
347 /* no list all of CMUX_VP_NUM virtual ports */
348
349 ATCI_UT_UART_VIRTUAL_PORT_END = end_of_virtual_port,
350} atci_ut_uart_port_enum;
351
352typedef struct
353{
354 LOCAL_PARA_HDR
355 atci_ut_uart_port_enum port;
356 kal_uint8 string[MAX_UT_UART_LENGTH];
357 kal_uint16 str_len;
358} atci_ut_uart_input_ind_struct; // MSG_ID_ATCI_UT_UART_INPUT_IND
359#endif
360
361typedef enum{
362 RMMI_SCP_CMD_DISABLE = 0,
363 RMMI_SCP_CMD_ENABLE_CHANGE_OF_CELL_ID, //Phase 1: enable but report only when camping cell id has changed
364 RMMI_SCP_CMD_ENABLE_CHANGE_OF_CELL_RSSI, //Phase 2: enable but report only when camping cell's RSSI has changed
365 RMMI_SCP_CMD_END
366}rmmi_scp_cmd_enum;
367
368typedef enum{
369 RMMI_SCP_CELLINFO_GSM = 0,
370 RMMI_SCP_CELLINFO_CDMA,
371 RMMI_SCP_CELLINFO_UMTS,
372 RMMI_SCP_CELLINFO_LTE,
373 RMMI_SCP_CELLINFO_TYPE_END
374}rmmi_scp_cellinfo_type_enum;
375
376typedef struct{
377 kal_uint16 mdm_type;
378 kal_uint16 mcc;
379 kal_uint16 mnc;
380 kal_uint16 area; /* lac or tac */
381 kal_uint16 pci;
382 kal_uint16 strength; /* RSSI or RSCP or RSRP */
383 kal_uint32 cell; /* cid or uc or ci */
384 kal_uint32 isCamping; /* 0: neighbor cell; 1: camping cell */
385}rmmi_scp_cellinfo_struct;
386
387#define SCP_NBR_CELLINFO_MAX 9
388#define SCP_CELLINFO_MAX (SCP_NBR_CELLINFO_MAX+1)
389
390typedef struct{
391 kal_uint32 length;
392 rmmi_scp_cellinfo_struct info[SCP_CELLINFO_MAX];
393}rmmi_scp_cellinfo_data_struct;
394
395
396typedef struct {
397 kal_uint8 date_string[20];
398 kal_uint8 tz[4];
399 kal_uint8 dst;
400} rmmi_nitz_time_struct; // CCLK
401
402#endif