blob: 2d28618e74ef3e45fcc0fb1197933c5352acfc9b [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 * uas_common_enums.h
40 *
41 * Project:
42 * --------
43 * MONZA
44 *
45 * Description:
46 * ------------
47 *
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 * ----------------------------------------------------------------------------
54 * $Log:$
55 *
56 * 04 20 2018 vend_mtb_bpt002
57 * [MOLY00321207] eFuse invoke protection from UL2
58 * .
59 *
60 * 07 28 2017 hamilton.liang
61 * [MOLY00266853] [Bianco/Zion] gmn sw check-in
62 *
63 * GMN SW for 3G L2 part
64 *
65 * 04 12 2017 cen.chen
66 * [MOLY00240270] [6293][Gemini][T+W] Phase 1: Common Interface Changes Check in.
67 * UAS_TDD_RRCE part.
68 *
69 * 04 12 2017 jen-de.lai
70 * [MOLY00240270] [6293][Gemini][T+W] Phase 1: Common Interface Changes Check in
71 *
72 * 03 31 2017 jen-de.lai
73 * [MOLY00195317] [URLC][TX] - Gen93 URLC TX code modification for new HW and MCU Archi
74 *
75 * [UL2] - FDD T+W ubin share memory
76 *
77 * 01 12 2016 charlescm.wu
78 * [MOLY00156239] [UMOLY][LR11] 3G FDD/TDD L2 big size memory union
79 * [FDD|TDD common] UBin 3G L2 memory reduction by union
80 *
81 * 08 21 2015 jen-de.lai
82 * [MOLY00136103] [COPY CR][WW FT][Mexico-Mexico][Denali-1][MT6735][Telcel][E-RACH] ][ASSERT] Fatal Error (0x840, 0xf25e3c30)
83 *
84 * 12 31 2014 nancy.chang
85 * [MOLY00087510] [Universal Bin] FDD DBME & LDBME development
86 * .
87 *
88 * 12 30 2014 charlescm.wu
89 * [MOLY00087679] [UMOLY][FDD][UAS COMMON][UL2 COMMON/URLC/BMC/SEQ]U-Bin CBr to UMOLY TRUNCK.
90 *
91 * 12 26 2014 chi-chung.lin
92 * [MOLY00089131] [MT6291 Gemini] L+W+W+W code revision check in
93 * .
94 *
95 * 12 24 2014 tc.chang
96 * [MOLY00087434] [Universal Bin] Check in.
97 *
98 * 12 16 2014 charlescm.wu
99 * [MOLY00087679] [UMOLY][FDD][UAS COMMON][UL2 COMMON/URLC/BMC/SEQ]U-Bin CBr to UMOLY TRUNCK.
100 *
101 * 12 15 2014 charlescm.wu
102 * [MOLY00087679] [UMOLY][FDD][UAS COMMON][UL2 COMMON/URLC/BMC/SEQ]U-Bin CBr to UMOLY TRUNCK.
103 *
104 * 12 12 2014 chin-chia.chang
105 * [MOLY00087443] [Universal Bin] [FDD] [UAS] [URR/Common] Check-in
106 * [UniBin] [FDD] [UMOLY] uas_common_enums.h
107 *
108 * 12 12 2014 tc.chang
109 * [MOLY00087434] [Universal Bin] Check in.
110 * PDCP and CSR exported APIs.
111 *
112 * 11 14 2014 yenchih.yang
113 * [MOLY00084256] [MEME] sync MT6291 to UMOLY
114 * URR/MEME.
115 *
116 * 11 13 2014 claud.li
117 * [MOLY00084256] [MEME] sync MT6291 to UMOLY
118 * [MEME] interface check in
119 *
120 * 06 20 2014 jinpeng.hu
121 * [MOLY00067841] [Klocwork] in //MOLY/TRUNK/MOLY/mcu/modem/uas_tdd128/ul2/urlc/src/crlc_fsm.c, line 7636.
122 *
123 * 06 05 2014 head.hsu
124 * [MOLY00068511] [WW FT][Singapore][MT6595][M1] Assert: rabm_fsm.c line:663
125 * .
126 *
127 * 01 22 2014 yanjuan.feng
128 * [MOLY00054324] [4G Gemini][Merge] MOLY.MM.GEMINI.DEV Merge back to MOLY
129 * .
130 *
131 * 11 21 2013 rachel.liu
132 * [MOLY00045854] [PS1267 HG+WG] Check-in Gemini HG+WG modification
133 * Common files.
134 *
135 * 11 05 2013 johnson.liu
136 * [MOLY00042658] [SHAQ] UAS related header split
137 * .
138 *
139 * 11 05 2013 andrew.wu
140 * [MOLY00042658] [SHAQ] UAS related header split
141 * <saved by Perforce>
142 *
143 * 08 26 2013 tereasa.huang
144 * [MOLY00034869] [HG+WG] PS6 code check in MOLY
145 * [HG WG] Common macro defination and modification.
146 *
147 * 06 26 2013 hsiu-chi.hsu
148 * [MOLY00027582] [R7R8][URLC] Stop Timer_Poll_Periodic in PCH state if no un-acked PDU to reduce standby power consumption
149 * .
150 *
151 * 04 26 2013 huifeng.jing
152 * MOLY00013224 moly
153 *
154 * 04 09 2013 yungfu.chen
155 * [MOLY00013224] ??�q????��???��?��
156 * .
157 *
158 * 10 10 2012 young.zhou
159 * [MOLY00004148] [3G TDD][URLC]TDD R9 Dev Patch back to Moly
160 * Sync uas_common_enums.h
161 *
162 * 06 21 2012 hsiu-chi.hsu
163 * removed!
164 * .
165 *
166 * 04 17 2012 yiting.cheng
167 * removed!
168 * .
169 *
170 * 04 16 2012 yiting.cheng
171 * removed!
172 * .
173 *
174 * 04 11 2012 yiting.cheng
175 * removed!
176 * .
177 *
178 * 01 12 2012 peng-an.chen
179 * removed!
180 * .
181 *
182 * 01 09 2012 kathie.ho
183 * removed!
184 * Migrate RLC RX part of make file, sap, urlc\inc.
185 *
186 * 11 08 2011 weimin.zeng
187 * removed!
188 * merge MSBB.
189 *
190 * 08 30 2011 mengsung.wu
191 * removed!
192 * .
193 *
194 * 02 24 2011 tc.chang
195 * removed!
196 * .
197 *
198 * 02 14 2011 tc.chang
199 * removed!
200 * .
201 *
202 * 01 26 2011 max.yin
203 * removed!
204 * .
205 *
206 * 12 31 2010 max.yin
207 * removed!
208 * .
209 *
210 * 12 16 2010 peng-an.chen
211 * removed!
212 * .
213 *
214 * 12 14 2010 nicky.chou
215 * removed!
216 * .
217 *
218 * 10 25 2010 max.yin
219 * removed!
220 * .
221 *
222 * removed!
223 * removed!
224 *
225 *
226 * removed!
227 * removed!
228 *
229 *
230 * removed!
231 * removed!
232 *
233 *
234 * removed!
235 * removed!
236 *
237 *
238 * removed!
239 * removed!
240 *
241 *
242 * removed!
243 * removed!
244 *
245 *
246 * removed!
247 * removed!
248 *
249 *
250 * removed!
251 * removed!
252 * constant values modification for test loop mode & BMC
253 *
254 * removed!
255 * removed!
256 *
257 *
258 * removed!
259 * removed!
260 * Add copyright header.
261 ******************************************************************************/
262
263#ifndef _UAS_COMMON_ENUMS_H
264#define _UAS_COMMON_ENUMS_H
265
266/* Nicky 20101008: include header files for redundant header file removal */
267#include "as_common.h"
268#include "kal_general_types.h"
269#include "global_def.h"
270
271/* Universal Bin: merge TDD and FDD UAS/URR: begin */
272
273/* [H/G + W/G] Used by URR, UL2, UL2D context declaration */
274#define MAXIMUM_UAS_CNTX (MAX_UMTS_NUM)
275
276/* [H/G + W/G] Used by URR, UL2, UL2D context indication */
277typedef enum {
278 UAS1 = 0,
279 UAS2 = 1,
280 UAS3 = 2,
281 UAS4 = 3
282} UAS_CURRENT_CNTX_PTR_enum;
283
284typedef enum {
285 TDD_UAS_SIM1 = 0,
286 TDD_UAS_MAX_SIM_NUM
287} TDD_UAS_SIM_INDEX_enum;
288
289
290/* Offset in uplink DRLC PDU */
291#define NUM_DRLC_OFFSET (8)
292
293/* Max Yin 2009-10-19: Safe space for RLC header space
294 * sizeof(pdcp_ps_data_req_struct) - sizeof(PEER_BUFF_HDR) + 4 (reserved for ReTx from RATDM)
295 */
296#define DRLC_SAFE_HEADER_SPACE_OFFSET 24
297
298// Used by SAP_RRCE_SIBE, SAP_MEME_SIBE.
299#define FDD_MAX_MEAS_CELLS (32)
300#define TDD_MAX_MEAS_CELLS (32)
301
302
303/* Description: Maximum number of scrambling code per frequency. The
304 frequency carrier information may contain up to 32 scrambling codes
305 (m) [ref:31.102;270] */
306/* John Tang 2005/10/24. */
307#define MAX_NUM_SCRAMBLING_CODE 32
308
309#define MAX_NUM_TRCH 8
310
311
312/**
313* Database indexor
314*/
315#define FDD_DBIdx RRC_FDD_DB_Cell_Idx
316#define TDD_DBIdx RRC_TDD_DB_Cell_Idx
317#define DB_INVALID_INDEX (-1)
318
319#define MAX_RBS_IN_RAB (3)
320
321#ifdef __UMTS_R5__
322#define MAX_RB_LOOPED_BACK (5) /* refer to 34.109 V5.5.0 section 6.2, the maximum number of loopback RB is 5 */
323#else /* __UMTS_R5__ */
324#define MAX_RB_LOOPED_BACK (4) /* refer to 34.109 V3.a.0 section 6.2, the maximum number of loopback RB is 4 */
325#endif /* __UMTS_R5__ */
326
327// UniBin modify: FDD(1800), TDD(1560), TDD align to FDD
328#define MAX_L2_EXTERNAL_SDU_SIZE (1800)
329
330/*
331 * Theoretically Max SDU size for TM mode in SRB is Max MAC-ehs PDU size. This is possible in e-FACH BCCH/PCCH mapped onto ehs.
332 */
333#define MAX_L2_TM_SDU_SIZE (2048)
334
335#ifdef __CSHSPA_SUPPORT__
336#define MAX_CS_UL_MEM_NUM (40) /* 5+1 for RLC discard timer, 32 for UMAC HARQ process, 2 for internal delay */
337/*
338 * HARQ worst case
339 * 1. [10ms TTI] Max time for one process is 16 * 40ms (duration for the same process to transmit) = 640ms ==> 32 pieces
340 *
341 * 2. [2ms TTI] Max time for one process is 16 * 16ms (duration for the same process to transmit) = 256ms ==> 13 pieces
342 */
343#define MAX_CS_DL_HSPA_DATA_SIZE (84) /* 1 byte for PDCP header, 3 bytes alignment*/
344#endif
345
346#define MAX_CS_DATA_SIZE (160) /* don't need to leave 8 bytes for RLC and 1byte for PDCP because they would allocated in free header*/
347#define MAX_RLC_CS_DATA_SIZE (NUM_DRLC_OFFSET + MAX_CS_DATA_SIZE) /* RLC needs to reserve NUM_DRLC_OFFSET(8) bytes for extra info in csr_tm_data_req */
348
349/* definition for HP8960 LBM: extra CRC bytes - 3. */
350#define MAX_CS_DL_DATA_SIZE (480+4)
351
352#define FIRST_EXTENDED_USER_RB_ID (EXT_RB_ID_DCCH_RB4 + 1)
353#define EXTENDED_RB_ID_NONE (FIRST_EXTENDED_RB_ID-1)
354#define IS_VALID_EXTENDED_RB_ID(id) IS_INRANGE((id), FIRST_EXTENDED_RB_ID, LAST_EXTENDED_RB_ID)
355
356#define INRANGE_RB1_RB32(id) IS_INRANGE((id), EXT_RB_ID_DCCH_RB1, EXT_RB_ID_RB32)
357
358#define INVALID_T308_DURATION 0xFFFF
359
360/* Eric: Moved here since it's shared by MEME & UMAC */
361#define FDD_INVALID_MEASUREMENT_ID 33
362#define TDD_INVALID_MEASUREMENT_ID 17
363
364#define FDD_MAX_NUM_TVM_CFG 32
365#define TDD_MAX_NUM_TVM_CFG 16
366
367/* Macro for information extracted above */
368typedef enum tTxRxTag
369{
370 TX,
371 RX
372} tTxRx;
373
374typedef enum tRLCEntityModeTag
375{
376 RLC_TM = 1,
377 RLC_UM,
378 RLC_AM
379} tRLCEntityMode;
380
381/* Jeff Wu */
382#define RABM_MAX_NSAPI 11
383#define MIN_NSAPI 5
384#define MAX_NSAPI 15
385
386/* 2011.02.14: Set 5 for passing GCF TC 7.1.5.2 */
387#define MAX_VAL(VAL_A, VAL_B) (((VAL_A) > (VAL_B)) ? (VAL_A):(VAL_B))
388#define NUM_OF_NSAPI MAX_VAL(GPRS_MAX_PDP_SUPPORT, 5)
389
390// UniBin modify: FDD
391// FDD: #define RABM_MAX_PS_RABS (11)
392// TDD: #define RABM_MAX_PS_RABS MAX_VAL(GPRS_MAX_PDP_SUPPORT, 5)
393#define RABM_MAX_PS_RABS (11)
394
395/* CN domain embedded in MUI. */
396#define MUI_PS_DOMAIN 0x00000100 /* mask to get CN Domain. */
397#define MUI_DOMAIN_POS 8 /* the position to indicate CN Domain is at bit MUI_DOMAIN_POS+1. */
398/* BMC level 2 DRX bitmap size. */
399#define UAS_BMC_MAX_BITMAP_SIZE (32)
400#define MAX_AM_DATA_CNF (8)
401
402/* Max Yin */
403#define PDCP_DL_PDU_FREE_HEADER_SPACE 4
404
405#define SHAQ_PDCP_NO_HDR_PDU_HDR_LEN 0
406
407#define FACH_BCH_AICH_SUPPORTED KAL_TRUE
408
409typedef enum
410{
411 /* Extended Bearer IDs */
412 /* IDs 4..31 for user plane (DTCH), routed to/from UUS SAP */
413
414 /* Broadcast control channel */
415 EXT_RB_ID_ALL = -6,
416 FIRST_EXTENDED_RB_ID = -5,
417 EXT_RB_ID_CTCH = FIRST_EXTENDED_RB_ID, /* -5 allocated to CTCH */
418 EXT_RB_ID_BCCH_FACH, /* -4 allocated to BCCH/FACH */
419 EXT_RB_ID_BCCH_BCH0, /* -3 allocated to BCCH' for SFN timing measurement */
420 EXT_RB_ID_BCCH_BCH1, /* -2 allocated to BCCH/BCH */
421 EXT_RB_ID_PCCH, /* -1 Paging control channel */
422 EXT_RB_ID_CCCH, /* 0 Common control channel */
423 EXT_RB_ID_DCCH_RB1, /* 1 Dedicated control channel, UM bearer */
424 EXT_RB_ID_DCCH_RB2, /* 2 Dedicated control channel, AM bearer */
425 EXT_RB_ID_DCCH_RB3, /* 3 For high priority SAPI 0 NAS DT messages */
426 EXT_RB_ID_DCCH_RB4, /* 4 For low priority SAPI 3 NAS DT messages */
427 EXT_RB_ID_RB5,
428 EXT_RB_ID_RB6,
429 EXT_RB_ID_RB7,
430 EXT_RB_ID_RB8,
431 EXT_RB_ID_RB9,
432 EXT_RB_ID_RB10,
433 EXT_RB_ID_RB11,
434 EXT_RB_ID_RB12,
435 EXT_RB_ID_RB13,
436 EXT_RB_ID_RB14,
437 EXT_RB_ID_RB15,
438 EXT_RB_ID_RB16,
439 EXT_RB_ID_RB17,
440 EXT_RB_ID_RB18,
441 EXT_RB_ID_RB19,
442 EXT_RB_ID_RB20,
443 EXT_RB_ID_RB21,
444 EXT_RB_ID_RB22,
445 EXT_RB_ID_RB23,
446 EXT_RB_ID_RB24,
447 EXT_RB_ID_RB25,
448 EXT_RB_ID_RB26,
449 EXT_RB_ID_RB27,
450 EXT_RB_ID_RB28,
451 EXT_RB_ID_RB29,
452 EXT_RB_ID_RB30,
453 EXT_RB_ID_RB31,
454 EXT_RB_ID_RB32,
455 LAST_EXTENDED_RB_ID = EXT_RB_ID_RB32
456// DUMMY_EXTENDED_RB_ID = 0x7FFFFFFF /* frost: remove it */
457} ExtendedRbId;
458
459/* Jeff Wu */
460typedef enum
461{
462 RAB_RELEASE_BY_NW,
463 RAB_RELEASE_BY_RRC_CONN_RELEASE,
464 RAB_RELEASE_BY_LOST_COVERAGE,
465 RAB_RELEASE_BY_INTER_RAT,
466 RAB_RELEASE_BY_UNSPECIFIED
467} rab_release_cause_enum;
468
469typedef enum
470{
471 L2_RRC_IDLE,
472 L2_RRC_CELL_DCH,
473 L2_RRC_CELL_FACH,
474 L2_RRC_CELL_PCH,
475 L2_RRC_URA_PCH,
476 L2_RRC_INVALID_STATE
477} L2_RRC_STATE;
478
479typedef enum CMAC_TrafficVolumeEventType {
480 e4a = 0,
481 e4b = 1,
482 eInvalid=3
483} CMAC_TrafficVolumeEventType;
484
485
486typedef enum
487{
488 FIRST_LOGICAL_CHANNEL_PDU_TYPE,
489 PDU_TYPE_CONTROL = FIRST_LOGICAL_CHANNEL_PDU_TYPE,
490 PDU_TYPE_DATA,
491 PDU_TYPE_NA,
492 LAST_LOGICAL_CHANNEL_PDU_TYPE = PDU_TYPE_NA
493}tRlcPduType ;
494
495
496typedef kal_uint16 RLCEntityID;
497
498/* [MODIFICATION] Kathie */
499typedef enum{
500 REASM_CAUSE_NORMAL,
501 REASM_CAUSE_MRW,
502 /* REASM_CAUSE_RESET, */
503 REASM_CAUSE_NUM
504}tReasmCause;
505
506
507typedef enum
508{
509 AM_RLC_SDU_ACK = 0,
510 AM_RLC_SDU_ALL_TX,
511 AM_RLC_SDU_NOT_ALL_TX
512} tAmRlcSduTxResult;
513
514typedef enum
515{
516 UAS_DL_ADM = 0,
517 GRLC_DL_ADM_FIRST_PART,
518 GRLC_DL_ADM_SECOND_PART,
519 UAS_DL_IDLE_ADM
520} uas_dl_adm_index_enum;
521
522
523
524typedef kal_uint16 RLCEntityID;
525
526/* UMAC R7 */
527/* Author : David */
528/* Temp Enum. After code merge with RLC, i need to replace it with RLC-SLCE interface.*/
529typedef enum
530{
531 Flexible = 0,
532 Fixed = 1
533} tRlcFixedFlexible;
534
535
536typedef enum
537{
538 swF8AlgoUea0 = 0/* No Cipher */
539 ,swF8AlgoUea1
540 ,swF8AlgoUea2
541} swF8Algo;
542
543
544/* Enum to indicate the ubin memory is initialized to None / FDD / TDD.*/
545typedef enum
546{
547 UL2_UBIN_MEM_INIT_IN_NONE = 0, /* Initialization state, ul2 ubin memory doesn't init to FDD or TDD */
548 UL2_UBIN_MEM_INIT_IN_FDD, /* ul2 ubin memory is initialized to FDD */
549 UL2_UBIN_MEM_INIT_IN_TDD, /* ul2 ubin memory is initialized to TDD */
550 UL2_UBIN_MEM_TASK_IN_NONE,
551 UL2_UBIN_MEM_TASK_IN_FDD, /* ul2 ubin memory is initialized to FDD */
552 UL2_UBIN_MEM_TASK_IN_TDD /* ul2 ubin memory is initialized to TDD */
553} ul2_ubin_mem_init_state_e;
554
555#endif /* _UAS_COMMON_ENUMS_H */
556