[Feature][T8TSK-212][Modem]Update MTK modem version to MOLY.NR15.R3.MD700.MP.V75.P8.T800.L1.1215_20240425
MTK modem version: MOLY01242766_AUTO00283601(For_MOBILETEK35_IVT_T800_MOLY.NR15.R3.MD700.MP.V75.P8).tar.gz
RF modem version: T800/l1-1215.rar
Change-Id: Ibf34a0a7101d7678d03aeebf38e6dfd7d281cf61
diff --git a/mcu/protocol/interface/ddm/atp_ursp_struct.h b/mcu/protocol/interface/ddm/atp_ursp_struct.h
old mode 100755
new mode 100644
index 1fc10c1..a56f38a
--- a/mcu/protocol/interface/ddm/atp_ursp_struct.h
+++ b/mcu/protocol/interface/ddm/atp_ursp_struct.h
@@ -1,9 +1,22 @@
+/*****************************************************************************
+ *
+ * Copyright (c) 2021, MediaTek Inc. All rights reserved.
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein is
+ * confidential and proprietary to MediaTek Inc. and/or its licensors. Except as
+ * otherwise provided in the applicable licensing terms with MediaTek Inc.
+ * and/or its licensors, any reproduction, modification, use or disclosure of
+ * MediaTek Software, and information contained herein, in whole or in part,
+ * shall be strictly prohibited.
+ *
+ *****************************************************************************/
+
#ifndef _ATP_URSP_STRUCT_H
#define _ATP_URSP_STRUCT_H
#include "kal_general_types.h"
#include "kal_public_defs.h"
-#include "mcd_l3_inc_struct.h"
+#include "d2_public_defs.h"
#include "atcmd_struct.h"
#include "ursp_public_defs.h"
#include "ursp_struct.h"
@@ -40,6 +53,7 @@
kal_char dnn[URSP_DNN_SIZE]; // by default a NULL string
pdp_addr_type_enum pdx_type; // by default NULL_PDP_ADDR_TYPE in ps_public_enum_public.h
atcmd_Access_type_enum access_type; // by default ATCMD_ACCESS_TYPE_MAX
+ atcmd_request_type_enum multi_access; // by default ATCMD_REQUEST_TYPE_MAX
}ursp_at_ue_local_conf_struct;
typedef ursp_at_ue_local_conf_struct ursp_at_est_req_param_struct;
diff --git a/mcu/protocol/interface/ddm/d2_public_defs.h b/mcu/protocol/interface/ddm/d2_public_defs.h
old mode 100755
new mode 100644
index 2358226..d1d61e6
--- a/mcu/protocol/interface/ddm/d2_public_defs.h
+++ b/mcu/protocol/interface/ddm/d2_public_defs.h
@@ -1,3 +1,16 @@
+/*****************************************************************************
+ *
+ * Copyright (c) 2019, MediaTek Inc. All rights reserved.
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein is
+ * confidential and proprietary to MediaTek Inc. and/or its licensors. Except as
+ * otherwise provided in the applicable licensing terms with MediaTek Inc.
+ * and/or its licensors, any reproduction, modification, use or disclosure of
+ * MediaTek Software, and information contained herein, in whole or in part,
+ * shall be strictly prohibited.
+ *
+ *****************************************************************************/
+
#ifndef __D2_PUBLIC_DEFS_H__
#define __D2_PUBLIC_DEFS_H__
@@ -32,6 +45,31 @@
D2_EVENT_MAX = 0x7FFFFFFF
}d2_event_enum;
+typedef enum
+{
+ D2_PARAM_PERM_IGNORE = 0, // D2 should ignore the corresponding paramameters
+ D2_PARAM_PERM_READ_ONLY, // D2 should not modify the corresponding paramameters
+ D2_PARAM_PERM_MERGEABLE, // D2 may fill in values for some absent paramameters
+ D2_PARAM_PERM_OVERWRITABLE, // D2 may overwrite some given paramameters
+ D2_PARAM_PERM_MAX = 0x7FFFFFFF
+}d2_param_perm_enum;
+
+#ifdef __L1_STANDALONE__
+#ifndef _MCD_L3_INC_STRUCT_H
+typedef struct
+{
+ kal_uint8 mcc1;
+ kal_uint8 mcc2;
+ kal_uint8 mcc3;
+ kal_uint8 mnc1;
+ kal_uint8 mnc2;
+ kal_uint8 mnc3;
+}plmn_id_struct;
+#endif
+#else
+#include "mcd_l3_inc_struct.h"
+#endif
+
// Macros
// N/A
diff --git a/mcu/protocol/interface/ddm/d2apn_public_api.h b/mcu/protocol/interface/ddm/d2apn_public_api.h
old mode 100755
new mode 100644
index 162e311..32e5247
--- a/mcu/protocol/interface/ddm/d2apn_public_api.h
+++ b/mcu/protocol/interface/ddm/d2apn_public_api.h
@@ -1,26 +1,37 @@
+/*****************************************************************************
+ *
+ * Copyright (c) 2020, MediaTek Inc. All rights reserved.
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein is
+ * confidential and proprietary to MediaTek Inc. and/or its licensors. Except as
+ * otherwise provided in the applicable licensing terms with MediaTek Inc.
+ * and/or its licensors, any reproduction, modification, use or disclosure of
+ * MediaTek Software, and information contained herein, in whole or in part,
+ * shall be strictly prohibited.
+ *
+ *****************************************************************************/
+
#ifndef __D2APN_PUBLIC_API_H__
#define __D2APN_PUBLIC_API_H__
#include "kal_public_defs.h"
+#include "d2apn_public_defs.h"
+#include "d2apn_struct.h"
/*
#include "ddm_utility.h"
#include "custom_d2_config.h"
-#include "d2apn_public_defs.h"
-#include "d2apn_struct.h"
*/
// Compiler flag, NEED_TO_BE_NOTICED, set by the compiler
// N/A
// Type definition
-/*
typedef enum
{
D2APN_API_RES_FAIL = D2APN_RES_FAIL,
D2APN_API_RES_NONE = D2APN_RES_NONE,
D2APN_API_RES_SUCC = D2APN_RES_SUCC,
}d2apn_api_res_enum;
-*/
// Macros
// N/A
@@ -31,9 +42,8 @@
extern kal_uint32 d2apn_get_max_apn_idx_by_owner (kal_uint8 ps_id, module_type owner);
*/
extern module_type d2apn_get_owner_by_apn_idx (kal_uint8 ps_id, kal_uint32 apn_idx);
-/*extern d2apn_api_res_enum d2apn_init_set_apns_info_req (kal_uint8 ps_id, module_type owner, d2apn_set_apns_info_req_struct *req_ptr);
+extern d2apn_api_res_enum d2apn_init_set_apns_info_req (kal_uint8 ps_id, module_type owner, d2apn_set_apns_info_req_struct *req_ptr);
extern d2apn_api_res_enum d2apn_init_set_apns_req (kal_uint8 ps_id, module_type owner, d2apn_set_apns_req_struct *req_ptr);
-*/
/*******************************************************************************
* ILM-equivalent API *
@@ -68,4 +78,4 @@
// N/A
*/
-#endif
+#endif /* D2APN_PUBLIC_API_H */
diff --git a/mcu/protocol/interface/ddm/d2apn_public_defs.h b/mcu/protocol/interface/ddm/d2apn_public_defs.h
old mode 100755
new mode 100644
index 8d2b8e0..a6c5a1a
--- a/mcu/protocol/interface/ddm/d2apn_public_defs.h
+++ b/mcu/protocol/interface/ddm/d2apn_public_defs.h
@@ -1,84 +1,97 @@
+/*****************************************************************************
+ *
+ * Copyright (c) 2019, MediaTek Inc. All rights reserved.
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein is
+ * confidential and proprietary to MediaTek Inc. and/or its licensors. Except as
+ * otherwise provided in the applicable licensing terms with MediaTek Inc.
+ * and/or its licensors, any reproduction, modification, use or disclosure of
+ * MediaTek Software, and information contained herein, in whole or in part,
+ * shall be strictly prohibited.
+ *
+ *****************************************************************************/
+
#ifndef __D2APN_PUBLIC_DEFS_H__
#define __D2APN_PUBLIC_DEFS_H__
// Type denifitions
typedef enum
{
- D2APN_RES_FAIL = -1,
- D2APN_RES_NONE,
- D2APN_RES_SUCC,
+ D2APN_RES_FAIL = -1,
+ D2APN_RES_NONE,
+ D2APN_RES_SUCC,
D2APN_RES_MAX = 0x7FFFFFFF
}d2apn_res_enum;
// => MSG_ID_D2APN_SET_APNS_INFO_REQ
typedef enum
{
- D2APN_SET_APNS_INFO_REQ_TYPE_NONE = 0x00,
- D2APN_SET_APNS_INFO_REQ_TYPE_WR_THRU,
- D2APN_SET_APNS_INFO_REQ_TYPE_CACHE,
- D2APN_SET_APNS_INFO_REQ_TYPE_WR_BACK,
+ D2APN_SET_APNS_INFO_REQ_TYPE_NONE = 0x00,
+ D2APN_SET_APNS_INFO_REQ_TYPE_WR_THRU,
+ D2APN_SET_APNS_INFO_REQ_TYPE_CACHE,
+ D2APN_SET_APNS_INFO_REQ_TYPE_WR_BACK,
D2APN_SET_APNS_INFO_REQ_TYPE_MAX = 0x7F
}d2apn_set_apns_info_req_type_enum;
// => MSG_ID_D2APN_SET_APNS_REQ
typedef enum
{
- D2APN_SET_APNS_REQ_TYPE_NONE = 0x00,
- D2APN_SET_APNS_REQ_TYPE_WR_THRU,
- D2APN_SET_APNS_REQ_TYPE_CACHE,
- D2APN_SET_APNS_REQ_TYPE_WR_BACK,
+ D2APN_SET_APNS_REQ_TYPE_NONE = 0x00,
+ D2APN_SET_APNS_REQ_TYPE_WR_THRU,
+ D2APN_SET_APNS_REQ_TYPE_CACHE,
+ D2APN_SET_APNS_REQ_TYPE_WR_BACK,
D2APN_SET_APNS_REQ_TYPE_MAX = 0x7F
}d2apn_set_apns_req_type_enum;
// => MSG_ID_D2APN_RESET_APNS_INFO_REQ
typedef enum
{
- D2APN_RESET_APNS_INFO_REQ_TYPE_NONE = 0x00,
- D2APN_RESET_APNS_INFO_REQ_TYPE_WR_THRU,
- D2APN_RESET_APNS_INFO_REQ_TYPE_CACHE,
- D2APN_RESET_APNS_INFO_REQ_TYPE_WR_BACK,
+ D2APN_RESET_APNS_INFO_REQ_TYPE_NONE = 0x00,
+ D2APN_RESET_APNS_INFO_REQ_TYPE_WR_THRU,
+ D2APN_RESET_APNS_INFO_REQ_TYPE_CACHE,
+ D2APN_RESET_APNS_INFO_REQ_TYPE_WR_BACK,
D2APN_RESET_APNS_INFO_REQ_TYPE_MAX = 0x7F
}d2apn_reset_apns_info_req_type_enum;
// => MSG_ID_D2APN_RESET_APNS_REQ
typedef enum
{
- D2APN_RESET_APNS_REQ_TYPE_NONE = 0x00,
- D2APN_RESET_APNS_REQ_TYPE_WR_THRU,
- D2APN_RESET_APNS_REQ_TYPE_CACHE,
- D2APN_RESET_APNS_REQ_TYPE_WR_BACK,
- D2APN_RESET_APNS_REQ_TYPE_WR_THRU_ALL,
- D2APN_RESET_APNS_REQ_TYPE_CACHE_ALL,
- D2APN_RESET_APNS_REQ_TYPE_WR_BACK_ALL,
+ D2APN_RESET_APNS_REQ_TYPE_NONE = 0x00,
+ D2APN_RESET_APNS_REQ_TYPE_WR_THRU,
+ D2APN_RESET_APNS_REQ_TYPE_CACHE,
+ D2APN_RESET_APNS_REQ_TYPE_WR_BACK,
+ D2APN_RESET_APNS_REQ_TYPE_WR_THRU_ALL,
+ D2APN_RESET_APNS_REQ_TYPE_CACHE_ALL,
+ D2APN_RESET_APNS_REQ_TYPE_WR_BACK_ALL,
D2APN_RESET_APNS_REQ_TYPE_MAX = 0x7F
}d2apn_reset_apns_req_type_enum;
// => MSG_ID_D2APN_GET_APNS_INFO_REQ
typedef enum
{
- D2APN_GET_APNS_INFO_REQ_TYPE_NONE = 0x00,
- D2APN_GET_APNS_INFO_REQ_TYPE_CACHE,
+ D2APN_GET_APNS_INFO_REQ_TYPE_NONE = 0x00,
+ D2APN_GET_APNS_INFO_REQ_TYPE_CACHE,
D2APN_GET_APNS_INFO_REQ_TYPE_MAX = 0x7F
}d2apn_get_apns_info_req_type_enum;
// => MSG_ID_D2APN_GET_APNS_REQ
typedef enum
{
- D2APN_GET_APNS_REQ_TYPE_NONE = 0x00,
- D2APN_GET_APNS_REQ_TYPE_APN_IDX,
- D2APN_GET_APNS_REQ_TYPE_OWNER,
- D2APN_GET_APNS_REQ_TYPE_APN,
- D2APN_GET_APNS_REQ_TYPE_CACHE,
- D2APN_GET_APNS_REQ_TYPE_CACHE_APN_IDX = D2APN_GET_APNS_REQ_TYPE_CACHE,
- D2APN_GET_APNS_REQ_TYPE_CACHE_OWNER,
- D2APN_GET_APNS_REQ_TYPE_CACHE_APN,
+ D2APN_GET_APNS_REQ_TYPE_NONE = 0x00,
+ D2APN_GET_APNS_REQ_TYPE_APN_IDX,
+ D2APN_GET_APNS_REQ_TYPE_OWNER,
+ D2APN_GET_APNS_REQ_TYPE_APN,
+ D2APN_GET_APNS_REQ_TYPE_CACHE,
+ D2APN_GET_APNS_REQ_TYPE_CACHE_APN_IDX = D2APN_GET_APNS_REQ_TYPE_CACHE,
+ D2APN_GET_APNS_REQ_TYPE_CACHE_OWNER,
+ D2APN_GET_APNS_REQ_TYPE_CACHE_APN,
D2APN_GET_APNS_REQ_TYPE_MAX = 0x7F
}d2apn_get_apns_req_type_enum;
// => MSG_ID_D2APN_APNS_CHG_IND
typedef enum
{
- D2APN_APNS_CHG_IND_TYPE_NONE = 0x00,
+ D2APN_APNS_CHG_IND_TYPE_NONE = 0x00,
D2APN_APNS_CHG_IND_TYPE_INFO, // when D2APN_SET_APNS_INFO_REQ_TYPE_WR_THRU and D2APN_RESET_APNS_INFO_REQ_TYPE_WR_THRU
D2APN_APNS_CHG_IND_TYPE_APN_IDX, // when D2APN_SET_APNS_REQ_TYPE_WR_THRU and D2APN_RESET_APNS_REQ_TYPE_WR_THRU
D2APN_APNS_CHG_IND_TYPE_OWNER, // when xxx_WR_BACK_xxx and D2APN_RESET_APNS_REQ_TYPE_WR_THRU_ALL
diff --git a/mcu/protocol/interface/ddm/d2apn_struct.h b/mcu/protocol/interface/ddm/d2apn_struct.h
old mode 100755
new mode 100644
index 6a33b37..fa18454
--- a/mcu/protocol/interface/ddm/d2apn_struct.h
+++ b/mcu/protocol/interface/ddm/d2apn_struct.h
@@ -1,3 +1,16 @@
+/*****************************************************************************
+ *
+ * Copyright (c) 2019, MediaTek Inc. All rights reserved.
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein is
+ * confidential and proprietary to MediaTek Inc. and/or its licensors. Except as
+ * otherwise provided in the applicable licensing terms with MediaTek Inc.
+ * and/or its licensors, any reproduction, modification, use or disclosure of
+ * MediaTek Software, and information contained herein, in whole or in part,
+ * shall be strictly prohibited.
+ *
+ *****************************************************************************/
+
#ifndef __D2APN_STRUCT_H__
#define __D2APN_STRUCT_H__
@@ -5,7 +18,7 @@
#include "kal_public_defs.h"
#include "atcmd_enum.h"
#include "atcmd_struct.h"
-#include "mcd_l3_inc_struct.h"
+#include "d2_public_defs.h"
#include "ddm_enum.h"
#include "d2apn_public_defs.h"
@@ -167,7 +180,7 @@
kal_uint32 apn_idx;
}apn_idx;
- // querying a group of APN setting by owner
+ // querying a group of APN setting by owner
struct
{
module_type owner;
@@ -316,7 +329,7 @@
/*******************************************************************************
-* User to D2APN RSP *
+* User to D2APN RSP *
*******************************************************************************/
// N/A
diff --git a/mcu/protocol/interface/ddm/d2cm_public_defs.h b/mcu/protocol/interface/ddm/d2cm_public_defs.h
old mode 100755
new mode 100644
index 12e949f..0448596
--- a/mcu/protocol/interface/ddm/d2cm_public_defs.h
+++ b/mcu/protocol/interface/ddm/d2cm_public_defs.h
@@ -33,34 +33,6 @@
*
*****************************************************************************/
-/*****************************************************************************
- *
- * Filename:
- * ---------
- * d2cm_public_defs.h
- *
- * Project:
- * --------
- *
- *
- * Description:
- * ------------
- *
- *
- * Author:
- * -------
- *
- *
- *============================================================================
- * HISTORY
- * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
- *------------------------------------------------------------------------------
- * removed!
- *
- *------------------------------------------------------------------------------
- * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
- *============================================================================
- ****************************************************************************/
#ifndef __D2CM_PUBLIC_DEFS_H__
#define __D2CM_PUBLIC_DEFS_H__
@@ -217,7 +189,7 @@
// APIs, NEED_TO_BE_NOTICED, uint32-based, just a quick solution, To-Do later
#define d2cm_sign_ext(x, shift, mask, len) (((x) & (1 << ((len) - 1))) ? (x) | ~((mask) >> (shift)) : (x))
#define d2cm_reset_normal_res(res) ((res) &= ~D2CM_NORMAL_RES_MASK)
-#define d2cm_set_normal_res(res, x) ((res) = ((res) & ~D2CM_NORMAL_RES_MASK) | (((x) << D2CM_NORMAL_RES_SHIFT) & D2CM_NORMAL_RES_MASK))
+#define d2cm_set_normal_res(res, x) ((res) = ((res) & ~D2CM_NORMAL_RES_MASK) | (kal_int32)(((kal_uint32)(x) << D2CM_NORMAL_RES_SHIFT) & D2CM_NORMAL_RES_MASK))
#define d2cm_get_normal_res(res) (d2cm_sign_ext(((res) & D2CM_NORMAL_RES_MASK) >> D2CM_NORMAL_RES_SHIFT, D2CM_NORMAL_RES_SHIFT, D2CM_NORMAL_RES_MASK, D2CM_NORMAL_RES_LEN))
#define d2cm_reset_nw_cause(res) ((res) &= ~D2CM_NW_CAUSE_MASK)
#define d2cm_set_nw_cause(res, x) ((res) = ((res) & ~D2CM_NW_CAUSE_MASK) | (((x) << D2CM_NW_CAUSE_SHIFT) & D2CM_NW_CAUSE_MASK))
diff --git a/mcu/protocol/interface/ddm/d2cm_struct.h b/mcu/protocol/interface/ddm/d2cm_struct.h
old mode 100755
new mode 100644
index 7a864c0..df70524
--- a/mcu/protocol/interface/ddm/d2cm_struct.h
+++ b/mcu/protocol/interface/ddm/d2cm_struct.h
@@ -39,12 +39,15 @@
#include "kal_general_types.h"
#include "kal_public_defs.h"
#include "ps_public_enum.h"
+#include "ps_public_struct.h"
#include "pdn_public_defs.h"
+#include "atp_d2at_struct.h"
#include "custom_d2_config.h"
#include "d2pm_ddm_struct.h" // NEED_TO_BE_NOTICED, to review it
#include "d2pm_d2rm_struct.h" // NEED_TO_BE_NOTICED, to review it
#include "ursp_public_defs.h"
#include "d2rm_public_defs.h"
+#include "d2_public_defs.h"
#include "n3epc_public_defs.h"
#include "iwlan_public_defs.h"
@@ -235,6 +238,7 @@
kal_uint8 dnn[URSP_TDC_LEN_DNN]; // APN in TS 23.003
kal_uint8 pdu_session_type;
kal_uint8 pref_access_type;
+ kal_bool multi_access_pref;
}ue_local_conf;
kal_uint32 ursp_eval_flag;
diff --git a/mcu/protocol/interface/ddm/d2pm_public_defs.h b/mcu/protocol/interface/ddm/d2pm_public_defs.h
old mode 100755
new mode 100644
index e2eb52b..0a2e094
--- a/mcu/protocol/interface/ddm/d2pm_public_defs.h
+++ b/mcu/protocol/interface/ddm/d2pm_public_defs.h
@@ -33,35 +33,6 @@
*
*****************************************************************************/
-/*****************************************************************************
- *
- * Filename:
- * ---------
- * d2pm_public_defs.h
- *
- * Project:
- * --------
- *
- *
- * Description:
- * ------------
- *
- *
- * Author:
- * -------
- *
- *
- *============================================================================
- * HISTORY
- * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
- *------------------------------------------------------------------------------
- * removed!
- * removed!
- *
- *------------------------------------------------------------------------------
- * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
- *============================================================================
- ****************************************************************************/
#ifndef __D2PM_PUBLIC_DEFS_H__
#define __D2PM_PUBLIC_DEFS_H__
@@ -104,6 +75,10 @@
#define D2PM_CID_BITMAP_SIZE (((D2PM_MAX_CID - D2PM_MIN_CID) >> 3) + 1)
#define D2PM_INVAL_APN_IDX (-1)
#define D2PM_NW_ASSIGNED_APN_IDX (0x0001FE00)
+// => Internal
+#define d2pm_macro_cat(x, y) x ## y
+#define d2pm_macro_postfix(x, postfix) d2pm_macro_cat(x, postfix)
+#define d2pm_macro_var(var) d2pm_macro_postfix(var, __LINE__)
// Functions
// => Fundamental prototype
@@ -113,6 +88,11 @@
(*(((kal_uint8*)(bitmap_ptr)) + ((bit_num) >> 3)) &= ~(1 << ((bit_num) & 7)), (bitmap_ptr)))
#define vl_bitmap_get(bitmap_ptr, size, bit_num) ((size) < ((bit_num) >> 3) + 1 ? 0 != 0 : \
((*(((kal_uint8*)(bitmap_ptr)) + ((bit_num) >> 3)) & (1 << ((bit_num) & 7))) == 0 ? 0 != 0 : 0 == 0))
+#define vl_bitmap_is_empty(bitmap_ptr, size) ({ \
+ size_t d2pm_macro_var(i); \
+ for(d2pm_macro_var(i) = 0; d2pm_macro_var(i) < (size) && *((uint8_t*)(bitmap_ptr) + d2pm_macro_var(i)) == 0; d2pm_macro_var(i)++); \
+ d2pm_macro_var(i) >= (size) ? true : false; \
+ })
#define cid_bitmap_set(bitmap_ptr, size, cid) ((cid) < D2PM_MIN_CID || (cid) > D2PM_MAX_CID || (size) < (((cid) - D2PM_MIN_CID) >> 3) + 1 ? NULL : \
(vl_bitmap_set((bitmap_ptr), (size), (cid) - D2PM_MIN_CID)))
#define cid_bitmap_reset(bitmap_ptr, size, cid) ((cid) < D2PM_MIN_CID || (cid) > D2PM_MAX_CID || (size) < (((cid) - D2PM_MIN_CID) >> 3) + 1 ? NULL : \
diff --git a/mcu/protocol/interface/ddm/ursp_public_defs.h b/mcu/protocol/interface/ddm/ursp_public_defs.h
old mode 100755
new mode 100644
index ef63ef3..94b35f9
--- a/mcu/protocol/interface/ddm/ursp_public_defs.h
+++ b/mcu/protocol/interface/ddm/ursp_public_defs.h
@@ -1,3 +1,16 @@
+/*****************************************************************************
+ *
+ * Copyright (c) 2019, MediaTek Inc. All rights reserved.
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein is
+ * confidential and proprietary to MediaTek Inc. and/or its licensors. Except as
+ * otherwise provided in the applicable licensing terms with MediaTek Inc.
+ * and/or its licensors, any reproduction, modification, use or disclosure of
+ * MediaTek Software, and information contained herein, in whole or in part,
+ * shall be strictly prohibited.
+ *
+ *****************************************************************************/
+
#ifndef __URSP_PUBLIC_DEFS_H__
#define __URSP_PUBLIC_DEFS_H__
@@ -35,38 +48,6 @@
}ursp_reeval_event_enum;
// => Internal
-typedef enum {
- TD_TYPE_MATACH_ALL = 0x00,
- TD_TYPE_OS_APP_ID = 0x08,
- TD_TYPE_IPV4_REMOTE_ADDR = 0x10,
- TD_TYPE_IPV6_REMOTE_ADDR = 0x21,
- TD_TYPE_PROTOCOL_ID = 0x30,
- TD_TYPE_SINGLE_REMOTE_PORT = 0x50,
- TD_TYPE_REMOTE_PORT_RANGE = 0x51,
- TD_TYPE_SPI = 0x60,
- TD_TYPE_TOS = 0x70,
- TD_TYPE_FLOW_LABEL = 0x80,
- TD_TYPE_DEST_MAC = 0x81,
- TD_TYPE_C_TAG_VID = 0x83,
- TD_TYPE_S_TAG_VID = 0x84,
- TD_TYPE_C_TAG_PCP = 0x85,
- TD_TYPE_S_TAG_PCP = 0x86,
- TD_TYPE_ETHER_TYPE = 0x87,
- TD_TYPE_DNN = 0x88,
- TD_TYPE_CONN_CAPA = 0x90,
- TD_TYPE_DEST_FQDN = 0x91,
- TD_TYPE_APP_ID = 0xa0,
-} traffic_descriptor_component_type_enum;
-
-typedef enum {
- RS_TYPE_SSC = 0x01,
- RS_TYPE_SNSSAI = 0x02,
- RS_TYPE_DNN = 0x04,
- RS_TYPE_PDU_SESSION_TYPE = 0x08,
- RS_TYPE_PREFER_ACCESS_TYPE = 0x10,
- RS_TYPE_NON_SEAMLESS = 0x20,
-} route_selection_descriptor_component_type_enum;
-
#if 0
/* under construction !*/
/* under construction !*/
@@ -77,12 +58,34 @@
/* under construction !*/
/* under construction !*/
/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
#endif
// Macro
#define URSP_CID_BITMAP_SIZE (D2PM_CID_BITMAP_SIZE)
-#define URSP_UE_POLICY_MAX_RULE_LIST_SIZE (8) // 'eight' refers to the maximum size of allowed NSSAI, i.e. at most eight different slices
-#define URSP_RULE_MAX_ROUTE_SEL_DESC_LIST_SIZE (8) // 'eight' refers to the maximum size of allowed NSSAI, i.e. at most eight different slices
+#define URSP_UE_POLICY_MAX_RULE_LIST_SIZE (16) // NEED_TO_BE_NOTICED, should be configured by MCF, 'eight' refers to the maximum size of allowed NSSAI, i.e. at most eight different slices, however, changed to sixteen due to ALPS07656683
+#define URSP_RULE_MAX_ROUTE_SEL_DESC_LIST_SIZE (16) // NEED_TO_BE_NOTICED, should be configured by MCF, 'eight' refers to the maximum size of allowed NSSAI, i.e. at most eight different slices, however, changed to sizteen due to ALPS07656683
// => LADN
#define URSP_MAX_LADN_DNN_NUM (8)
#define URSP_LADN_DNN_DELIM "\x1F"
@@ -105,7 +108,7 @@
#define URSP_TDC_TYPE_IPV6_NEXT_HDR (0x30)
#define URSP_TDC_TYPE_SINGLE_REMOTE_PORT (0x50)
#define URSP_TDC_TYPE_REMOTE_PORT_RANGE (0x51)
-#define URSP_TDC_TYPE_IP_3_TUPLE (0x52) // max{(IPV4_REMOTE_ADDR, IPV4_REMOTE_MASK), (IPV6_REMOTE_ADDR, IPV6_PREFIX_LEN)} + IPV4_PROT_ID/IPV6_NEXT_HDR + max{SINGLE_REMOTE_PORT, (PORT_RANGE_LOW_LIMIT, PORT_RANGE_HIGH_LIMIT)}
+#define URSP_TDC_TYPE_IP_3_TUPLE (0x52)
#define URSP_TDC_TYPE_SEC_PARAM_IDX (0x60)
#define URSP_TDC_TYPE_TYPE_OF_SVC (0x70)
#define URSP_TDC_TYPE_TFC_CLASS (0x70)
@@ -165,6 +168,7 @@
#define URSP_RSDC_LEN_DNN (URSP_DNN_SIZE)
#define URSP_RSDC_LEN_PDU_SESSION_TYPE (1)
#define URSP_RSDC_LEN_PREF_ACCESS_TYPE (1)
+#define URSP_RSDC_LEN_MULTI_ACCESS_PREF (0)
#define URSP_RSDC_LEN_NON_SEAMLESS_NON_3GPP_OFFLOAD_IND (0)
// APIs
diff --git a/mcu/protocol/interface/ddm/ursp_struct.h b/mcu/protocol/interface/ddm/ursp_struct.h
old mode 100755
new mode 100644
index c97db98..b29478c
--- a/mcu/protocol/interface/ddm/ursp_struct.h
+++ b/mcu/protocol/interface/ddm/ursp_struct.h
@@ -1,9 +1,22 @@
+/*****************************************************************************
+ *
+ * Copyright (c) 2019, MediaTek Inc. All rights reserved.
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein is
+ * confidential and proprietary to MediaTek Inc. and/or its licensors. Except as
+ * otherwise provided in the applicable licensing terms with MediaTek Inc.
+ * and/or its licensors, any reproduction, modification, use or disclosure of
+ * MediaTek Software, and information contained herein, in whole or in part,
+ * shall be strictly prohibited.
+ *
+ *****************************************************************************/
+
#ifndef __URSP_STRUCT_H__
#define __URSP_STRUCT_H__
#include "kal_general_types.h"
#include "kal_public_defs.h"
-#include "mcd_l3_inc_struct.h"
+#include "d2_public_defs.h"
#include "atcmd_enum.h"
#include "ursp_public_defs.h"
@@ -65,20 +78,6 @@
kal_uint16 min_remote_port;
kal_uint16 max_remote_port;
}tdc_81_t;
-typedef struct tdc_82
-{
- union
- {
- tdc_16_t ipv4;
- tdc_33_t ipv6;
- }remote_addr;
- tdc_48_t prot_id_next_hdr;
- union
- {
- kal_uint16 single;
- tdc_81_t range;
- }remote_port;
-}tdc_82_t;
typedef struct
{
union
@@ -129,6 +128,7 @@
kal_uint8 dnn[URSP_TDC_LEN_DNN]; // APN in TS 23.003
kal_uint8 pdu_session_type;
kal_uint8 pref_access_type;
+ kal_bool multi_access_pref;
}ursp_route_sel_desc_struct;
typedef struct
@@ -148,6 +148,7 @@
kal_uint8 dnn[URSP_TDC_LEN_DNN]; // APN in TS 23.003
kal_uint8 pdu_session_type;
kal_uint8 pref_access_type;
+ kal_bool multi_access_pref;
}ursp_ue_local_conf_struct;
typedef ursp_ue_local_conf_struct ursp_est_req_param_struct;
@@ -412,7 +413,8 @@
kal_uint8 rsd_dnn[URSP_RSDC_LEN_DNN];
kal_uint8 pdu_session_type;
kal_uint8 pref_access_type;
- kal_bool is_nsn3_offload;
+ kal_bool is_multi_access_pref;
+ kal_bool is_nsn3_offload;
}ursp_rule_tbl_dump_ind_struct;
diff --git a/mcu/protocol/interface/general/5g/vgsm_msg_unpack.h b/mcu/protocol/interface/general/5g/vgsm_msg_unpack.h
old mode 100755
new mode 100644
index a256cd5..a9f8531
--- a/mcu/protocol/interface/general/5g/vgsm_msg_unpack.h
+++ b/mcu/protocol/interface/general/5g/vgsm_msg_unpack.h
@@ -383,6 +383,9 @@
kal_uint16 max_num_of_supported_pf;
kal_uint8 always_on_pdu_session_reqP;
vgsm_mcddll_always_on_pdu_session_requested_struct always_on_pdu_session_req;
+ kal_uint8 sm_pdu_dn_req_containerP;
+ kal_uint8 no_sm_pdu_dn_req_container;
+ kal_uint8 *sm_pdu_dn_req_container;
kal_uint8 epcoP;
kal_uint16 no_epco;
kal_uint8 epco[D_NO_EPCO];
diff --git a/mcu/protocol/interface/general/gmss_nwsel_struct.h b/mcu/protocol/interface/general/gmss_nwsel_struct.h
old mode 100755
new mode 100644
index b77a0ef..daf381f
--- a/mcu/protocol/interface/general/gmss_nwsel_struct.h
+++ b/mcu/protocol/interface/general/gmss_nwsel_struct.h
@@ -1104,6 +1104,9 @@
/**< indicate the current cell info trx id, used by VDM/GMSS/NWSEL to distinguish the emergency call cell used */
kal_uint16 camping_info_id;
+ /**< indicate the 3GPP current cell id */
+ kal_uint64 cell_id;
+
} gmss_nwsel_camping_info_ind_struct;
// new primitive for AS IRAT stage 1 success
diff --git a/mcu/protocol/interface/general/vdm_gmss_struct.h b/mcu/protocol/interface/general/vdm_gmss_struct.h
old mode 100755
new mode 100644
index 63705de..202bd49
--- a/mcu/protocol/interface/general/vdm_gmss_struct.h
+++ b/mcu/protocol/interface/general/vdm_gmss_struct.h
@@ -94,7 +94,8 @@
kal_uint16 channel; /* used for rat is 3GPP2 only */
kal_bool is_registered; /*indicate if the record is registered or not*/
kal_bool is_ims_emergency_support; /*indicate if the cell support ims emergency call, only applicable when LTE cell*/
- kal_uint16 camping_info_id; /*indicate the camping info id, only used for 3GPP */
+ kal_uint16 camping_info_id; /*indicate the camping info id, only used for 3GPP */
+ kal_uint64 cell_id; /* used for rat is 3GPP only */
} vdm_gmss_camping_info_ind_struct;
typedef struct
diff --git a/mcu/protocol/interface/ims/atp_d2at_struct.h b/mcu/protocol/interface/ims/atp_d2at_struct.h
old mode 100755
new mode 100644
index 4c352ed..d086667
--- a/mcu/protocol/interface/ims/atp_d2at_struct.h
+++ b/mcu/protocol/interface/ims/atp_d2at_struct.h
@@ -33,29 +33,6 @@
*
*****************************************************************************/
-/*******************************************************************************
- * Filename:
- * ---------
- * atp_d2at_struct.h
- *
- * Project:
- * --------
- *
- *
- * Description:
- * ------------
- *
- *
- * Author:
- * -------
- *
- *
- *
- * ==========================================================================
- *
- * .
- *
- ****************************************************************************/
#ifndef _ATP_D2AT_STRUCT_H
#define _ATP_D2AT_STRUCT_H
@@ -113,59 +90,8 @@
/*******************************************************************************
* Internal *
*******************************************************************************/
-#if 0
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-/* under construction !*/
-#endif
+// N/A
+
/*******************************************************************************
* ATP to DAST request and DAST to ATP confrim *
*******************************************************************************/
@@ -307,7 +233,7 @@
kal_bool apn_idx_present;
kal_int32 apn_idx;
kal_bool s_nssai_present;
- at_s_nssai_struct s_nssai;
+ at_s_nssai_struct s_nssai;
} atp_d2at_enssai_req_struct;
@@ -355,19 +281,19 @@
kal_bool Local_Addr_Ind_present;
atcmd_Local_Addr_Ind_enum Local_Addr_Ind; // integer type
*/
-
+
} atp_d2at_cgdcont_ind_struct1;
//AT+CGDCONT CNF
-typedef struct {
- ATP_D2AT_CNF_LOCAL_PARA_HDR
+typedef struct {
+ ATP_D2AT_CNF_LOCAL_PARA_HDR
}atp_d2at_cgdcont_cnf_struct;
-typedef struct {
- ATP_D2AT_CNF_LOCAL_PARA_HDR
+typedef struct {
+ ATP_D2AT_CNF_LOCAL_PARA_HDR
}atp_d2at_cgauth_cnf_struct;
/*******************/
@@ -380,7 +306,7 @@
ATP_D2AT_REQ_LOCAL_PARA_HDR
kal_uint32 sim_id;
- atcmd_state_enum state;
+ atcmd_state_enum state;
kal_uint8 iccid[USERID_STRING_LEN]; // string type
}atp_d2at_eapnlock_req_struct;
@@ -410,8 +336,8 @@
at_s_nssai_struct S_NSSAI; // string type
at_token_parse_result_enum SSC_mode_parse_result;
atcmd_SSC_mode_enum SSC_mode; // integer type
- at_token_parse_result_enum Access_type_parse_result;
- atcmd_Access_type_enum Access_type; // integer type
+ at_token_parse_result_enum Access_type_parse_result;
+ atcmd_Access_type_enum Access_type; // integer type
} at_eapnset_UE_local_config_struct;
*/
@@ -423,13 +349,13 @@
kal_uint32 sim_id;
kal_bool apn_present;
kal_uint8 apn[APN_STRING_LEN]; // string type
- kal_bool cmd_present;
+ kal_bool cmd_present;
kal_uint32 cmd; // integer type
union
{
- kal_uint8 apn_parameter[APN_PARAMETER_STRING_LEN];
- at_eapnset_up_struct user_passwd;
+ kal_uint8 apn_parameter[APN_PARAMETER_STRING_LEN];
+ at_eapnset_up_struct user_passwd;
at_eapnset_UE_local_config_struct UE_local_config;
} param;
}atp_d2at_eapnset_req_struct;
@@ -735,7 +661,7 @@
ATP_D2AT_REQ_LOCAL_PARA_HDR
at_token_parse_result_enum cid_parse_result;
- kal_uint32 cid;
+ kal_uint32 cid;
}atp_d2at_cgcontrdp_req_struct;
typedef struct
@@ -754,7 +680,7 @@
// AT+ESIMMAP, NEED_TO_BE_NOTICED, monitoring only
-typedef struct
+typedef struct
{
ATP_D2AT_REQ_LOCAL_PARA_HDR
@@ -764,7 +690,7 @@
// AT+EPSMAP, NEED_TO_BE_NOTICED, monitoring only
-typedef struct
+typedef struct
{
ATP_D2AT_REQ_LOCAL_PARA_HDR
@@ -830,7 +756,7 @@
kal_uint32 pdp_type;
kal_int32 if_id;
kal_uint32 ap_if_status;
- kal_uint32 md_if_status;
+ kal_uint32 md_if_status;
kal_uint32 usr_list;
kal_uint32 flag;
}deact;
@@ -869,7 +795,7 @@
} atp_d2at_eif_addr_type_enum;
typedef struct {
- kal_uint32 type;
+ kal_uint32 type;
kal_uint32 num;
kal_uint8 v4[4];
kal_uint8 v6[16];
@@ -911,7 +837,7 @@
typedef struct {
ATP_D2AT_REQ_LOCAL_PARA_HDR
- atcmd_state_enum state;
+ atcmd_state_enum state;
kal_uint8 apn[APN_STRING_LEN];
kal_uint8 type[APN_TYPE_LIST_STRING_LEN];
} atp_d2at_eaid_req_struct;
@@ -1027,7 +953,7 @@
typedef struct {
ATP_D2AT_L4_CMD_IND_LOCAL_PARA_HDR
- atcmd_state_enum state;
+ atcmd_state_enum state;
} atp_d2at_l4_cmd_cgatt_ind_struct;
//AT+CGATT RSP
typedef struct {
@@ -1053,7 +979,7 @@
//+ICCID RSP
typedef struct {
ATP_D2AT_L4_RSP_IND_LOCAL_PARA_HDR
- kal_uint8 iccid[20];
+ kal_uint8 iccid[20];
} atp_d2at_l4_cmd_iccid_rsp_struct;
//AT+EGREA IND
@@ -1125,7 +1051,7 @@
kal_uint8 edretry;
atp_cgerep_config_context_struct cgerep;
atp_cgpiaf_config_context_struct cgpiaf;
-} atp_d2at_report_mode_struct;
+} atp_d2at_report_mode_struct;
typedef struct
{
diff --git a/mcu/protocol/interface/ims/d2pm_d2rm_struct.h b/mcu/protocol/interface/ims/d2pm_d2rm_struct.h
old mode 100755
new mode 100644
index 01264e8..2ca1076
--- a/mcu/protocol/interface/ims/d2pm_d2rm_struct.h
+++ b/mcu/protocol/interface/ims/d2pm_d2rm_struct.h
@@ -186,10 +186,7 @@
/* common part */
kal_uint32 cid;
-
- /* private part */
- d2pm_ddm_mod_data_call_req_prv_struct d2pm_ddm_prv;
- d2pm_n3epc_mod_data_call_req_prv_struct d2pm_n3epc_prv;
+ kal_uint32 src_id;
}d2pm_d2rm_mod_data_call_req_struct;
@@ -459,13 +456,11 @@
{
LOCAL_PARA_HDR
- /* common part */
- d2pm_d2rm_res_enum res;
+ kal_uint32 cid;
+ kal_uint32 src_id;
- /* private part */
- d2pm_d2rm_mod_data_call_cnf_prv_struct d2pm_d2rm_prv;
- d2pm_ddm_mod_data_call_cnf_prv_struct d2pm_ddm_prv;
- d2pm_n3epc_mod_data_call_cnf_prv_struct d2pm_n3epc_prv;
+ d2pm_d2rm_res_enum res;
+ kal_uint16 ps_cause;
}d2pm_d2rm_mod_data_call_cnf_struct;
@@ -671,7 +666,11 @@
kal_uint8 is_succ;
atcmd_request_type_enum req_type;
d2pm_d2rm_res_enum res;
-
+
+ kal_int32 ps_errcause;
+ n3epc_pdn_reject_enum epdg_errcause;
+ n3epc_ike_error_notify_enum epdg_sub_errcause;
+
ip_info_struct ip_info; //for H.O end update
d2pm_d2rm_net_info_struct net_info;
d2pm_d2rm_ims_info_struct ims_info;
diff --git a/mcu/protocol/interface/ims/imcb_imc_struct.h b/mcu/protocol/interface/ims/imcb_imc_struct.h
old mode 100755
new mode 100644
index 3fb5502..7cc3f5f
--- a/mcu/protocol/interface/ims/imcb_imc_struct.h
+++ b/mcu/protocol/interface/ims/imcb_imc_struct.h
@@ -2878,6 +2878,9 @@
imcf_uint8 if_name[IMC_MAX_IF_NAME_LENGTH];
imcf_uint8 acct_id;
imcf_uint8 pad[3];
+ imcf_int32 ps_errcause;
+ imcf_int32 epdg_errcause; // n3epc_pdn_reject_enum
+ imcf_int32 epdg_sub_errcause; // n3epc_ike_error_notify_enum
} imcb_imc_handover_end_req_struct;
typedef struct {
diff --git a/mcu/protocol/interface/ims/ims_common_def.h b/mcu/protocol/interface/ims/ims_common_def.h
old mode 100755
new mode 100644
index ccf2d74..1b75933
--- a/mcu/protocol/interface/ims/ims_common_def.h
+++ b/mcu/protocol/interface/ims/ims_common_def.h
@@ -2443,6 +2443,12 @@
IMCB_PCSCF_LIST_NO_CHANGE_AT_FIRST_PLACE
} imcb_pcscf_list_change_enum;
+enum IMS_ADD_PANI_IN_ACK_e {
+ IMS_ADD_PANI_IN_ACK_NONE = 0,
+ IMS_ADD_PANI_IN_ACK_ALL = 1,
+ IMS_ADD_PANI_IN_ACK_ONLY_FOR_200OK = 2
+};
+
/******************************************************************************
* Basic type definitions
*****************************************************************************/
diff --git a/mcu/protocol/interface/ims/imsm_imcb_struct.h b/mcu/protocol/interface/ims/imsm_imcb_struct.h
old mode 100755
new mode 100644
index f4544b4..dd64dc0
--- a/mcu/protocol/interface/ims/imsm_imcb_struct.h
+++ b/mcu/protocol/interface/ims/imsm_imcb_struct.h
@@ -128,6 +128,7 @@
#include "ps_public_enum.h"
#include "sim_public_enum.h"
#include "ims_common_def.h"
+#include "n3epc_public_defs.h"
//#include "imcb_imc_struct.h"
#define IMC_IPV4V6_ADDR_LEN 0x14
@@ -630,7 +631,9 @@
imc_access_rat_type_enum target_rat_type;
imcf_uint8 is_success;
imc_emergency_ind_enum emergency_indication;
- imcf_uint8 pad[3];
+ kal_int32 ps_errcause;
+ n3epc_pdn_reject_enum epdg_errcause;
+ n3epc_ike_error_notify_enum epdg_sub_errcause;
} imsm_imcb_handover_stop_notify_req_struct,
imsa_imcb_handover_stop_notify_req_struct;
diff --git a/mcu/protocol/interface/ims/vdm_imc_struct.h b/mcu/protocol/interface/ims/vdm_imc_struct.h
old mode 100755
new mode 100644
index b88527a..9a110fc
--- a/mcu/protocol/interface/ims/vdm_imc_struct.h
+++ b/mcu/protocol/interface/ims/vdm_imc_struct.h
@@ -575,6 +575,11 @@
typedef struct
{
LOCAL_PARA_HDR
+} vdm_imc_ims_emc_session_end_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
} vdm_imc_ims_cc_mt_call_ring_ind_struct;
typedef struct
diff --git a/mcu/protocol/interface/l4/l4c2rac_struct.h b/mcu/protocol/interface/l4/l4c2rac_struct.h
old mode 100755
new mode 100644
index 084b1b5..173e133
--- a/mcu/protocol/interface/l4/l4c2rac_struct.h
+++ b/mcu/protocol/interface/l4/l4c2rac_struct.h
@@ -888,5 +888,11 @@
typedef rac_gmss_set_allowed_mcc_list_req_struct l4crac_set_allowed_mcc_list_req_struct;
typedef rac_gmss_set_allowed_mcc_list_cnf_struct l4crac_set_allowed_mcc_list_cnf_struct;
+
+#ifdef __ECALL_SUPPORT__
+typedef rac_nas_sv_get_t10_status_req_struct l4crac_get_t10_status_req_struct;
+typedef rac_nas_sv_get_t10_status_cnf_struct l4crac_get_t10_status_cnf_struct;
+#endif
+
#endif /* _L4C2RAC_STRUCT_H */
diff --git a/mcu/protocol/interface/l4/mm2mmi_struct.h b/mcu/protocol/interface/l4/mm2mmi_struct.h
old mode 100755
new mode 100644
index 61b756a..0bb5166
--- a/mcu/protocol/interface/l4/mm2mmi_struct.h
+++ b/mcu/protocol/interface/l4/mm2mmi_struct.h
@@ -311,7 +311,7 @@
nw_time_zone_time_struct nw_time_zone_time;
kal_bool lsa_idP;
kal_uint8 lsa_id_len;
- kal_uint8 lsa_id[3];
+ kal_uint8 lsa_id[MAX_LSA_LENGTH];
kal_bool nw_day_light_saving_timeP;
kal_uint8 nw_day_light_saving_time;
/* MAUI_01664028, mtk02118: added for MMI to exactly know which PLMN the NITZ comes from */
diff --git a/mcu/protocol/interface/l4/nas_sv_struct.h b/mcu/protocol/interface/l4/nas_sv_struct.h
old mode 100755
new mode 100644
index 9884921..aa9baec
--- a/mcu/protocol/interface/l4/nas_sv_struct.h
+++ b/mcu/protocol/interface/l4/nas_sv_struct.h
@@ -1582,6 +1582,8 @@
typedef nas_sv_xmm_broadcast_regn_result_struct nas_sv_emm_broadcast_regn_result_ind_struct;
typedef nas_sv_xmm_broadcast_regn_result_struct nas_sv_mm_broadcast_regn_result_ind_struct;
typedef nas_sv_xmm_broadcast_regn_result_struct nas_sv_any_broadcast_regn_result_ind_struct;
+typedef nas_sv_xmm_broadcast_regn_result_struct nas_sv_vgmm_emc_rel_dereg_ind_struct;
+typedef nas_sv_xmm_broadcast_regn_result_struct nas_sv_emm_emc_rel_dereg_ind_struct;
typedef struct
{
@@ -1667,9 +1669,17 @@
typedef nas_sv_vgsm_persistent_pdu_session_ind_struct nwsel_nas_sv_vgsm_persistent_pdu_session_ind_struct;
-typedef struct
+typedef struct
{
LOCAL_PARA_HDR
+ kal_bool is_persistent_epsb_ctxt_exist;
+} nas_sv_emm_persistent_epsb_ctxt_ind_struct;
+
+typedef nas_sv_emm_persistent_epsb_ctxt_ind_struct nwsel_nas_sv_emm_persistent_epsb_ctxt_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
kal_bool is_roaming;
nwsel_capability_disabled_reason_enum disabled_reason;
} nwsel_nas_sv_disable_info_update_ntf_struct;
@@ -1694,6 +1704,22 @@
kal_bool is_emc_info_valid;
} nwsel_nas_sv_nr_emc_service_availability_rsp_struct;
+#ifdef __ECALL_SUPPORT__
+typedef struct
+{
+ LOCAL_PARA_HDR
+} nas_sv_any_get_t10_status_req_struct;
+
+typedef nas_sv_any_get_t10_status_req_struct rac_nas_sv_get_t10_status_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 t10_status;
+} nas_sv_any_get_t10_status_cnf_struct;
+
+typedef nas_sv_any_get_t10_status_cnf_struct rac_nas_sv_get_t10_status_cnf_struct;
+#endif
#if 0
/* under construction !*/
/* under construction !*/
@@ -1843,6 +1869,15 @@
+/* MSG_ID_NWSEL_NAS_SV_NRRC_EMC_FORBIDDEN_NW_LIST_UPDATE_REQ */
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 emc_fplmn_count;
+ plmn_id_struct emc_fplmn_list[MAX_FORBIDDEN_NETWORK_NUM];
+ kal_uint16 emc_fplmn_band[MAX_FORBIDDEN_NETWORK_NUM];
+} nwsel_nas_sv_nrrc_emc_forbidden_nw_list_update_req_struct;
+
#endif
diff --git a/mcu/protocol/interface/l4/tcm2sm_struct.h b/mcu/protocol/interface/l4/tcm2sm_struct.h
old mode 100755
new mode 100644
index a144faa..4dd32eb
--- a/mcu/protocol/interface/l4/tcm2sm_struct.h
+++ b/mcu/protocol/interface/l4/tcm2sm_struct.h
@@ -251,6 +251,26 @@
req_processing_info_struct req_processing_info;
} smreg_pdp_activate_req_struct;
+#if defined(__SM_UT__)
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 sim_idx;
+ smreg_pdp_activate_req_struct pdp_act_req;
+ kal_bool rslt;
+} sm_ut_compose_pdp_act_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 sim_idx;
+ kal_uint8 pdu_len;
+ kal_uint8 pdu_data[100];
+ kal_bool rslt;
+} sm_ut_decode_pdp_act_req_struct;
+
+typedef sm_ut_decode_pdp_act_req_struct sm_ut_compose_pdp_act_req_result_struct;
+typedef sm_ut_compose_pdp_act_req_struct sm_ut_decode_pdp_act_req_result_struct;
+#endif
+
typedef struct {
LOCAL_PARA_HDR
smreg_pdp_activate_req_struct trace;
diff --git a/mcu/protocol/interface/l4/tcm_pam_struct.h b/mcu/protocol/interface/l4/tcm_pam_struct.h
old mode 100755
new mode 100644
index 8f500c2..bfc4aba
--- a/mcu/protocol/interface/l4/tcm_pam_struct.h
+++ b/mcu/protocol/interface/l4/tcm_pam_struct.h
@@ -56,6 +56,7 @@
typedef struct {
LOCAL_PARA_HDR
kal_uint8 psi;
+ kal_uint8 sat_pti;
kal_bool is_pdu_session_type_present;
pdp_addr_type_enum pdu_session_type;
@@ -86,6 +87,9 @@
req_processing_info_struct req_processing_info;
kal_bool is_ladn_dnn;
+
+ kal_bool is_sm_pdu_dn_req_container_present;
+ sm_pdu_dn_req_container_struct sm_pdu_dn_req_container;
} tcm_pam_pdu_session_est_req_struct;
/* MSG_ID_TCM_PAM_PDU_SESSION_EST_CNF */
diff --git a/mcu/protocol/interface/l4misc/l3_inc_enums.h b/mcu/protocol/interface/l4misc/l3_inc_enums.h
old mode 100755
new mode 100644
index 888c89c..f3d2001
--- a/mcu/protocol/interface/l4misc/l3_inc_enums.h
+++ b/mcu/protocol/interface/l4misc/l3_inc_enums.h
@@ -2483,7 +2483,8 @@
PLMN_LOSS, /* For report PLMN_LOSS when control by GMSS */
ABORTED_BY_UPPER_LAYER,
MM_IN_VIRTUAL_MODE,
- MM_CAUSE_ENUM_END = MM_IN_VIRTUAL_MODE
+ GPRS_SERV_SUSPENDED_DUE_TO_CS, /* MM will report this cause to NAS_SV/RAC PS Suspend due to MO CS call after LAU(triggered due to IRAT 4to2G ) */
+ MM_CAUSE_ENUM_END = GPRS_SERV_SUSPENDED_DUE_TO_CS
}mm_cause_enum;
typedef enum
@@ -2741,6 +2742,15 @@
NWSEL_PLMN_TIMER_VZW_VGMM_T3502,
NWSEL_PLMN_TIMER_VZW_VGMM_T3525,
NWSEL_PLMN_TIMER_VZW_VGMM_SR_THROTTLING,
+ /* Customize PLMN base timer. Provide 8 cause for customization. */
+ NWSEL_PLMN_TIMER_CUSTOMIZE_TIMER_CAUSE0,
+ NWSEL_PLMN_TIMER_CUSTOMIZE_TIMER_CAUSE1,
+ NWSEL_PLMN_TIMER_CUSTOMIZE_TIMER_CAUSE2,
+ NWSEL_PLMN_TIMER_CUSTOMIZE_TIMER_CAUSE3,
+ NWSEL_PLMN_TIMER_CUSTOMIZE_TIMER_CAUSE4,
+ NWSEL_PLMN_TIMER_CUSTOMIZE_TIMER_CAUSE5,
+ NWSEL_PLMN_TIMER_CUSTOMIZE_TIMER_CAUSE6,
+ NWSEL_PLMN_TIMER_CUSTOMIZE_TIMER_CAUSE7,
NWSEL_PLMN_TIMER_N1_MAX_PDU_EST_TIMEOUT_REACHED, /* ATT LTE-N37-1-3706 step 5 */
NWSEL_PLMN_TIMER_N1_DISABLE_4G5_IRAT_FAIL_FTA,
@@ -2808,6 +2818,8 @@
/* VzW VGMM NAS not allow cause */
NWSEL_NAS_NOT_ALLOW_VGMM_N1_MODE_NOT_ALLOWED_TG, /* Removed VZW_ as its converted as generic feature */
NWSEL_N1_DISABLED_BY_NR_EMC_AVAILABILITY,
+ /* common reason*/
+ NWSEL_CUSTOMIZE_PLMN_BASE_TIMER,
} nwsel_capability_disabled_reason_enum;
typedef enum {
diff --git a/mcu/protocol/interface/l4misc/l4_trc_mod_l4c_utmd.json b/mcu/protocol/interface/l4misc/l4_trc_mod_l4c_utmd.json
old mode 100755
new mode 100644
index 9c7f4fc..bf01f9f
--- a/mcu/protocol/interface/l4misc/l4_trc_mod_l4c_utmd.json
+++ b/mcu/protocol/interface/l4misc/l4_trc_mod_l4c_utmd.json
@@ -2971,6 +2971,13 @@
}
},
{
+ "INFO_L4C_ENQUEUE_PENDING_ACTION_AT_REAR": {
+ "apiType": "index",
+ "format": "[L4C] Enqueue pending action at rear: %Ml4c_pending_action_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
"INFO_L4C_DEQUEUE_PENDING_ACTION": {
"apiType": "index",
"format": "[L4C] Dequeue pending action: %Ml4c_pending_action_enum",
@@ -5146,8 +5153,22 @@
"format": "[L4C_NW] skip duplicate CSCON !!",
"traceClass": "TRACE_INFO"
}
+ },
+ {
+ "WARNING_RAT_MODE_CONFLICT_WITH_VGOPT": {
+ "apiType": "index",
+ "format": "[L4C_NW]Warning: RAT mode : %d, VGOPT : %d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "RAC_UPDATE_VDP_FOR_23G_DISABLED_RAT_MODE": {
+ "apiType": "index",
+ "format": "[RAC] Change VDP to %Ml4_voice_domain_preference_enum for OP50 when 3G disabled",
+ "traceClass": "TRACE_INFO"
+ }
}
],
"traceFamily": "PS",
"userModule": ""
-}
\ No newline at end of file
+}
diff --git a/mcu/protocol/interface/l4misc/l5_l4c_struct.h b/mcu/protocol/interface/l4misc/l5_l4c_struct.h
old mode 100755
new mode 100644
index ddb0528..bc08606
--- a/mcu/protocol/interface/l4misc/l5_l4c_struct.h
+++ b/mcu/protocol/interface/l4misc/l5_l4c_struct.h
@@ -66,6 +66,7 @@
#include "rac2l4c_struct.h"
#include "mmrf_msg_interface.h"
#include "l4c_upds_struct.h"
+#include "sim_ps_struct.h"
#ifdef __MBIM_MS_NETWORK_BLACKLIST__
@@ -186,6 +187,20 @@
typedef l4crac_get_nssai_req_struct l5_l4c_get_nssai_req_struct;
typedef l4crac_get_nssai_cnf_struct l5_l4c_get_nssai_cnf_struct;
typedef l4crac_vgmm_nw_params_ind_struct l5_l4c_vgmm_nw_params_ind_struct;
+
+#ifdef __ECALL_SUPPORT__
+typedef l4c_sim_set_ecall_mode_req_struct l5_l4c_set_ecall_mode_req_struct;
+typedef l4c_sim_set_ecall_mode_cnf_struct l5_l4c_set_ecall_mode_cnf_struct;
+typedef l4c_sim_get_ecall_mode_req_struct l5_l4c_get_ecall_mode_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint32 seq_id;
+ sim_ecall_mode_enum ecall_mode;
+ kal_uint8 t10_status; /* 0: not run, 1: running */
+} l5_l4c_get_ecall_mode_cnf_struct;
+#endif
+
#endif
typedef l4c_upds_os_id_update_req_struct l5_l4c_os_id_update_req_struct;
diff --git a/mcu/protocol/interface/lte/tcm_eval_struct.h b/mcu/protocol/interface/lte/tcm_eval_struct.h
old mode 100755
new mode 100644
index 9896f79..2819fe7
--- a/mcu/protocol/interface/lte/tcm_eval_struct.h
+++ b/mcu/protocol/interface/lte/tcm_eval_struct.h
@@ -529,6 +529,11 @@
typedef ia_apn_change_req_struct pam_esm_ia_apn_change_req_struct;
+typedef struct
+{
+ LOCAL_PARA_HDR
+} esm_attach_abort_dereg_ind_struct;
+
#if 0 /*(!defined(__EVAL_ENABLE__)) && (!defined(__ESM_ENABLE__))*/
/* under construction !*/
/* under construction !*/