[Feature][Modem]Add Modem Patch P1
Change-Id: Idee4f9fd6700b484f7db86704cf5639cec4d71a2
diff --git a/mcu/protocol/interface/ddm/d2cm_struct.h b/mcu/protocol/interface/ddm/d2cm_struct.h
old mode 100644
new mode 100755
index cfae5c2..1ed58ae
--- a/mcu/protocol/interface/ddm/d2cm_struct.h
+++ b/mcu/protocol/interface/ddm/d2cm_struct.h
@@ -411,6 +411,7 @@
d2cm_act_data_call_ran_info_struct fb_ran_info; // RAN info of non-3GPP for fb_cid
d2cm_act_data_call_retry_info_struct retry_info; // retry timer for APN
kal_int32 res;
+ res_info_struct res_info;
/* private part */
union
@@ -646,6 +647,7 @@
d2cm_act_data_call_if_info_struct if_info; // for interface information
d2cm_act_data_call_ran_info_struct ran_info; // RAN info of non-3GPP
kal_int32 res;
+ res_info_struct res_info;
/* private part */
union
diff --git a/mcu/protocol/interface/errc/5g/errc_nrrc_struct.h b/mcu/protocol/interface/errc/5g/errc_nrrc_struct.h
old mode 100644
new mode 100755
index 76a122a..2966d69
--- a/mcu/protocol/interface/errc/5g/errc_nrrc_struct.h
+++ b/mcu/protocol/interface/errc/5g/errc_nrrc_struct.h
@@ -54,8 +54,23 @@
* ==========================================================================
* $Log$
*
+ * 08 11 2022 ot_asmita.k
+ * [MOLY00822474] ?Transsion??requirement??feature?better RAT detection
+ *
+ * .
+ *
+ * 07 27 2022 aimee.li
+ * [MOLY00843682] ?????? 3429378: ?21121?????????????????21121 CU+CMCC(SA+IMS)??????EPSFB????????? ???3/3
+ *
+ * .
+ *
+ * 07 25 2022 aimee.li
+ * [MOLY00843682] 软件æµè¯ç¼ºé· 3429378: ã?21121ãã?æ¹å?æ¹æ½ãã?ç½ä¼ãã?æ«ç½æµè¯ã21121 CU+CMCC(SA+IMS)å?¡ä¸ä¸»å?¡è?éEPSFBéè¯?è¿ç¨ä¸æ æ³ä¸ç½ æ¦çï¼3/3
+ *
+ * Sec algorithm interface
+ *
* 01 20 2022 tina.ma
- * [MOLY00750695] N77/78????????
+ * [MOLY00750695] N77/78频率范围��?制功能
*
* .
*
@@ -87,7 +102,7 @@
* 06 30 2020 doris.jiang
* [MOLY00534637] [Gen97] EM/ICD check in for DMF feature
*
- * [MOLY00525281] NSA°åç»´æ?求ïSCGæ·»å失败主动上报事件
+ * [MOLY00525281] NSA��维�?求�SCG添�失败主动上报事件
*
* [Huawei requirement] ICD development - SCG Failure event/ SCG release event
*
@@ -685,6 +700,10 @@
LOCAL_PARA_HDR
kal_bool result;
kal_uint8 config_bitmap;
+ kal_bool mn_ciphering_algorithm_valid;
+ enpdcp_ciphering_alg_enum mn_ciphering_algorithm;
+ kal_bool mn_integrity_algorithm_valid;
+ enpdcp_integrity_alg_enum mn_integrity_algorithm;
errc_nrrc_ie_check_cnf_chctrl_param_struct chctrl_param;
} errc_nrrc_ie_check_cnf_struct;
@@ -963,6 +982,7 @@
nr_redirect_info_struct redirect_info[MAX_NUM_NR_REDIRECTION_FREQ];
kal_uint32 nr_afr_timer;
kal_bool is_elevator_mode; // used for 4G5 elevator mode
+ kal_bool is_better_rat_detect_ongoing; // used for better RAT detection
} errc_nrrc_activate_nrcell_req_struct;
/* MSG_ID_ERRC_NRRC_ACTIVATE_NRCELL_CNF */
diff --git a/mcu/protocol/interface/general/gmss_nwsel_struct.h b/mcu/protocol/interface/general/gmss_nwsel_struct.h
old mode 100644
new mode 100755
index 57a4b32..b77a0ef
--- a/mcu/protocol/interface/general/gmss_nwsel_struct.h
+++ b/mcu/protocol/interface/general/gmss_nwsel_struct.h
@@ -68,6 +68,11 @@
*
* removed!
* removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
*
* removed!
*
@@ -1236,10 +1241,11 @@
typedef struct
{
LOCAL_PARA_HDR
- kal_uint32 trx_id; /* Transaction ID */
- rat_enum available_rat; /* rat need to be searched */
- rat_enum prefer_rat; /* subset of available rat, search those RAT first. RATN_NONE if no preference */
- module_type source; /* The source module of this service scan */
+ kal_uint32 trx_id; /* Transaction ID */
+ rat_enum available_rat; /* rat need to be searched */
+ rat_enum prefer_rat; /* subset of available rat, search those RAT first. RATN_NONE if no preference */
+ module_type source; /* The source module of this service scan */
+ kal_bool is_preempt_needed; /* Whether NWSEL need to abort current search action and do service scan first */
} gmss_nwsel_service_scan_req_struct;
typedef struct
diff --git a/mcu/protocol/interface/general/vdm_gmss_struct.h b/mcu/protocol/interface/general/vdm_gmss_struct.h
old mode 100644
new mode 100755
index b3db2b7..63705de
--- a/mcu/protocol/interface/general/vdm_gmss_struct.h
+++ b/mcu/protocol/interface/general/vdm_gmss_struct.h
@@ -104,6 +104,7 @@
rat_enum available_rat; /* rat need to be searched */
rat_enum prefer_rat; /* subset of available rat, search those RAT first. RATN_NONE if no preference */
module_type source; /* The source module of this service scan */
+ kal_bool is_preempt_needed; /* indicate the current search request can preempt the ongoing search procedure */
} vdm_gmss_service_scan_req_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 100644
new mode 100755
index a0b9aa2..22b617b
--- a/mcu/protocol/interface/ims/d2pm_d2rm_struct.h
+++ b/mcu/protocol/interface/ims/d2pm_d2rm_struct.h
@@ -352,6 +352,7 @@
d2pm_d2rm_retry_info_struct retry_info;
epdg_mapped_info_struct epdg_mapped_info;
d2pm_d2rm_res_enum res;
+ res_info_struct res_info;
/* private part */
d2pm_d2rm_act_data_call_cnf_prv_struct d2pm_d2rm_prv;
@@ -583,6 +584,7 @@
d2pm_d2rm_net_info_struct net_info; // for Internet information
ran_info_struct ran_info; // RAN info of non-3GPP
d2pm_d2rm_res_enum res;
+ res_info_struct res_info;
/* private part */
d2pm_d2rm_act_data_call_ind_prv_struct d2pm_d2rm_prv;
diff --git a/mcu/protocol/interface/ims/d2rm_ddm_struct.h b/mcu/protocol/interface/ims/d2rm_ddm_struct.h
old mode 100644
new mode 100755
index 56af80e..5fc5bfd
--- a/mcu/protocol/interface/ims/d2rm_ddm_struct.h
+++ b/mcu/protocol/interface/ims/d2rm_ddm_struct.h
@@ -372,6 +372,9 @@
// ddm_res_enum res_code;
kal_uint32 res_code;
+ // result info
+ res_info_ps_cause_t ps_cause;
+ res_info_nw_cause_t nw_cause;
/* private part */
d2rm_ddm_act_data_call_cnf_prv_struct d2rm_ddm_prv;
d2pm_ddm_act_data_call_cnf_prv_struct d2pm_ddm_prv;
@@ -532,6 +535,8 @@
d2rm_ddm_ip_info_struct ip_info;
d2rm_ddm_net_info_struct net_info;
ddm_res_enum res_code;
+ res_info_ps_cause_t ps_cause;
+ res_info_nw_cause_t nw_cause;
/* private part */
d2rm_ddm_act_data_call_ind_prv_struct d2rm_ddm_prv;
d2pm_ddm_act_data_call_ind_prv_struct d2pm_ddm_prv;
diff --git a/mcu/protocol/interface/ims/imcb_imc_struct.h b/mcu/protocol/interface/ims/imcb_imc_struct.h
old mode 100644
new mode 100755
index 14ea0b7..6850014
--- a/mcu/protocol/interface/ims/imcb_imc_struct.h
+++ b/mcu/protocol/interface/ims/imcb_imc_struct.h
@@ -1418,8 +1418,7 @@
imcf_uint32 sip_uri_type; /* ims_reg_sip_uri_type_enum */
imcf_uint8 retry_after_ongoing;
imcf_uint8 emergency_type;
- imcf_uint8 has_sent_register;
- imcf_uint8 pad[1];
+ imcf_uint8 pad[2];
} imcb_imc_ims_reg_state_req_struct;
/**
diff --git a/mcu/protocol/interface/ims/ims_common_def.h b/mcu/protocol/interface/ims/ims_common_def.h
old mode 100644
new mode 100755
index f81a353..49b4b02
--- a/mcu/protocol/interface/ims/ims_common_def.h
+++ b/mcu/protocol/interface/ims/ims_common_def.h
@@ -53,6 +53,11 @@
*===========================================================
* $Log$
*
+ * 07 28 2022 ot_gang.zhang
+ * [MOLY00823817] [MT6879][Figeac][S0][R2][JAPAN][SOFTBANK][TB][TrialNW][SIP PANI Info][CR Review Excluded] Supporting OTR-Voice-032066
+ *
+ * .
+ *
* 07 07 2022 jasleen.k
* [MOLY00846008] [MT6873][Margaux][Q0][R3][JAPAN][SOFTBANK][SA][SIM][Lab][Degrade, CORE_GEN-10n-22-1001] On W22.14.P1, UE kept sending PDU_REQ(for IMS) after received DEREGISTRATION_REQ(re-registration required). Note that W21.51.P3 didn't have this issue.
*
@@ -3244,6 +3249,30 @@
kal_uint8 ua_enabled; ///< UA enabled
} VoLTE_Event_UA_State_t;
+/*PANI header necessary information , send from call UA to STACK*/
+typedef struct _VoLTE_Event_UA_Stack_PANI_Info_ {
+ LOCAL_PARA_HDR
+ //Basic information for PANI
+ kal_int32 acct_id;
+ kal_uint8 cell_id[VOLTE_MAX_CELL_ID_LENGTH];
+ kal_int8 cell_id_3gpp[VOLTE_MAX_CELL_ID_LENGTH];
+ kal_int8 g_emerg_cell_id[VOLTE_MAX_CELL_ID_LENGTH];
+ kal_int8 country_code[8];
+ kal_uint32 net_type; ///< VoLTE_Event_Network_Type_e
+ kal_int32 sub_net_type; ///< VoLTE_Event_Network_Type_e
+ kal_int8 pani_access_category; ///decide to carry access-type or access-class in PANI header, refer to VoLTE_Stack_PANI_Access_Category_e
+ kal_uint32 is_emergency_call;
+
+ //Customization for PANI
+ kal_uint8 set_zero_cell_id_in_wifi;
+ kal_uint8 add_country_to_pani;
+ kal_uint8 add_cellid_to_pani;
+ kal_uint8 add_timezone_to_pani;
+ kal_uint8 add_pani_in_ack;
+ kal_uint8 add_pani_in_cancel;
+
+} VoLTE_Event_UA_Stack_PANI_Info_t;
+
/* Teardown Flow for IMCB/REG State un-sync */
typedef struct {
LOCAL_PARA_HDR
diff --git a/mcu/protocol/interface/ims/ims_interface_md.h b/mcu/protocol/interface/ims/ims_interface_md.h
old mode 100644
new mode 100755
index 8dfa807..e67f7f0
--- a/mcu/protocol/interface/ims/ims_interface_md.h
+++ b/mcu/protocol/interface/ims/ims_interface_md.h
@@ -42,6 +42,20 @@
*
* removed!
* removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
*
* removed!
* removed!
@@ -465,8 +479,9 @@
typedef enum
{
SSDS_IMC_SS_INVALID_TYPE,
- SSDS_IMC_SS_OPEATION_TYPE,
- SSDS_IMC_USSD_TYPE,
+ SSDS_IMC_SS_OPEATION_TYPE,
+ SSDS_IMC_USSD_TYPE,
+ SSDS_IMC_USSD_ENABLE_TYPE,
}ssds_imc_cmd_class_enum;
typedef enum
@@ -510,7 +525,7 @@
SSDS_IMC_OTHER_LOCAL_CLIENT_RESPOND, /* 3 :other local client has responded X*/
SSDS_IMC_NW_NOT_SUPPORT, /* 4 :operation not supported*/
SSDS_IMC_NW_TIMER_OUT, /* 5 :network time out X*/
-
+ SSDS_IMC_NW_ERROR_SESSION_STILL_EXISTS = 10,
}ssds_ussd_status_enum;
diff --git a/mcu/protocol/interface/ims/ltecsr_struct.h b/mcu/protocol/interface/ims/ltecsr_struct.h
old mode 100644
new mode 100755
index 07c0b8d..2baae25
--- a/mcu/protocol/interface/ims/ltecsr_struct.h
+++ b/mcu/protocol/interface/ims/ltecsr_struct.h
@@ -58,6 +58,11 @@
*
* removed!
* removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
*
* removed!
* removed!
@@ -1174,5 +1179,20 @@
kal_int16 drx_adjustment;
} nrrc_ltecsr_delay_budget_result_handle_req_struct;
+/**
+ * L5 LTECSR SAP
+ */
+typedef enum e_ltecsr_notify_recv_dtmf_event{
+ LTECSR_NOTIFY_RECV_DTMF_EVENT_START = 0,
+ LTECSR_NOTIFY_RECV_DTMF_EVENT_STOP = 1,
+ LTECSR_NOTIFY_RECV_DTMF_EVENT_STOP_ALL = 2
+} ltecsr_notify_recv_dtmf_event_e;
+#define MAX_DTMF_RECV_REPORT_LENGTH 2
+/* L5_LTECSR_RECV_DTMF_IND (LTECSR -> L5) */
+typedef struct s_ltecsr_l5_recv_dtmf_ind_struct {
+ LOCAL_PARA_HDR
+ kal_uint8 mode; /* 0:START, 1:STOP, 2:STOP_ALL */
+ kal_char digit[MAX_DTMF_RECV_REPORT_LENGTH]; /* digit[0]: the DTMF event char, digit[1]: always ended with '\0' */
+} l5_ltecsr_recv_dtmf_ind_struct;
#endif
diff --git a/mcu/protocol/interface/l4/l4c2rac_struct.h b/mcu/protocol/interface/l4/l4c2rac_struct.h
old mode 100644
new mode 100755
index 327cfca..084b1b5
--- a/mcu/protocol/interface/l4/l4c2rac_struct.h
+++ b/mcu/protocol/interface/l4/l4c2rac_struct.h
@@ -871,6 +871,13 @@
kal_bool ims_pdn_activation_ongoing;
} l4crac_ims_pdn_activation_req_struct;
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_emc_info_valid;
+ kal_bool is_nr_emc_service_available;
+} l4crac_nr_emc_service_availability_ind_struct;
+
#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
typedef struct
{
diff --git a/mcu/protocol/interface/l4/mmi2mm_struct.h b/mcu/protocol/interface/l4/mmi2mm_struct.h
old mode 100644
new mode 100755
index 137bff1..5d103ce
--- a/mcu/protocol/interface/l4/mmi2mm_struct.h
+++ b/mcu/protocol/interface/l4/mmi2mm_struct.h
@@ -58,6 +58,9 @@
*
* removed!
* removed!
+ *
+ * removed!
+ * removed!
* removed!
* removed!
*
@@ -451,9 +454,7 @@
#ifdef __TC02_SECURITY_REQUIREMENT__
kal_uint8 nvram_imsi_loci_gloci[MAX_LEN_OF_IMSI_LOCI_GLOCI]; //mtk02475: for man-in-middle-attack prevention
#endif
-#ifdef __MM_INTEGRITY_PREF__
- kal_bool is_disable_integrity_check;
-#endif
+ kal_bool is_disable_integrity_check;
nvram_ef_mm_data_struct nvram_mm_data_info;
nvram_ef_t3346_timer_info_struct t3346_info;
init_cause_enum init_cause;
diff --git a/mcu/protocol/interface/l4/nas_sv_struct.h b/mcu/protocol/interface/l4/nas_sv_struct.h
old mode 100644
new mode 100755
index b3d1d2e..3d0c9e7
--- a/mcu/protocol/interface/l4/nas_sv_struct.h
+++ b/mcu/protocol/interface/l4/nas_sv_struct.h
@@ -1172,6 +1172,7 @@
vg_emergency_service_ind_enum emc_supported_indicator;
vg_emergency_fallback_ind_enum emc_fallback_supported_indicator;
vgmm_5g_update_status_enum vg_update_status;
+ kal_bool is_proc_reported_earlier;
}vgmm_rat_specific_param_container_struct;
typedef union
@@ -1192,6 +1193,17 @@
nas_rat_specific_param_container_union nas_specific_container;
} nas_sv_any_regn_result_ind_struct;
+typedef struct {
+ LOCAL_PARA_HDR
+ nas_proc_enum nas_proc;
+ lr_result_enum lr_result;
+ mm_cause_enum lr_cause; // This value may be replaced by customized cause.
+ kal_uint8 attempt_counter;
+ mm_cause_enum airlr_cause;
+} nas_sv_vgmm_proc_result_ind_struct;
+
+typedef nas_sv_vgmm_proc_result_ind_struct nwsel_nas_sv_vgmm_proc_result_ind_struct;
+
typedef nas_sv_any_regn_result_ind_struct nwsel_nas_sv_regn_result_ind_struct;
typedef nwsel_nas_sv_plmn_band_ind_struct nas_sv_ratcm_plmn_band_ind_struct;
@@ -1465,6 +1477,8 @@
kal_bool vgmm_ims_voice_over_ps_ind_present;
ims_ind_enum vgmm_ims_voice_over_ps_ind;
+
+ kal_bool vgmm_is_reattach_required;
/* End of VGMM Definitions */
}nas_sv_vgmm_broadcast_regn_result_struct;
#endif //__FIVEG_NAS__
@@ -1480,6 +1494,8 @@
/* Whether the UE is registered or not according to state and current executing procedure in EMM view
used for EMM/VGMM un-sync state checking for any_xmm_broadcast_regn_result handling */
emm_bcast_regn_update_enum emm_regn_update_type;
+
+ kal_bool emm_is_reattach_required;
/* End of EMM Definitions */
}nas_sv_emm_broadcast_regn_result_struct;
@@ -1659,6 +1675,19 @@
kal_bool is_searching;
} nwsel_nas_sv_as_plmn_search_report_ind_struct;
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_emc_info_valid;
+ kal_bool is_nr_emc_service_available;
+} nwsel_nas_sv_nr_emc_service_availability_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_emc_info_valid;
+} nwsel_nas_sv_nr_emc_service_availability_rsp_struct;
+
#if 0
/* under construction !*/
/* under construction !*/
diff --git a/mcu/protocol/interface/l4/rac2l4c_struct.h b/mcu/protocol/interface/l4/rac2l4c_struct.h
old mode 100644
new mode 100755
index 91846be..5a15392
--- a/mcu/protocol/interface/l4/rac2l4c_struct.h
+++ b/mcu/protocol/interface/l4/rac2l4c_struct.h
@@ -745,6 +745,7 @@
rat_enum rat;
esm_cause_enum esm_cause;
lr_result_enum lr_result;
+ plmn_id_struct plmn_id;
}l4crac_nw_reg_rej_ind_struct; //MOLY00293006
typedef l4crac_plmn_found_ind_struct l4c_peer_plmn_found_ind_struct;
@@ -878,6 +879,13 @@
} l4crac_nw_black_list_state_ind_struct;
#endif
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_emc_info_valid;
+} l4crac_nr_emc_service_availability_rsp_struct;
+
+
#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
typedef struct
{
diff --git a/mcu/protocol/interface/l4/rac_gmss_struct.h b/mcu/protocol/interface/l4/rac_gmss_struct.h
old mode 100644
new mode 100755
index 059a906..9b94664
--- a/mcu/protocol/interface/l4/rac_gmss_struct.h
+++ b/mcu/protocol/interface/l4/rac_gmss_struct.h
@@ -161,6 +161,7 @@
#ifdef __FIVEG_NAS__
nvram_ef_vgnas_5gmm_failure_list_struct vgnas_5gmm_failure_list;
#endif
+ nvram_nwsel_enable_s1_n1_action_enum nwsel_action_enable_s1_n1[NVRAM_NWSEL_PROC_MAX];
nvram_allowed_mcc_struct allowed_mcc_data;
} rac_gmss_init_req_struct;
diff --git a/mcu/protocol/interface/l4/rac_nas_sv_struct.h b/mcu/protocol/interface/l4/rac_nas_sv_struct.h
old mode 100644
new mode 100755
index d161ac0..61d0d51
--- a/mcu/protocol/interface/l4/rac_nas_sv_struct.h
+++ b/mcu/protocol/interface/l4/rac_nas_sv_struct.h
@@ -236,6 +236,19 @@
typedef nwsel_nas_sv_as_plmn_search_report_ind_struct rac_nas_sv_as_plmn_search_report_ind_struct;
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_emc_info_valid;
+ kal_bool is_nr_emc_service_available;
+} rac_nas_sv_nr_emc_service_availability_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_emc_info_valid;
+} rac_nas_sv_nr_emc_service_availability_rsp_struct;
+
#endif
diff --git a/mcu/protocol/interface/l4/rac_vgmm_struct.h b/mcu/protocol/interface/l4/rac_vgmm_struct.h
old mode 100644
new mode 100755
index f0cd013..3f8cfce
--- a/mcu/protocol/interface/l4/rac_vgmm_struct.h
+++ b/mcu/protocol/interface/l4/rac_vgmm_struct.h
@@ -376,6 +376,8 @@
LOCAL_PARA_HDR
} rac_vgmm_5gsloci_clear_req_struct;
+typedef l4crac_set_ms_sv_req_struct rac_vgmm_set_ms_sv_req_struct;
+
typedef l4crac_vgmm_proc_failure_ind_struct rac_vgmm_proc_failure_ind_struct;
typedef struct {
@@ -429,6 +431,16 @@
kal_uint8 num_of_ladn_info;
ladn_info_with_tai_list_type_struct ladn_info[MAX_LADN_INFO];
} rac_vgmm_nw_params_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_ps_sim_valid;
+ nas_proc_enum event;
+ vgmm_cause_enum original_cause;
+ vgmm_cause_enum converted_cause;
+} rac_vgmm_cause_info_ind_struct;
+
/********************************************
* VARIABLES *
********************************************/
diff --git a/mcu/protocol/interface/l4/vdm_l4c_struct.h b/mcu/protocol/interface/l4/vdm_l4c_struct.h
old mode 100644
new mode 100755
index 9403006..9975b43
--- a/mcu/protocol/interface/l4/vdm_l4c_struct.h
+++ b/mcu/protocol/interface/l4/vdm_l4c_struct.h
@@ -71,6 +71,7 @@
#include "rac_vgmm_struct.h"
#include "as_inter_core_enum.h"
#include "rac2l4c_struct.h"
+#include "rac_nas_sv_struct.h"
//copy from l4c_eval_ims_sys_info_ind_struct
typedef struct
@@ -572,6 +573,10 @@
/* MSG_ID_VDM_L4C_GMSS_SET_HVOLTE_MODE_CNF */
typedef vdm_l4c_common_response_struct vdm_l4c_gmss_set_hvolte_mode_cnf_struct;
+typedef rac_nas_sv_nr_emc_service_availability_ind_struct vdm_l4c_nr_emc_service_availability_ind_struct;
+
+typedef rac_nas_sv_nr_emc_service_availability_rsp_struct vdm_l4c_nr_emc_service_availability_rsp_struct;
+
/*MSG_ID_VDM_L4C_EMCS_REQ*/
typedef struct
{
diff --git a/mcu/protocol/interface/l4misc/l3_inc_enums.h b/mcu/protocol/interface/l4misc/l3_inc_enums.h
old mode 100644
new mode 100755
index a56e4b0..430e01f
--- a/mcu/protocol/interface/l4misc/l3_inc_enums.h
+++ b/mcu/protocol/interface/l4misc/l3_inc_enums.h
@@ -61,6 +61,22 @@
* removed!
* removed!
*
+
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
* removed!
* removed!
* removed!
@@ -2791,6 +2807,7 @@
/* VzW VGMM NAS not allow cause */
NWSEL_NAS_NOT_ALLOW_VZW_VGMM_N1_MODE_NOT_ALLOWED_TG,
+ NWSEL_N1_DISABLED_BY_NR_EMC_AVAILABILITY,
} nwsel_capability_disabled_reason_enum;
typedef enum {
@@ -5501,7 +5518,10 @@
VGMM_CAUSE_MESSAGE_NOT_COMPATIBLE = 0x65,
VGMM_CAUSE_PROTOCOL_ERROR = 0x6f,
+ /* Causes in ts24.301 but not in ts24.501. There causes are used for interworking between LTE and NR. */
+ VGMM_CAUSE_NO_EPS_CTXT_ACT = EMM_CAUSE_NO_EPS_CTXT_ACT,
+
/* MTK internal-defined causes */
/* NOTE: the values of MTK internal-defined causes should be the same as mm_cause_enum */
VGMM_CAUSE_NO_COVERAGE = NO_COVERAGE,
diff --git a/mcu/protocol/interface/l4misc/l4c_lcs_cmd.h b/mcu/protocol/interface/l4misc/l4c_lcs_cmd.h
old mode 100644
new mode 100755
index e94004b..06e5f2e
--- a/mcu/protocol/interface/l4misc/l4c_lcs_cmd.h
+++ b/mcu/protocol/interface/l4misc/l4c_lcs_cmd.h
@@ -107,6 +107,7 @@
extern void l4c_lcs_ecc_info_req(kal_bool ecc_ongoing);
extern void l4c_lcs_emt_info_req(kal_bool emt_ongoing);
+extern void l4c_lcs_emc_info_req(call_status_enum call_status);
#endif /* _L4C_LCS_CMD_H */
diff --git a/mcu/protocol/interface/l4misc/l4c_utility.h b/mcu/protocol/interface/l4misc/l4c_utility.h
old mode 100644
new mode 100755
index 064228b..52a44f5
--- a/mcu/protocol/interface/l4misc/l4c_utility.h
+++ b/mcu/protocol/interface/l4misc/l4c_utility.h
@@ -138,6 +138,7 @@
#define convert_to_bcd(source, dest, max_dest_len) convert_to_general_bcd(source, dest, max_dest_len, CONVERT_TO_BCD_NORMAL)
#define convert_to_bcd_wild(source, dest, max_dest_len) convert_to_general_bcd(source, dest, max_dest_len, CONVERT_TO_BCD_WILD)
extern kal_uint8 convert_to_general_bcd(kal_uint8 *source, kal_uint8 *dest, kal_uint8 max_dest_len, kal_uint8 type);
+extern kal_bool l4c_get_nw_cause(kal_uint16 ps_cause, kal_uint16 *nw_err_cause);
#define convert_to_digit(source, dest) convert_to_general_digit(source, dest, CONVERT_TO_DIGIT_NORMAL)
@@ -1072,4 +1073,6 @@
extern kal_bool l4c_is_epsfb_needed(protocol_id_enum ps_id, rat_type_enum source_rat, rat_type_enum target_rat, irat_type_enum ir_type);
#endif
extern kal_bool l4c_is_call_ongoing_over_wifi();
+extern kal_bool l4c_is_vzw_private_uicc(kal_uint8 ps_id);
+extern void l4c_set_is_vzw_private_uicc();
#endif /* _L4C_UTILITY_H */ /* l4c_utility.h */
diff --git a/mcu/protocol/interface/l4misc/rmmi_context.h b/mcu/protocol/interface/l4misc/rmmi_context.h
old mode 100644
new mode 100755
index 2e93695..b141afa
--- a/mcu/protocol/interface/l4misc/rmmi_context.h
+++ b/mcu/protocol/interface/l4misc/rmmi_context.h
@@ -500,6 +500,7 @@
esm_cause_enum esm_rej_cause;
rmmi_proc_result_type_enum proc_result;
nas_proc_enum nas_proc;
+ plmn_id_struct plmn_id;
} rmmi_nw_rej_cause_attemp_counter_struct;
#if defined(__CDMA2000_RAT__)