blob: 5048c2d241b9807efed41b96f8a57e8375600fac [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/******************************************************************************
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) 2007
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/******************************************************************************
37 * Filename:
38 * --------------------------------------------------------
39 * mrs_uas_capability.h
40 *
41 * Project:
42 * --------------------------------------------------------
43 * Multimode
44 *
45 * Description:
46 * --------------------------------------------------------
47 * The UAS capability stored in MRS context.
48 *
49 * Author:
50 * --------------------------------------------------------
51 * -------
52 *
53 * --------------------------------------------------------
54 * $Log$
55 *
56 * 06 11 2020 vend_mtb_aritha002
57 * [MOLY00519500] ???????19165??864039041106553????????????
58 *
59 * NR15.R3.MP
60 *
61 * 12 09 2019 vend_mtb_aritha002
62 * [MOLY00458503] [CODE SYNC][MH4P-POS] patch request about ALPS04309026
63 *
64 * Band Configuration to VMOLY
65 *
66 * 12 06 2018 yenchih.yang
67 * [MOLY00371156] [VMOLY] NRRC-SEARCH check-in.
68 * Fill physical frequency range during Power Scan.
69 *
70 * 04 18 2018 ashik.tj
71 * [MOLY00321080] ?????ALPS03474129 ???????patch--????P40 android o??
72 *
73 * 01 22 2018 muneeswaraiah.dama
74 * [MOLY00302897] [CODE SYNC] AT command (+ESCELLINFO) to modem to query serving cell band and arfcn info, when needed.
75 * .
76 *
77 * 10 14 2016 wenlong.an
78 * [MOLY00153524] [6291] Vivo BlackList feature
79 * .vivo black list sync to umolya
80 *
81 * 06 01 2015 henry.lai
82 * [MOLY00092508] [MT6291][LTE-C2K] AS Inter RAT feature
83 * .
84 *
85 * 12 16 2014 ethan.han
86 * [MOLY00087858] [RRCE] Universal Bin Modification
87 * MRS.
88 *
89 * 12 16 2014 jiajia.luo
90 * [MOLY00087491] [UMOLY][TDD][UAS][SLCE/RRCE]sync U-Bin CBr to UMOLY TRUNCK.
91 * .
92 * mrs_uas_capability (TDD RRCE part)
93 *
94 * 11 17 2014 yuhhwang.yu
95 * [MOLY00084676] [CISE] Sync CSCE/CSE from 6291_DEV to UMOLY
96 * .
97 *
98 * 01 21 2014 wcpuser_integrator
99 * [MOLY00054475] SGLTE option rename
100 * .
101 *
102 * 11 13 2013 birui.li
103 * [MOLY00046027] [MT6290E1][MMDS_DC] MMDC feature patch back to MOLY trunk
104 * B3/B39.
105 *
106 * 11 12 2013 morton.lin
107 * [MOLY00045967] [Gemini] Add SIM index in INTER RAT HANDOVER INFO set/get function
108 * SIM index argument added in MRS INTER RAT HANDOVER INFO set/get function
109 *
110 * 10 21 2013 vend_yuhhwang.yu
111 * [MOLY00040050] [MultiMode] Dynamic band selection
112 * .
113 *
114 * 03 14 2013 morton.lin
115 * [MOLY00011957] [MT6290][3G][RRCE] Multimode IT CBr merge back to MOLY
116 * MRS UAS Capability header
117 *
118 * 01 22 2013 david.niu
119 * [MOLY00009205] [MRS] Code checked-in for MOLY branch
120 * .
121 *
122 *****************************************************************************/
123
124#ifndef _MRS_UAS_CAPABILITY_H
125#define _MRS_UAS_CAPABILITY_H
126
127/* COMMON INCLUDES ***********************************************************/
128#include "irat_common_enums.h"
129#include "mrs_as_enums.h"
130#include "mrs_as_inter_core_enum.h"
131#include "mrs_as_struct.h"
132
133/*****************************************************************************
134 * Macros Without Parameters
135 *****************************************************************************/
136
137
138/*****************************************************************************
139 * Macros With Parameters
140 *****************************************************************************/
141
142
143/*****************************************************************************
144 * Enums without tags
145 *****************************************************************************/
146
147
148
149/*****************************************************************************
150 * Type Definitions
151 *****************************************************************************/
152typedef struct {
153 kal_uint32 length;
154 kal_uint8 value[MAX_LEN_UTRAN_HANDOVER_INFO_MSG];
155} ho_info_buf;
156
157typedef struct {
158 ho_info_buf fdd_iRATHOInfo_GSM;
159 ho_info_buf fdd_iRATHOInfoCompact_GSM;
160 ho_info_buf fdd_iRATHOInfo_EUTRA;
161 ho_info_buf tdd_iRATHOInfo_GSM;
162 ho_info_buf tdd_iRATHOInfoCompact_GSM;
163 ho_info_buf tdd_iRATHOInfo_EUTRA;
164
165 kal_uint16 fdd_uea;
166 kal_uint16 fdd_uia;
167 kal_uint16 tdd_uea;
168 kal_uint16 tdd_uia;
169 kal_uint32 fdd_umts_supported_band;
170
171} uas_capability_context_struct;
172
173/*****************************************************************************
174 * Declarations Of Exported Globals
175 *****************************************************************************/
176
177
178/*****************************************************************************
179 * Function prototypes
180 *****************************************************************************/
181extern void mrs_uas_set_irat_ho_info(MRS_SIM_INDEX sim_index, module_type src_mod, kal_bool needToNotify);
182
183extern void TDD_mrs_uas_set_irat_ho_info(MRS_SIM_INDEX sim_index, module_type src_mod, kal_bool needToNotify);
184
185extern void mrs_uas_get_irat_ho_info(MRS_SIM_INDEX sim_index, kal_bool isGSM, kal_bool isCompact,
186 kal_uint32 *pSize, void *pCtrlBuf);
187
188extern void mrs_uas_read_nvram_cnf_handler(kal_uint16 nvram_file_id, kal_uint8* data, kal_uint16 len);
189
190extern void mrs_uas_get_uea_uia(MRS_SIM_INDEX sim_index, kal_uint16 *uea, kal_uint16 *uia);
191#ifdef __UMTS_FDD_MODE__
192extern mrs_utra_power_class_enum mrs_uas_get_FDD_powerclass();
193#endif
194#ifdef __UMTS_TDD128_MODE__
195extern mrs_utra_power_class_enum mrs_uas_get_TDD_powerclass();
196#endif
197
198extern void mrs_uas_band_setting_update(MRS_SIM_INDEX sim_index, kal_uint32* data);
199
200void mrs_tas_add_black_cell_list_notification(void);
201void mrs_tas_clear_black_cell_list_notification(void);
202void mrs_uas_add_black_cell_list_notification(void);
203void mrs_uas_clear_black_cell_list_notification(void);
204
205#ifdef __UMTS_R11__
206kal_uint16 mrs_uas_multi_band_conversion(MRS_SIM_INDEX sim_index,
207 kal_uint16 uarfcn,
208 kal_bool useRrcMFBIList,
209 kal_uint16 band_num,
210 kal_uint16 *band_list_ptr,
211 void *pMFBI);
212#endif
213
214kal_bool mrs_uas_retrieve_dl_uarfcn_band(MRS_SIM_INDEX sim_index, kal_uint16 dl_uarfcn, kal_uint8 *band_ptr);
215kal_bool mrs_uas_is_supported_FDD_band(MRS_SIM_INDEX sim_index, kal_uint16 umts_band);
216kal_bool mrs_uas_is_supported_TDD_band(MRS_SIM_INDEX sim_index, kal_uint16 umts_band);
217
218kal_bool mrs_uas_band_setting_update_by_plmn(MRS_SIM_INDEX sim_index, mrs_plmn_id cplmn);
219
220void mrs_uas_reset_uas_supported_band(MRS_SIM_INDEX sim_index);
221kal_bool mrs_is_band_capability_update_needed(MRS_SIM_INDEX sim_index, kal_uint8 bandID);
222void mrs_uas_reset_disabled_band_to_scsi_per_plmn(MRS_SIM_INDEX sim_index, kal_uint32 band);
223
224#endif /* _MRS_UAS_CAPABILITY_H */
225