blob: 3bd2540fae0beee6c397f760de65ad07ad8b7e0e [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) 2012
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 * upcm_enum.h
40 *
41 * Project:
42 * --------
43 * MOLY
44 *
45 * Description:
46 * ------------
47 *
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 *
54 * ==========================================================================
55 * $Log$
56 *
57 * 03 10 2020 tc.chang
58 * [MOLY00503980] [J7A][CN]?¸m???±µ¥¢?.
59 *
60 * 12 05 2019 tc.chang
61 * [MOLY00463764] Correct timer unit and pdn sim id in rqos set timer.
62 *
63 * 12 05 2019 tc.chang
64 * [MOLY00463783] [MT6885][Petrus][MP1][IODT][CTC][FT][SA][5G FT][China][Shenzhen][Huawei][Operator FT]IMS call fail @SA network.
65 *
66 * 09 24 2019 amit.singh
67 * [MOLY00442150] [DISPATCHER] EPDG related bearer and PDN ID range definition
68 *
69 * Epdg relatd enum declaration.
70 *
71 * 07 04 2019 tc.chang
72 * [MOLY00418272] [Gen97] Sync Gen95 UMOLYE patch.
73 *
74 * 02 15 2019 tc.chang
75 * [MOLY00373282] [ENPDCP] MCPS enhancement and SA phone call volunteer patch.
76 *
77 * 10 09 2018 tc.chang
78 * [MOLY00356444] [VMOLY] Bug fix and add UT cases.
79 *
80 * 10 08 2018 tc.chang
81 * [MOLY00356444] [VMOLY] Bug fix and add UT cases.
82 *
83 * 09 18 2018 tc.chang
84 * [MOLY00345990] [VMOLY] Code sync.
85 *
86 * 09 14 2018 tc.chang
87 * [MOLY00345990] [VMOLY] Code sync
88 * Rollback first. Fix build error locally
89 *
90 * 03 23 2017 chin-wei.hsu
91 * [MOLY00237294] [MT6293][UPCM] Forced SW path
92 * [trunk] Forced SW path for EBI/PDN.
93 *
94 * 12 28 2016 cammie.yang
95 * [MOLY00221324] [6293][EL2][UPCM] C2K feature integrations
96 * [TRUNK][UPCM] modifications for C2K feature integrations
97 *
98 * 12 27 2016 cammie.yang
99 * [MOLY00221324] [6293][EL2][UPCM] C2K feature integrations
100 * [UMOLYA][UPCM] Interface change for C2K integration
101 *
102 * 09 26 2016 cammie.yang
103 * [MOLY00195563] [6293][EL2][UPCM][RATDM][EPDCP] Initial feature integrations
104 * [TRUNK] UPCM/RATDM/EPDCP feature integrations from PS.DEV
105 *
106 * 07 17 2013 moja.hsu
107 * [MOLY00030111] Add UPCM Tx/Rx statistics query API
108 * .
109 *
110 ****************************************************************************/
111/*
112 * =====================================================================================
113 *
114 * Filename: upcm_enum.h
115 *
116 * Description: UPCM (User plane connection manager exported header file)
117 * ENUM values for trace.
118 *
119 * Created: 2012/3/19 �W�� 11:20:22
120 *
121 * Author: mtk01641 (moja)
122 * =====================================================================================
123 */
124#ifndef UPCM_ENUM_INC
125#define UPCM_ENUM_INC
126
127#include "ps_public_enum_public.h"
128
129/* PDN ID
130 * Invalid: 0
131 * Reserved: 1 ~ 3
132 * MBMS: 4
133 * LTE: 5 ~ 15
134 * C2K: 16 ~ 23
135 * 5G: 24 ~ 38 (maps to PDN session ID 1 ~ 15)
136 * EPDG: 39 ~ 53 (maps to PDN session for bearer ID 1 ~ 15)
137 */
138#define MAX_234G_EPSB_NUM 24 // FOR C2K
139#define QFI_NUM_PER_PSI 64
140#define MIN_5G_BEARER_ID MAX_234G_EPSB_NUM
141#define MIN_5G_PDN_ID MAX_234G_EPSB_NUM
142#define NUM_5G_PDU_SESSION 15
143#define MAX_5G_PDN_ID (MIN_5G_PDN_ID + NUM_5G_PDU_SESSION - 1)
144#define MIN_PDN_ID (L4_PS_MIN_EBI)
145
146//for EPDG
147#define MIN_EPDG_BEARER_ID 1
148#define MAX_EPDG_BEARER_ID 15
149#define MIN_EPDG_PDN_ID 39
150#define MAX_EPDG_PDN_ID 53
151#define MAX_EPDG_CID 200
152
153
154#ifdef __FIVEG_NAS__
155#define MAX_EPSB_NUM 984
156#define MAX_PDN_ID MAX_5G_PDN_ID
157#else
158#define MAX_EPSB_NUM MAX_234G_EPSB_NUM
159#define MAX_PDN_ID (MAX_EPSB_NUM - 1)
160#endif
161
162/*
163 * LTE: 5 ~ 15 maps to SIT index 0 ~ 10
164 * C2K: 16 ~ 23 maps to SIT index 0 ~ 7
165 */
166#define MAX_234G_SIT_NUM 11
167
168#define UPCM_FIVEG_PDN_ID_TO_PSI(_id) \
169 (((_id) >= MIN_5G_PDN_ID && (_id) <= MAX_5G_PDN_ID) ? ((_id) - MIN_5G_PDN_ID + 1) : (0))
170
171#define UPCM_FIVEG_PSI_TO_PDN_ID(_id) ((_id) + MIN_5G_PDN_ID - 1)
172
173// Gen97
174#define UPCM_PDN_SIM_ID(_pdn, _sim) ((((_sim) & 0x3) << 6) | ((_pdn) & 0x3F))
175
176typedef enum
177{
178 IP_TYPE_MISC,
179 IP_TYPE_V4,
180 IP_TYPE_V6,
181}ip_type_e;
182
183/*
184 * bit 0:Indicate if test mode is activate.
185 * bit 1:Indicate if test loop is closed.
186 * bit 2: BUFFER_IP_PDU
187 * bit 3: Drop UL/DL SDUs
188 */
189typedef enum
190{
191 TEST_FLAG_MODE = 0x01,
192 TEST_FLAG_LOOP_A = 0x02,
193 TEST_FLAG_LOOP_B = 0x04,
194 TEST_FLAG_BUFFER = 0x08,
195 TEST_FLAG_DROP = 0x10,
196}upcm_test_flag_e;
197
198typedef enum
199{
200 TEST_RESULT_OK = 0,
201 TEST_RESULT_NG = 1,
202 TEST_RESULT_WAIT_OPEN_LOOP = 2,
203}upcm_test_result_e;
204
205/*
206 * Used for trace
207 */
208typedef enum
209{ // TODO: update for new flags
210 UPCM_NORMAL = 0,
211 UPCM_TEST = TEST_FLAG_MODE,
212 UPCM_LOOP = TEST_FLAG_LOOP_B,
213 UPCM_BUF = TEST_FLAG_BUFFER,
214 UPCM_DROP = TEST_FLAG_DROP,
215 UPCM_TEST_LOOP = UPCM_TEST | UPCM_LOOP,
216 UPCM_TEST_BUF = UPCM_TEST | UPCM_BUF,
217 UPCM_TEST_DROP = UPCM_TEST | UPCM_DROP,
218 UPCM_LOOP_BUF = UPCM_LOOP | UPCM_BUF,
219 UPCM_LOOP_DROP = UPCM_LOOP | UPCM_DROP,
220 UPCM_BUF_DROP = UPCM_BUF | UPCM_DROP,
221 UPCM_TEST_LOOP_BUF = UPCM_TEST | UPCM_LOOP | UPCM_BUF,
222 UPCM_TEST_LOOP_DROP = UPCM_TEST | UPCM_LOOP | UPCM_DROP,
223 UPCM_TEST_BUF_DROP = UPCM_TEST | UPCM_BUF | UPCM_DROP,
224 UPCM_LOOP_BUF_DROP = UPCM_LOOP | UPCM_BUF | UPCM_DROP,
225 UPCM_TEST_LOOP_BUF_DROP = UPCM_TEST | UPCM_LOOP | UPCM_BUF | UPCM_DROP,
226}upcm_test_e;
227
228typedef enum
229{
230 TACT_DELAYTIMER_RUNNING,
231 TACT_DELAYTIMER_TIMEOUT,
232 TACT_BUFFER,
233 TACT_LOOPBACK,
234 TACT_DISCARD,
235 TACT_DELIVER_TO_UPPER,
236}upcm_test_act_e;
237
238typedef enum
239{
240 UBACT_ACTIVE,
241 UBACT_DEACTIVE,
242}upcm_bearer_act_e;
243
244typedef enum
245{
246 UPCM_SUSPEND,
247 UPCM_RESUME,
248}upcm_sus_res_e;
249
250typedef enum
251{
252 UPT_Open,
253 UPT_Close,
254}upcm_act_test_mode_e;
255
256typedef enum
257{
258 UPT_AlreadyAct,
259 UPT_NotAct,
260 UPT_AlreadyClose,
261 UPT_AlreadyOpen,
262 UPT_HasPDN,
263 UPT_HasMoreThan1PDN,
264}upcm_test_mode_fail_code_e;
265
266typedef enum
267{
268 UPCM_PDN_ACT,
269 UPCM_PDN_DEACT,
270}upcm_pdn_info_e;
271
272typedef enum
273{
274 UPCM_PDN_ID_234G_C2K,
275 UPCM_PDN_ID_5G,
276
277 UPCM_PDN_ID_MAX_NUM,
278} upcm_query_pdn_id_e;
279
280/********************************************
281 * FUNCTION DECLARATIONS *
282 ********************************************/
283/* Export for the users not in protocol */
284kal_uint8 upcm_query_pdn_id(upcm_query_pdn_id_e type, kal_uint8 bearer_id);
285
286
287#endif /* ----- #ifndef UPCM_ENUM_INC ----- */