blob: 4daca9b2be05cfa764cec15aecbe2e0f9db37fe6 [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) 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/*****************************************************************************
37 *
38 * Filename:
39 * ---------
40 * nl1d_mmrf_pcore_interface.h
41 *
42 * Project:
43 * --------
44 * MT6297
45 *
46 * Description:
47 * ------------
48 * NL1D interface to Multi-Mode Multi-RAT RF Central Control
49 *
50 * Author:
51 * -------
52 * -------
53 *
54 *============================================================================
55 * HISTORY
56 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
57 *----------------------------------------------------------------------------
58 * removed!
59 * removed!
60 * removed!
61 *
62 * removed!
63 * removed!
64 * removed!
65 * removed!
66 * removed!
67 * removed!
68 *
69 * removed!
70 * removed!
71 * removed!
72 *
73 * removed!
74 * removed!
75 * removed!
76 * removed!
77 *
78 * removed!
79 * removed!
80 * removed!
81 *
82 * removed!
83 * removed!
84 *
85 * removed!
86 * removed!
87 * removed!
88 *
89 * removed!
90 * removed!
91 * removed!
92 *
93 * removed!
94 * removed!
95 * removed!
96 * removed!
97 *
98 * removed!
99 * removed!
100 * removed!
101 *
102 * removed!
103 * removed!
104 * removed!
105 *
106 * removed!
107 * removed!
108 * removed!
109 * removed!
110 *
111 * removed!
112 * removed!
113 * removed!
114 *
115 * removed!
116 * removed!
117 * removed!
118 *
119 * removed!
120 * removed!
121 * removed!
122 *
123 * removed!
124 * removed!
125 * removed!
126 * removed!
127 *
128 * removed!
129 * removed!
130 * removed!
131 *
132 * removed!
133 * removed!
134 * removed!
135 *
136 * removed!
137 * removed!
138 * removed!
139 *
140 * removed!
141 * removed!
142 *
143 * removed!
144 *
145 * removed!
146 * removed!
147 * removed!
148 *
149 * removed!
150 * removed!
151 *
152 * removed!
153 * removed!
154 *
155 * removed!
156 *
157 * removed!
158 * removed!
159 *
160 * removed!
161 *
162 * removed!
163 * removed!
164 *
165 * removed!
166 *
167 * removed!
168 * removed!
169 *
170 * removed!
171 *
172 * removed!
173 * removed!
174 * removed!
175 *
176 * removed!
177 * removed!
178 * removed!
179 *
180 * removed!
181 * removed!
182 *
183 * removed!
184 * removed!
185 *
186 * removed!
187 *
188 *
189 *----------------------------------------------------------------------------
190 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
191 *============================================================================
192 ****************************************************************************/
193
194#ifndef _NL1D_MMRF_INTERFACE_H_
195#define _NL1D_MMRF_INTERFACE_H_
196
197/*===============================================================================*/
198
199#include "kal_general_types.h"
200#include "nl1d_fe_cal_custom_data.h"
201#include "nl1_rfd_custom_data_et.h"
202#include "nl1_etdpd_public.h"
203#include "nl1_rfd_custom_data_dpd.h"
204#include "mml1_rf_cal_interface.h"
205#include "mml1_etdpd_custom_data.h"
206#include "mml1_cdf_sku_mgr.h"
207#include "mml1_tpc_custom_data.h"
208
209#include "nl1_comm_inter_core_public.h" //for NL1_BAND_E
210
211/*===============================================================================*/
212
213/*******************************************************************************
214 * #include
215 ******************************************************************************/
216
217/*******************************************************************************
218 * #define
219 ******************************************************************************/
220#define NL1D_CAL_BITMAP (MMRFC_POC_CAL_ORDER_START_CAL_MODE |\
221 MMRFC_POC_CAL_ORDER_DET_CDCOC |\
222 MMRFC_POC_CAL_ORDER_TX_ABB_3dB |\
223 MMRFC_POC_CAL_ORDER_DET_DC |\
224 MMRFC_POC_CAL_ORDER_DET_IQ |\
225 MMRFC_POC_CAL_ORDER_DET_FDADPCB |\
226 MMRFC_POC_CAL_ORDER_TX_CDCOC |\
227 MMRFC_POC_CAL_ORDER_TX_RC_3dB |\
228 MMRFC_POC_CAL_ORDER_TX_PRE_CAP_TUNING |\
229 MMRFC_POC_CAL_ORDER_TX_FD_IQ |\
230 MMRFC_POC_CAL_ORDER_TX_FI_IQ_DC |\
231 MMRFC_POC_CAL_ORDER_TX_GA |\
232 MMRFC_POC_CAL_ORDER_TX_DNL |\
233 MMRFC_POC_CAL_ORDER_TX_CAP_TUNING |\
234 MMRFC_POC_CAL_ORDER_TX_IRR |\
235 MMRFC_POC_CAL_ORDER_END_CAL_MODE |\
236 MMRFC_POC_CAL_ORDER_RX_DCOC |\
237 MMRFC_POC_CAL_ORDER_RX_LC |\
238 MMRFC_POC_CAL_ORDER_RX_IRR |\
239 MMRFC_POC_CAL_ORDER_RX_ABB |\
240 MMRFC_POC_CAL_ORDER_RX_IIP2 |\
241 MMRFC_POC_CAL_ORDER_RX_TX_LEAKAGE)
242
243/*******************************************************************************
244 * typedef
245 ******************************************************************************/
246/** Structure Prototypes can be seen by other files**/
247typedef enum
248{
249 NL1_RFD_CONNECTION_TYPE_UL,
250 NL1_RFD_CONNECTION_TYPE_DL,
251 NL1_RFD_CONNECTION_TYPE_MAX_NUM,
252} NL1_RFD_CONNECTION_TYPE_E;
253
254/*******************************************************************************
255 * Global Functions Prototype (Interface)
256 ******************************************************************************/
257/** Function Prototypes can be used by other files **/
258
259
260NR_RF_CAL_DATA_T* NL1_RFD_Get_RF_CAL_DATA_Addr(void);
261void NL1_RFD_Get_Band_Freq_Boundary(MMRF_COMMON_BAND_IDX_E band, NL1_RFD_CONNECTION_TYPE_E indicator, kal_uint32* p_low_freq_bd, kal_uint32* p_high_freq_bd);
262void NL1_RFD_SAR_Query_Custom_Setting(MML1_CDF_SKU_MGR_QUERY_USAGE_LIST_PARAM_T *usage_list_param_p, const void **tx_sar_tbl_addr, const void **sul_sar_tbl_addr);
263
264MMET_CTRL_DATABASE_T* NL1_ET_Get_Ctrl_Data_Addr(void);
265MMDPD_CTRL_DATABASE_T* NL1_DPD_Get_Ctrl_Data_Addr(void);
266MML1_RFFE_CAL_TX_DEFAULT_TBL_T* NL1_ET_Get_Cal_Map_Tbl_Addr(MML1_CDF_SKU_MGR_COMP_ROUTE_E comp_route_idx);
267MML1_RFFE_CAL_TX_DEFAULT_TBL_T* NL1_DPD_Get_Cal_Map_Tbl_Addr(MML1_CDF_SKU_MGR_COMP_ROUTE_E comp_route_idx);
268MMET_CAL_DATABASE_T* NL1_ET_Get_Cal_Data_Addr(kal_uint16 blk_idx);
269MMDPD_CAL_DATABASE_T* NL1_DPD_Get_Cal_Data_Addr(kal_uint16 blk_idx);
270MMETDPD_SUBBAND_FREQUENCY_T* NL1_ET_Get_Frequency_Tbl_Addr(MML1_CDF_SKU_MGR_COMP_ROUTE_E comp_route_idx);
271MMETDPD_SUBBAND_FREQUENCY_T* NL1_DPD_Get_Frequency_Tbl_Addr(MML1_CDF_SKU_MGR_COMP_ROUTE_E comp_route_idx);
272
273void NL1_TX_LPWR_Notify_TXDFE_Calibration_Download_Start(void);
274void NL1_TX_LPWR_Notify_TXDFE_Calibration_Done(void);
275
276kal_int16 Nl1D_RF_ET_Default_Delay(kal_uint32 carrier_freq_Mhz , kal_uint32 fe_bw_idx, kal_uint8 cbw_idx);
277MMET_DBG_T* NL1D_ET_DBG_Addr(void);
278MMDPD_DBG_T* NL1_DPD_Get_Debug_Param_Addr(void);
279MMET_CTRL_DATABASE_T* NL1_ET_Get_Ctrl_Data_Addr(void);
280MMDPD_CTRL_DATABASE_T* NL1_DPD_Get_Ctrl_Data_Addr(void);
281NR_ET_NORMAL_CTRL_DATA_ALL_T* NL1D_ET_Normal_Ctrl_Database_Data_Addr(void);
282NR_DPD_NORMAL_CTRL_DATA_ALL_T* NL1_DPD_Normal_Ctrl_Database_Data_Addr(void);
283kal_uint32 NL1D_MMRF_UpdateRuntimeHandler( kal_uint32 nvram_lid, kal_uint32 record_idx, kal_uint8 *data, kal_uint16 nvram_size );
284kal_uint32 NL1_TPC_MMRF_UpdateRuntimeHandler( kal_uint32 nvram_lid, kal_uint32 record_idx, kal_uint8 *data, kal_uint16 nvram_size );
285
286
287void NL1_RFC_Cal_L1coreshmupdate2local_Txtpc(void);
288void NL1_RFC_Cal_L1coreshmupdate2local_Rxagc(void);
289
290void NL1_TST_Rf_Force_Tas(kal_bool force_tas_enable, MMRFD_CUSTOM_TAS_STATE_E tx_state, MMRFD_CUSTOM_TAS_STATE_E rx_state);
291
292kal_bool NL1_RFD_Is_Tdd_Band(NL1_BAND_E band);
293kal_bool NL1_ETDPD_Get_Processing_Cal_Flag(void);
294
295kal_uint32 NL1_ET_Get_Current_Dpd_Lut_Dimension(MMRF_COMMON_BAND_IDX_E band,MML1_RFFE_CAL_TX_BW_STEP_E fe_bw_idx,kal_bool is_edge, kal_uint32 cbw_lp_idx,kal_uint32 edge_lp_idx,kal_uint32 subband_lp_idx);
296kal_uint32 NL1_RFD_Get_Fake_Tx_Freq_For_Gapless_Meas(kal_uint32 dl_freq, NL1_BAND_E band);
297
298kal_uint32 NL1_ETDPD_Get_DPD_OTFC_Ctrl_Table_Size(void);
299const MMETDPD_DPD_OTFC_CTRL_T* NL1_ETDPD_Get_DPD_OTFC_Ctrl_Table_Addr(kal_uint32 tbl_idx);
300
301kal_uint32 NL1_ETDPD_Get_DPD_Risk_Ctrl_Table_Size(void);
302const MMETDPD_DPD_RISK_CTRL_T* NL1_ETDPD_Get_DPD_Risk_Ctrl_Table_Addr(kal_uint32 tbl_idx);
303
304kal_uint32 NL1_ETDPD_Get_DPD_Disable_Ctrl_Table_Size(void);
305const MMETDPD_DPD_DISABLE_CTRL_T* NL1_ETDPD_Get_DPD_Disable_Ctrl_Table_Addr(kal_uint32 tbl_idx);
306kal_bool NL1_ETDPD_DPD_Disable_Ctrl_DRDI_Check(kal_uint16 drdi_set_idx);
307
308#endif /* End of #ifndef _NL1D_MMRF_INTERFACE_H_ */
309