blob: 4969d98371b0e4b954133cdb3a95d56c0d0eaae8 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/******************************************************************************
2* Modification Notice:
3* --------------------------
4* This software is modified by MediaTek Inc. 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 * HISTORY
38 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
39 *------------------------------------------------------------------------------
40 * removed!
41 * removed!
42 * removed!
43 *
44 * removed!
45 * removed!
46 * removed!
47 * removed!
48 *
49 * removed!
50 * removed!
51 * removed!
52 *
53 * removed!
54 * removed!
55 * removed!
56 *
57 * removed!
58 * removed!
59 * removed!
60 *
61 * removed!
62 * removed!
63 * removed!
64 *
65 * removed!
66 * removed!
67 * removed!
68 *
69 * removed!
70 * removed!
71 *
72 * removed!
73 * removed!
74 *
75 * removed!
76 * removed!
77 *
78 * removed!
79 * removed!
80 *
81 * removed!
82 * removed!
83 * removed!
84 * removed!
85 *
86 * removed!
87 * removed!
88 *
89 * removed!
90 * removed!
91 * removed!
92 * removed!
93 *
94 * removed!
95 * removed!
96 * removed!
97 * removed!
98 *
99 * removed!
100 * removed!
101 *
102 * removed!
103 * removed!
104 * removed!
105 *
106 * removed!
107 * removed!
108 * removed!
109 *
110 * removed!
111 * removed!
112 * removed!
113 *
114 * removed!
115 * removed!
116 * removed!
117 * removed!
118 *
119 * removed!
120 * removed!
121 * removed!
122 * removed!
123 *
124 * removed!
125 * removed!
126 * removed!
127 *
128 * removed!
129 * removed!
130 *
131 * removed!
132 * removed!
133 * removed!
134 * removed!
135 *
136 * removed!
137 * removed!
138 * removed!
139 *
140 * removed!
141 * removed!
142 * removed!
143 *
144 * removed!
145 * removed!
146 * removed!
147 *
148 * removed!
149 * removed!
150 * removed!
151 *
152 * removed!
153 * removed!
154 * removed!
155 *
156 *
157 *------------------------------------------------------------------------------
158 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
159 *============================================================================*/
160/* Doxygen Group Header ****************************************************//**
161 * @addtogroup LTE_RF_PUBLIC
162 * @{
163 ******************************************************************************/
164/***************************************************************************//**
165 * @file lte_rf_public.h
166 * @author Chester-WY Chen (MTK09580)
167 * @date 2016.09.29
168 * @brief LTE RF common define for DSP and MCU
169 * @details provide public/common information in
170 ******************************************************************************/
171
172#ifndef __LTE_RF_PUBLIC_H__
173#define __LTE_RF_PUBLIC_H__
174
175/*******************************************************************************
176 * #include
177 ******************************************************************************/
178
179
180/*******************************************************************************
181 * #define
182 ******************************************************************************/
183
184#define EL1D_RF_ID_MT6176 0x00000001
185#define EL1D_RF_ID_MT6179 0x00000002
186#define EL1D_RF_ID_MT6177L 0x00000004
187#define EL1D_RF_ID_MT6177M 0x00000008
188#define EL1D_RF_ID_TRINITYE1 0x00000010
189#define EL1D_RF_ID_TRINITYL 0x00000020
190#define EL1D_RF_ID_TRINITYE2 0x00000040
191#define EL1D_RF_ID_TRINITYLE2 0x00000080
192#define EL1D_RF_ID_TRINITY2L 0x00000100
193#define EL1D_RF_ID_COLUMBUSE1 0x00000200
194
195#if (defined __MD93__)
196/** LTE Common definition */
197//need to find a proper place to put this macro under external folder(ask MMRF)
198#define RF_MAX(m,n) (((m)>(n))?(m):(n))
199//wilson: to-do, need to review this setting based on the global SKU design
200#define LTE_BIT_MASK_BUFFER_SIZE (64/32) // support 64 band at max
201//#define LTE_SPEC_SUPPORT_BAND_NUM (25)
202#define LTE_TARGET_MAX_SUPPORT_BAND_NUM (25)
203#define LTE_TARGET_MAX_HPUE_SUPPORT_BAND_NUM (1)
204#define LTE_TARGET_CCA_SUPPORT_COMB_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM*2) //1 band can have RX_xC_TX_xC, RX_xC_TX_xA(No class D case, RX_xD_TX_xC, RX_xD_TX_xA, )
205#define LTE_MAX_SUPPORT_BAND_NUM (58 + 1) // LTEBandNone
206//wilson:to-do fix it after modifying MIPI freq assert check
207//#define LTE_MAX_SUPPORT_BAND_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM + 1) // LTEBandNone
208
209// Filter Mode Feature
210#define LTE_FILTER_MAX_SUPPORT_BAND_NUM 5
211
212/** RF FE Feature related definition */
213// Spilt band Feature
214#define LTE_ERF_SPLIT_BAND 5 //How many bands need to split? Band28/Band41/Reserved
215#define LTE_ERF_MAX_SPLIT_PART 3 //Split to at most 3 parts
216
217
218//for Zion(6177M)
219#if defined(MT6177M_LTE_RF) || defined(__FEC_MT6177M_RF__)
220#define LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM)
221#define LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM + (LTE_ERF_MAX_SPLIT_PART-1) * ( LTE_ERF_SPLIT_BAND - 1))
222#define LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM + LTE_FILTER_MAX_SUPPORT_BAND_NUM + (LTE_ERF_MAX_SPLIT_PART-1) * ( LTE_ERF_SPLIT_BAND - 1))
223#define LTE_MAX_RX_TX_LINKAGE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM + LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM)
224
225#define LTE_ROUTE_TBL_SIZE_MAX ( LTE_TARGET_MAX_SUPPORT_BAND_NUM + 1 ) // single band + B44 alternative route
226#define LTE_ROUTE2_TBL_SIZE_MAX ( 1 ) // no CA support in MT6177M
227#define LTE_ROUTE_TX_TBL_SIZE_MAX ( LTE_TARGET_MAX_SUPPORT_BAND_NUM + 1 ) // single band + B44 alternative route
228#define LTE_USAGE_TBL_SIZE_MAX LTE_MAX_RX_TX_LINKAGE_NUM
229
230// Enable DL/UL RF CA support only for Merlot with 6177M
231#if (defined(__MT6177M_RFCCA_SUPPORT__) || defined(__FEC_MT6177M_RF__)) && defined(MT6761)
232#define IS_LTE_RF_DL_CA_SUPPORT 1
233#define IS_LTE_RF_UL_CA_SUPPORT 1
234#else
235#define IS_LTE_RF_DL_CA_SUPPORT 0
236#define IS_LTE_RF_UL_CA_SUPPORT 0
237#endif
238
239//for Bianco(6177L)
240#else
241#define LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM (160) //80*2
242#define LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM (88)
243#define LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM * 2)
244#define LTE_MAX_RX_TX_LINKAGE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM + LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM)
245
246#define LTE_ROUTE_TBL_SIZE_MAX ( 88 ) // number of single-band*4(88)
247#define LTE_ROUTE2_TBL_SIZE_MAX ( 22 ) // number of single-band*1(22), (Only 11 band support NCCA in 3GPP spec, and NCCA may have TWO RF route.)
248#define LTE_ROUTE_TX_TBL_SIZE_MAX (LTE_TARGET_MAX_SUPPORT_BAND_NUM * 2) // number of single-band*3(66)
249#define LTE_USAGE_TBL_SIZE_MAX LTE_MAX_RX_TX_LINKAGE_NUM
250
251#define IS_LTE_RF_DL_CA_SUPPORT 1
252#define IS_LTE_RF_UL_CA_SUPPORT 1
253
254#endif
255#define LTE_MAX_SUPPORT_FE_ROUTE_NUM RF_MAX((LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM), (LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM))
256
257#elif (defined __MD95__)
258/********************************************************************************************************************
259 * !!!! [KH] the following defines come from 95DEV, need to refine and co-exsited with the above defines !!!! **
260*********************************************************************************************************************/
261#define LTE_BIT_MASK_BUFFER_SIZE (64/32) // support 64 band at max
262
263#define LTE_TARGET_SUPPORT_BAND_NUM_MAX (25)
264#define LTE_ROUTE_TX_TBL_SIZE_MAX (LTE_TARGET_SUPPORT_BAND_NUM_MAX * 2) // number of single-band*2(50)
265
266/** LTE Common definition */
267//need to find a proper place to put this macro under external folder(ask MMRF)
268#define RF_MAX(m,n) (((m)>(n))?(m):(n))
269//#define LTE_SPEC_SUPPORT_BAND_NUM (25)
270#define LTE_TARGET_MAX_SUPPORT_BAND_NUM LTE_TARGET_SUPPORT_BAND_NUM_MAX
271#define LTE_TARGET_MAX_HPUE_SUPPORT_BAND_NUM (1)
272#define LTE_TARGET_CCA_SUPPORT_COMB_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM*2) //1 band can have RX_xC_TX_xC, RX_xC_TX_xA(No class D case, RX_xD_TX_xC, RX_xD_TX_xA, )
273#define LTE_MAX_SUPPORT_BAND_NUM (58 + 1) // LTEBandNone
274
275/** RF FE Feature related definition */
276// Spilt band Feature
277#define LTE_ERF_SPLIT_BAND 5 //How many bands need to split? Band28/Band41/Reserved
278#define LTE_ERF_MAX_SPLIT_PART 3 //Split to at most 3 parts
279
280//for Trinity E1 &L
281//todo: If DSP needs to use the define as below, they need to add their compile option (like __FEC_MT6177M_RF__ in 93).
282 #if defined(TRINITYE1_LTE_RF) || defined(MT6190_LTE_RF) || defined(MT6190T_LTE_RF) || defined(MT6190M_LTE_RF) || defined(MT6195_LTE_RF)
283
284#define IS_LTE_RF_DL_CA_SUPPORT 1
285#define IS_LTE_RF_UL_CA_SUPPORT 1
286#define IS_LTE_RF_DL_MIMO_SUPPORT (1)
287
288/**********************************************************************************************************
289 * Route/Usage table size Define *
290 * *
291 * Formula of table size calculation: (XXX_Band_Num * YYY_Route_Per_Band + YYY_Route_Extra) *
292 * *
293 * LTE_TARGET_MAX_SUPPORT_BAND_NUM (25) *
294 * LTE_TARGET_MAX_SUPPORT_RX_4X4_BAND_NUM (10) *
295 * LTE_TARGET_MAX_SUPPORT_NCCA_BAND_NUM (11) *
296 * *
297 * LTE_RX_FE_ROUTE_PER_BAND (3) LTE_RX_FE_ROUTE_EXTRA (13) *
298 * LTE_RX_FE_4X4_ROUTE_PER_BAND (2) LTE_RX_FE_4X4_ROUTE_EXTRA (0) *
299 * LTE_TX_FE_ROUTE_PER_BAND (2) LTE_TX_FE_ROUTE_EXTRA (0) *
300 * *
301 * LTE_RX_TYPE1_COMP_ROUTE_PER_BAND (3) LTE_RX_TYPE1_COMP_ROUTE_EXTRA (13) *
302 * LTE_RX_TYPE2_COMP_ROUTE_PER_BAND (2) LTE_RX_TYPE2_COMP_ROUTE_EXTRA (0) *
303 * LTE_TX_COMP_ROUTE_PER_BAND (2) LTE_TX_COMP_ROUTE_EXTRA (0) *
304 * *
305 * LTE_RX_TYPE1_TOTAL_ROUTE_PER_BAND (3) LTE_RX_TYPE1_TOTAL_ROUTE_EXTRA (13) *
306 * LTE_RX_TYPE2_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE2_TOTAL_ROUTE_EXTRA (0) *
307 * LTE_RX_TYPE3_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE3_TOTAL_ROUTE_EXTRA (0) *
308 * LTE_RX_TYPE4_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE4_TOTAL_ROUTE_EXTRA (0) *
309 * LTE_TX_TOTAL_ROUTE_PER_BAND (2) LTE_TX_TOTAL_ROUTE_EXTRA (0) *
310 **********************************************************************************************************/
311
312#define LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM (88)
313#define LTE_MAX_SUPPORT_RX_FE_ROUTE_4X4_NUM (20)
314#define LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM * 2)
315
316#define LTE_MAX_RX_TYPE1_COMP_ROUTE_NUM (88)
317#define LTE_MAX_RX_TYPE2_COMP_ROUTE_NUM (22)
318#define LTE_MAX_TX_COMP_ROUTE_NUM (50)
319
320#define EL1D_ROUTE_TBL_SIZE_MAX (88)
321#define EL1D_ROUTE2_TBL_SIZE_MAX (22)
322#define EL1D_ROUTE3_TBL_SIZE_MAX (50)
323#define EL1D_ROUTE4_TBL_SIZE_MAX (22)
324#define EL1D_ROUTE_TX_TBL_SIZE_MAX LTE_ROUTE_TX_TBL_SIZE_MAX
325
326/* MAX_SUPPORT_CA_BAND_NUM = TOTAL_HW_COMBINATION(1SRX_MIMO_CFG, 2SRX_ALL_CFG, 3SRX_ALL_CFG, 4SRX_ALL_CFG) */
327#define LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM (300)
328#define LTE_MAX_RX_TX_LINKAGE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM + LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM)
329 /* where the last element is for end pattern for linkage parsing flow.*/
330#define EL1D_USAGE_TBL_SIZE_MAX (LTE_MAX_RX_TX_LINKAGE_NUM)
331
332#define LTE_MAX_SUPPORT_FE_ROUTE_NUM RF_MAX((LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM), (LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM))
333
334//CCA Capability API use
335#define LTE_TX_FE_ROUTE_PER_BAND_MAX (10)
336#define LTE_TX_COMP_ROUTE_PER_BAND_MAX (10)
337
338#elif defined(MT6185M_LTE_RF) || defined(MT6186_LTE_RF)|| defined(MT6186M_LTE_RF)
339#define IS_LTE_RF_DL_CA_SUPPORT 1
340#define IS_LTE_RF_UL_CA_SUPPORT 1
341#define IS_LTE_RF_DL_MIMO_SUPPORT (1)
342
343/**********************************************************************************************************
344 * Route/Usage table size Define *
345 * *
346 * Formula of table size calculation: (XXX_Band_Num * YYY_Route_Per_Band + YYY_Route_Extra) *
347 * *
348 * LTE_TARGET_MAX_SUPPORT_BAND_NUM (25) *
349 * LTE_TARGET_MAX_SUPPORT_RX_4X4_BAND_NUM (10) *
350 * LTE_TARGET_MAX_SUPPORT_NCCA_BAND_NUM (11) *
351 * *
352 * LTE_RX_FE_ROUTE_PER_BAND (3) LTE_RX_FE_ROUTE_EXTRA (13) *
353 * LTE_RX_FE_4X4_ROUTE_PER_BAND (2) LTE_RX_FE_4X4_ROUTE_EXTRA (0) *
354 * LTE_TX_FE_ROUTE_PER_BAND (2) LTE_TX_FE_ROUTE_EXTRA (0) *
355 * *
356 * LTE_RX_TYPE1_COMP_ROUTE_PER_BAND (3) LTE_RX_TYPE1_COMP_ROUTE_EXTRA (13) *
357 * LTE_RX_TYPE2_COMP_ROUTE_PER_BAND (2) LTE_RX_TYPE2_COMP_ROUTE_EXTRA (0) *
358 * LTE_TX_COMP_ROUTE_PER_BAND (2) LTE_TX_COMP_ROUTE_EXTRA (0) *
359 * *
360 * LTE_RX_TYPE1_TOTAL_ROUTE_PER_BAND (3) LTE_RX_TYPE1_TOTAL_ROUTE_EXTRA (13) *
361 * LTE_RX_TYPE2_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE2_TOTAL_ROUTE_EXTRA (0) *
362 * LTE_RX_TYPE3_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE3_TOTAL_ROUTE_EXTRA (0) *
363 * LTE_RX_TYPE4_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE4_TOTAL_ROUTE_EXTRA (0) *
364 * LTE_TX_TOTAL_ROUTE_PER_BAND (2) LTE_TX_TOTAL_ROUTE_EXTRA (0) *
365 **********************************************************************************************************/
366
367#define LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM (88)
368#define LTE_MAX_SUPPORT_RX_FE_ROUTE_4X4_NUM (20)
369#define LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM * 2)
370
371#define LTE_MAX_RX_TYPE1_COMP_ROUTE_NUM (88)
372#define LTE_MAX_RX_TYPE2_COMP_ROUTE_NUM (22)
373#define LTE_MAX_TX_COMP_ROUTE_NUM (50)
374
375#define EL1D_ROUTE_TBL_SIZE_MAX (88)
376#define EL1D_ROUTE2_TBL_SIZE_MAX (22)
377#define EL1D_ROUTE3_TBL_SIZE_MAX (50)
378#define EL1D_ROUTE4_TBL_SIZE_MAX (22)
379#define EL1D_ROUTE_TX_TBL_SIZE_MAX LTE_ROUTE_TX_TBL_SIZE_MAX
380
381/* MAX_SUPPORT_CA_BAND_NUM = TOTAL_HW_COMBINATION(1SRX_MIMO_CFG, 2SRX_ALL_CFG, 3SRX_ALL_CFG, 4SRX_ALL_CFG) */
382#define LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM (300)
383#define LTE_MAX_RX_TX_LINKAGE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM + LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM)
384 /* where the last element is for end pattern for linkage parsing flow.*/
385#define EL1D_USAGE_TBL_SIZE_MAX (LTE_MAX_RX_TX_LINKAGE_NUM)
386
387#define LTE_MAX_SUPPORT_FE_ROUTE_NUM RF_MAX((LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM), (LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM))
388
389//CCA Capability API use
390#define LTE_TX_FE_ROUTE_PER_BAND_MAX (10)
391#define LTE_TX_COMP_ROUTE_PER_BAND_MAX (10)
392#else
393#define IS_LTE_RF_DL_CA_SUPPORT 1
394#define IS_LTE_RF_UL_CA_SUPPORT 1
395#define IS_LTE_RF_DL_MIMO_SUPPORT (1)
396
397/**********************************************************************************************************
398 * Route/Usage table size Define *
399 * *
400 * Formula of table size calculation: (XXX_Band_Num * YYY_Route_Per_Band + YYY_Route_Extra) *
401 * *
402 * LTE_TARGET_MAX_SUPPORT_BAND_NUM (25) *
403 * LTE_TARGET_MAX_SUPPORT_RX_4X4_BAND_NUM (10) *
404 * LTE_TARGET_MAX_SUPPORT_NCCA_BAND_NUM (11) *
405 * *
406 * LTE_RX_FE_ROUTE_PER_BAND (3) LTE_RX_FE_ROUTE_EXTRA (13) *
407 * LTE_RX_FE_4X4_ROUTE_PER_BAND (2) LTE_RX_FE_4X4_ROUTE_EXTRA (0) *
408 * LTE_TX_FE_ROUTE_PER_BAND (2) LTE_TX_FE_ROUTE_EXTRA (0) *
409 * *
410 * LTE_RX_TYPE1_COMP_ROUTE_PER_BAND (3) LTE_RX_TYPE1_COMP_ROUTE_EXTRA (13) *
411 * LTE_RX_TYPE2_COMP_ROUTE_PER_BAND (2) LTE_RX_TYPE2_COMP_ROUTE_EXTRA (0) *
412 * LTE_TX_COMP_ROUTE_PER_BAND (2) LTE_TX_COMP_ROUTE_EXTRA (0) *
413 * *
414 * LTE_RX_TYPE1_TOTAL_ROUTE_PER_BAND (3) LTE_RX_TYPE1_TOTAL_ROUTE_EXTRA (13) *
415 * LTE_RX_TYPE2_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE2_TOTAL_ROUTE_EXTRA (0) *
416 * LTE_RX_TYPE3_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE3_TOTAL_ROUTE_EXTRA (0) *
417 * LTE_RX_TYPE4_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE4_TOTAL_ROUTE_EXTRA (0) *
418 * LTE_TX_TOTAL_ROUTE_PER_BAND (2) LTE_TX_TOTAL_ROUTE_EXTRA (0) *
419 **********************************************************************************************************/
420
421#define LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM (88)
422#define LTE_MAX_SUPPORT_RX_FE_ROUTE_4X4_NUM (20)
423#define LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM * 2)
424
425#define LTE_MAX_RX_TYPE1_COMP_ROUTE_NUM (88)
426#define LTE_MAX_RX_TYPE2_COMP_ROUTE_NUM (22)
427#define LTE_MAX_TX_COMP_ROUTE_NUM (50)
428
429#define EL1D_ROUTE_TBL_SIZE_MAX (88)
430#define EL1D_ROUTE2_TBL_SIZE_MAX (22)
431#define EL1D_ROUTE3_TBL_SIZE_MAX (50)
432#define EL1D_ROUTE4_TBL_SIZE_MAX (22)
433#define EL1D_ROUTE_TX_TBL_SIZE_MAX LTE_ROUTE_TX_TBL_SIZE_MAX
434
435/* MAX_SUPPORT_CA_BAND_NUM = TOTAL_HW_COMBINATION(1SRX_MIMO_CFG, 2SRX_ALL_CFG, 3SRX_ALL_CFG, 4SRX_ALL_CFG) */
436#define LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM (300)
437#define LTE_MAX_RX_TX_LINKAGE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM + LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM)
438 /* where the last element is for end pattern for linkage parsing flow.*/
439#define EL1D_USAGE_TBL_SIZE_MAX (LTE_MAX_RX_TX_LINKAGE_NUM)
440
441#define LTE_MAX_SUPPORT_FE_ROUTE_NUM RF_MAX((LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM), (LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM))
442
443//CCA Capability API use
444#define LTE_TX_FE_ROUTE_PER_BAND_MAX (10)
445#define LTE_TX_COMP_ROUTE_PER_BAND_MAX (10)
446#endif
447
448#elif (defined __MD97__)||(defined __MD97P__)
449/********************************************************************************************************************
450 * !!!! [KH] the following defines come from 95DEV, need to refine and co-exsited with the above defines !!!! **
451*********************************************************************************************************************/
452#define LTE_BIT_MASK_BUFFER_SIZE (96/32) // support 96 band at max
453#if defined(__SINGLE_BAND_NUM_EXTENDED__)
454#define LTE_TARGET_SUPPORT_BAND_NUM_MAX (35)
455#else
456#define LTE_TARGET_SUPPORT_BAND_NUM_MAX (25)
457#endif
458#define LTE_ROUTE_TX_TBL_SIZE_MAX (LTE_TARGET_SUPPORT_BAND_NUM_MAX * 2) // number of single-band*2(50)
459
460/** LTE Common definition */
461//need to find a proper place to put this macro under external folder(ask MMRF)
462#define RF_MAX(m,n) (((m)>(n))?(m):(n))
463//#define LTE_SPEC_SUPPORT_BAND_NUM (25)
464#define LTE_TARGET_MAX_SUPPORT_BAND_NUM LTE_TARGET_SUPPORT_BAND_NUM_MAX
465#define LTE_TARGET_MAX_HPUE_SUPPORT_BAND_NUM (1)
466#define LTE_TARGET_CCA_SUPPORT_COMB_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM*2) //1 band can have RX_xC_TX_xC, RX_xC_TX_xA(No class D case, RX_xD_TX_xC, RX_xD_TX_xA, )
467#define LTE_MAX_SUPPORT_BAND_NUM (58 + 1) // LTEBandNone
468
469/** RF FE Feature related definition */
470// Spilt band Feature
471#define LTE_ERF_SPLIT_BAND 5 //How many bands need to split? Band28/Band41/Reserved
472#define LTE_ERF_MAX_SPLIT_PART 3 //Split to at most 3 parts
473
474//for Trinity E1 &L
475//todo: If DSP needs to use the define as below, they need to add their compile option (like __FEC_MT6177M_RF__ in 93).
476 #if defined(TRINITYE1_LTE_RF) || defined(MT6190_LTE_RF) || defined(MT6190T_LTE_RF) || defined(MT6190M_LTE_RF) || defined(MT6195_LTE_RF)
477
478#define IS_LTE_RF_DL_CA_SUPPORT 1
479#define IS_LTE_RF_UL_CA_SUPPORT 1
480#define IS_LTE_RF_DL_MIMO_SUPPORT (1)
481
482/**********************************************************************************************************
483 * Route/Usage table size Define *
484 * *
485 * Formula of table size calculation: (XXX_Band_Num * YYY_Route_Per_Band + YYY_Route_Extra) *
486 * *
487 * LTE_TARGET_MAX_SUPPORT_BAND_NUM (25) *
488 * LTE_TARGET_MAX_SUPPORT_RX_4X4_BAND_NUM (10) *
489 * LTE_TARGET_MAX_SUPPORT_NCCA_BAND_NUM (11) *
490 * *
491 * LTE_RX_FE_ROUTE_PER_BAND (3) LTE_RX_FE_ROUTE_EXTRA (13) *
492 * LTE_RX_FE_4X4_ROUTE_PER_BAND (2) LTE_RX_FE_4X4_ROUTE_EXTRA (0) *
493 * LTE_TX_FE_ROUTE_PER_BAND (2) LTE_TX_FE_ROUTE_EXTRA (0) *
494 * *
495 * LTE_RX_TYPE1_COMP_ROUTE_PER_BAND (3) LTE_RX_TYPE1_COMP_ROUTE_EXTRA (13) *
496 * LTE_RX_TYPE2_COMP_ROUTE_PER_BAND (2) LTE_RX_TYPE2_COMP_ROUTE_EXTRA (0) *
497 * LTE_TX_COMP_ROUTE_PER_BAND (2) LTE_TX_COMP_ROUTE_EXTRA (0) *
498 * *
499 * LTE_RX_TYPE1_TOTAL_ROUTE_PER_BAND (3) LTE_RX_TYPE1_TOTAL_ROUTE_EXTRA (13) *
500 * LTE_RX_TYPE2_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE2_TOTAL_ROUTE_EXTRA (0) *
501 * LTE_RX_TYPE3_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE3_TOTAL_ROUTE_EXTRA (0) *
502 * LTE_RX_TYPE4_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE4_TOTAL_ROUTE_EXTRA (0) *
503 * LTE_TX_TOTAL_ROUTE_PER_BAND (2) LTE_TX_TOTAL_ROUTE_EXTRA (0) *
504 **********************************************************************************************************/
505
506#define LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM (88)
507#define LTE_MAX_SUPPORT_RX_FE_ROUTE_4X4_NUM (20)
508#define LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM * 2)
509
510#define LTE_MAX_RX_TYPE1_COMP_ROUTE_NUM (88)
511#define LTE_MAX_RX_TYPE2_COMP_ROUTE_NUM (22)
512#define LTE_MAX_TX_COMP_ROUTE_NUM (50)
513
514#define EL1D_ROUTE_TBL_SIZE_MAX (88)
515#define EL1D_ROUTE2_TBL_SIZE_MAX (22)
516#define EL1D_ROUTE3_TBL_SIZE_MAX (50)
517#define EL1D_ROUTE4_TBL_SIZE_MAX (22)
518#define EL1D_ROUTE_TX_TBL_SIZE_MAX LTE_ROUTE_TX_TBL_SIZE_MAX
519
520/* MAX_SUPPORT_CA_BAND_NUM = TOTAL_HW_COMBINATION(1SRX_MIMO_CFG, 2SRX_ALL_CFG, 3SRX_ALL_CFG, 4SRX_ALL_CFG) */
521#define LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM (300)
522#define LTE_MAX_RX_TX_LINKAGE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM + LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM)
523#define EL1D_USAGE_TBL_SIZE_MAX (LTE_MAX_RX_TX_LINKAGE_NUM)
524
525#define LTE_MAX_SUPPORT_FE_ROUTE_NUM RF_MAX((LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM), (LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM))
526
527//CCA Capability API use
528#define LTE_TX_FE_ROUTE_PER_BAND_MAX (10)
529#define LTE_TX_COMP_ROUTE_PER_BAND_MAX (10)
530
531 #elif defined(MT6185M_LTE_RF)
532#define IS_LTE_RF_DL_CA_SUPPORT 1
533#define IS_LTE_RF_UL_CA_SUPPORT 1
534#define IS_LTE_RF_DL_MIMO_SUPPORT (1)
535
536/**********************************************************************************************************
537 * Route/Usage table size Define *
538 * *
539 * Formula of table size calculation: (XXX_Band_Num * YYY_Route_Per_Band + YYY_Route_Extra) *
540 * *
541 * LTE_TARGET_MAX_SUPPORT_BAND_NUM (25) *
542 * LTE_TARGET_MAX_SUPPORT_RX_4X4_BAND_NUM (10) *
543 * LTE_TARGET_MAX_SUPPORT_NCCA_BAND_NUM (11) *
544 * *
545 * LTE_RX_FE_ROUTE_PER_BAND (3) LTE_RX_FE_ROUTE_EXTRA (13) *
546 * LTE_RX_FE_4X4_ROUTE_PER_BAND (2) LTE_RX_FE_4X4_ROUTE_EXTRA (0) *
547 * LTE_TX_FE_ROUTE_PER_BAND (2) LTE_TX_FE_ROUTE_EXTRA (0) *
548 * *
549 * LTE_RX_TYPE1_COMP_ROUTE_PER_BAND (3) LTE_RX_TYPE1_COMP_ROUTE_EXTRA (13) *
550 * LTE_RX_TYPE2_COMP_ROUTE_PER_BAND (2) LTE_RX_TYPE2_COMP_ROUTE_EXTRA (0) *
551 * LTE_TX_COMP_ROUTE_PER_BAND (2) LTE_TX_COMP_ROUTE_EXTRA (0) *
552 * *
553 * LTE_RX_TYPE1_TOTAL_ROUTE_PER_BAND (3) LTE_RX_TYPE1_TOTAL_ROUTE_EXTRA (13) *
554 * LTE_RX_TYPE2_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE2_TOTAL_ROUTE_EXTRA (0) *
555 * LTE_RX_TYPE3_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE3_TOTAL_ROUTE_EXTRA (0) *
556 * LTE_RX_TYPE4_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE4_TOTAL_ROUTE_EXTRA (0) *
557 * LTE_TX_TOTAL_ROUTE_PER_BAND (2) LTE_TX_TOTAL_ROUTE_EXTRA (0) *
558 **********************************************************************************************************/
559
560#define LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM (88)
561#define LTE_MAX_SUPPORT_RX_FE_ROUTE_4X4_NUM (20)
562#define LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM * 2)
563
564#define LTE_MAX_RX_TYPE1_COMP_ROUTE_NUM (88)
565#define LTE_MAX_RX_TYPE2_COMP_ROUTE_NUM (22)
566#define LTE_MAX_TX_COMP_ROUTE_NUM (50)
567
568#define EL1D_ROUTE_TBL_SIZE_MAX (88)
569#define EL1D_ROUTE2_TBL_SIZE_MAX (22)
570#define EL1D_ROUTE3_TBL_SIZE_MAX (50)
571#define EL1D_ROUTE4_TBL_SIZE_MAX (22)
572#define EL1D_ROUTE_TX_TBL_SIZE_MAX LTE_ROUTE_TX_TBL_SIZE_MAX
573
574/* MAX_SUPPORT_CA_BAND_NUM = TOTAL_HW_COMBINATION(1SRX_MIMO_CFG, 2SRX_ALL_CFG, 3SRX_ALL_CFG, 4SRX_ALL_CFG) */
575#define LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM (300)
576#define LTE_MAX_RX_TX_LINKAGE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM + LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM)
577#define EL1D_USAGE_TBL_SIZE_MAX (LTE_MAX_RX_TX_LINKAGE_NUM)
578
579#define LTE_MAX_SUPPORT_FE_ROUTE_NUM RF_MAX((LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM), (LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM))
580
581//CCA Capability API use
582#define LTE_TX_FE_ROUTE_PER_BAND_MAX (10)
583#define LTE_TX_COMP_ROUTE_PER_BAND_MAX (10)
584 #else
585#define IS_LTE_RF_DL_CA_SUPPORT 1
586#define IS_LTE_RF_UL_CA_SUPPORT 1
587#define IS_LTE_RF_DL_MIMO_SUPPORT (1)
588
589/**********************************************************************************************************
590 * Route/Usage table size Define *
591 * *
592 * Formula of table size calculation: (XXX_Band_Num * YYY_Route_Per_Band + YYY_Route_Extra) *
593 * *
594 * LTE_TARGET_MAX_SUPPORT_BAND_NUM (25) *
595 * LTE_TARGET_MAX_SUPPORT_RX_4X4_BAND_NUM (10) *
596 * LTE_TARGET_MAX_SUPPORT_NCCA_BAND_NUM (11) *
597 * *
598 * LTE_RX_FE_ROUTE_PER_BAND (3) LTE_RX_FE_ROUTE_EXTRA (13) *
599 * LTE_RX_FE_4X4_ROUTE_PER_BAND (2) LTE_RX_FE_4X4_ROUTE_EXTRA (0) *
600 * LTE_TX_FE_ROUTE_PER_BAND (2) LTE_TX_FE_ROUTE_EXTRA (0) *
601 * *
602 * LTE_RX_TYPE1_COMP_ROUTE_PER_BAND (3) LTE_RX_TYPE1_COMP_ROUTE_EXTRA (13) *
603 * LTE_RX_TYPE2_COMP_ROUTE_PER_BAND (2) LTE_RX_TYPE2_COMP_ROUTE_EXTRA (0) *
604 * LTE_TX_COMP_ROUTE_PER_BAND (2) LTE_TX_COMP_ROUTE_EXTRA (0) *
605 * *
606 * LTE_RX_TYPE1_TOTAL_ROUTE_PER_BAND (3) LTE_RX_TYPE1_TOTAL_ROUTE_EXTRA (13) *
607 * LTE_RX_TYPE2_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE2_TOTAL_ROUTE_EXTRA (0) *
608 * LTE_RX_TYPE3_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE3_TOTAL_ROUTE_EXTRA (0) *
609 * LTE_RX_TYPE4_TOTAL_ROUTE_PER_BAND (2) LTE_RX_TYPE4_TOTAL_ROUTE_EXTRA (0) *
610 * LTE_TX_TOTAL_ROUTE_PER_BAND (2) LTE_TX_TOTAL_ROUTE_EXTRA (0) *
611 **********************************************************************************************************/
612
613#define LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM (88)
614#define LTE_MAX_SUPPORT_RX_FE_ROUTE_4X4_NUM (20)
615#define LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM * 2)
616
617#define LTE_MAX_RX_TYPE1_COMP_ROUTE_NUM (88)
618#define LTE_MAX_RX_TYPE2_COMP_ROUTE_NUM (22)
619#define LTE_MAX_TX_COMP_ROUTE_NUM (50)
620
621#define EL1D_ROUTE_TBL_SIZE_MAX (88)
622#define EL1D_ROUTE2_TBL_SIZE_MAX (22)
623#define EL1D_ROUTE3_TBL_SIZE_MAX (50)
624#define EL1D_ROUTE4_TBL_SIZE_MAX (22)
625#define EL1D_ROUTE_TX_TBL_SIZE_MAX LTE_ROUTE_TX_TBL_SIZE_MAX
626
627/* MAX_SUPPORT_CA_BAND_NUM = TOTAL_HW_COMBINATION(1SRX_MIMO_CFG, 2SRX_ALL_CFG, 3SRX_ALL_CFG, 4SRX_ALL_CFG) */
628#define LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM (300)
629#define LTE_MAX_RX_TX_LINKAGE_NUM (LTE_TARGET_MAX_SUPPORT_BAND_NUM + LTE_TARGET_MAX_SUPPORT_CA_BAND_NUM)
630#define EL1D_USAGE_TBL_SIZE_MAX (LTE_MAX_RX_TX_LINKAGE_NUM)
631
632#define LTE_MAX_SUPPORT_FE_ROUTE_NUM RF_MAX((LTE_MAX_SUPPORT_RX_FE_ROUTE_NUM), (LTE_MAX_SUPPORT_TX_FE_ROUTE_NUM))
633
634//CCA Capability API use
635#define LTE_TX_FE_ROUTE_PER_BAND_MAX (10)
636#define LTE_TX_COMP_ROUTE_PER_BAND_MAX (10)
637 #endif
638
639#else
640#error "Should define at least a kind of BB being used."
641#endif
642
643/*******************************************************************************
644 * Typedef
645 ******************************************************************************/
646
647/*******************************************************************************
648 * Constant
649 ******************************************************************************/
650
651/*******************************************************************************
652 * Global variables (Extern)
653 ******************************************************************************/
654
655/*******************************************************************************
656 * Global Functions Prototype (Interface)
657 ******************************************************************************/
658
659#endif /*__LTE_RF_PUBLIC_H__*/
660
661/* Doxygen Group End ***************************************************//**@}*/