[Feature][T8TSK-212][Modem]Update MTK modem version to MOLY.NR15.R3.MD700.MP.V75.P11.L805A.L1.240604.20240618

MTK modem version: MOLY01333286_AUTO00303263(For_MOBILETEK35_IVT_T800_MOLY.NR15.R3.MD700.MP.V75.P11).tar.gz
RF  modem version: L805A/l1_240604.rar

Change-Id: I18daf14620a8f2365a8b34403a1b7b96b4d2d82f
diff --git a/mcu/protocol/interface/ims/d2pm_ddm_struct.h b/mcu/protocol/interface/ims/d2pm_ddm_struct.h
old mode 100755
new mode 100644
index 3171df4..4cb0afb
--- a/mcu/protocol/interface/ims/d2pm_ddm_struct.h
+++ b/mcu/protocol/interface/ims/d2pm_ddm_struct.h
@@ -331,8 +331,10 @@
 /* under construction !*/
 #endif
     at_cgev_ind_struct cgev_cmd;
-    kal_bool ims_info_present;
-    d2pm_ddm_ims_info_struct ims_info;
+#if 0
+/* under construction !*/
+/* under construction !*/
+#endif
     kal_bool is_dangling_present;
     kal_bool is_dangling;
     ps_cause_enum deact_cause;
@@ -345,6 +347,14 @@
     at_escontind_ind_struct cmd;
 }d2pm_ddm_escontind_ind_struct;
 
+typedef struct
+{
+    kal_bool ims_info_present;
+    d2pm_ddm_ims_info_struct ims_info;
+
+}d2pm_ddm_urc_cgev_ind_ims_info_struct;
+
+
 typedef d2pm_ddm_urc_cgev_ind_prv_struct d2pm_ddm_pdn_nw_act_ind_prv_struct;
 typedef d2pm_ddm_urc_cgev_ind_prv_struct d2pm_ddm_pdn_nw_deact_ind_prv_struct;
 
diff --git a/mcu/protocol/interface/l4/l4c_nrrc_struct.h b/mcu/protocol/interface/l4/l4c_nrrc_struct.h
old mode 100755
new mode 100644
index 6d02f8b..4bc1c8a
--- a/mcu/protocol/interface/l4/l4c_nrrc_struct.h
+++ b/mcu/protocol/interface/l4/l4c_nrrc_struct.h
@@ -64,6 +64,7 @@
 #include "nrrc_nvram_def.h"
 #include "l4c_common_enum.h"
 #include "l4c_as_inter_core_def.h"
+#include "vdm_l4c_struct.h"
 
 #ifdef __NR_RAT__
 #define MAX_CUSTOM_NR_COMB_LIST_MAX_LENGTH NVRAM_EF_NRRC_CUSTOM_ENDC_COMB_WHITE_LIST_MAX_LENGTH
@@ -176,6 +177,14 @@
 typedef struct
 {
     LOCAL_PARA_HDR
+    kal_uint8            call_id;
+    kal_uint8            msg_type;
+    l4c_ecpi_info_struct ecpi_info;
+} l4c_nrrc_ims_call_progress_req_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
     l4c_source_id_enum src_id;
     kal_bool is_last;
     ca_band_comb_list_cmd_type_enum cmd;
diff --git a/mcu/protocol/interface/l4/nas_sv_struct.h b/mcu/protocol/interface/l4/nas_sv_struct.h
index 8320d00..65ba321 100644
--- a/mcu/protocol/interface/l4/nas_sv_struct.h
+++ b/mcu/protocol/interface/l4/nas_sv_struct.h
@@ -1704,6 +1704,12 @@
     kal_bool is_emc_info_valid;
 } nwsel_nas_sv_nr_emc_service_availability_rsp_struct;
 
+typedef struct
+{
+    LOCAL_PARA_HDR
+    pdu_session_info_struct pdu_session_info;
+} nas_sv_vgsm_pdu_session_info_ind_struct;
+
 #ifdef __ECALL_SUPPORT__
 typedef struct
 {
diff --git a/mcu/protocol/interface/l4/vdm_l4c_struct.h b/mcu/protocol/interface/l4/vdm_l4c_struct.h
old mode 100755
new mode 100644
index 471de1e..8083adc
--- a/mcu/protocol/interface/l4/vdm_l4c_struct.h
+++ b/mcu/protocol/interface/l4/vdm_l4c_struct.h
@@ -529,12 +529,6 @@
 /* MSG_ID_VDM_L4C_UAC_ALLEVIATION_IND */
 typedef rac_vgmm_ims_uac_alleviation_ind_struct vdm_l4c_uac_alleviation_ind_struct;
 
-/*MSG_ID_VDM_L4C_EMERGENCY_SERVICE_REQ*/
-typedef rac_vgmm_emergency_service_req_struct vdm_l4c_emergency_service_req_struct;
-/* MSG_ID_VDM_L4C_EMERGENCY_SERVICE_CNF */
-typedef rac_vgmm_emergency_service_cnf_struct vdm_l4c_emergency_service_cnf_struct;
-/* MSG_ID_VDM_L4C_EMERGENCY_SERVICE_IND */
-typedef rac_vgmm_emergency_service_ind_struct vdm_l4c_emergency_service_ind_struct;
 /*MSG_ID_VDM_L4C_EMERGENCY_SERVICE_FALLBACK_REQ*/
 typedef rac_vgmm_emergency_service_fallback_req_struct vdm_l4c_emergency_service_fallback_req_struct;
 /* MSG_ID_VDM_L4C_EMERGENCY_SERVICE_FALLBACK_CNF */
diff --git a/mcu/protocol/interface/l4misc/atp_l4c_struct.h b/mcu/protocol/interface/l4misc/atp_l4c_struct.h
old mode 100755
new mode 100644
index e8f11fa..cec49a9
--- a/mcu/protocol/interface/l4misc/atp_l4c_struct.h
+++ b/mcu/protocol/interface/l4misc/atp_l4c_struct.h
@@ -123,6 +123,8 @@
 
 #include "kal_general_types.h"
 #include "atp_public_defs.h"
+#include "rac_vgmm_struct.h"
+
 #if defined(__IMS_SUPPORT__) && (__WFC_SUPPORT__) && defined(__ALLOW_CALL_DURING_SMS_IN_OTHER_STACK__) && defined(__GEMINI__)
 #include "ims_common_def.h"
 #endif
@@ -187,6 +189,14 @@
 } atp_l4c_call_handover_ind_struct;
 #endif
 
+/*MSG_ID_ATP_L4C_EMERGENCY_SERVICE_REQ*/
+typedef rac_vgmm_emergency_service_req_struct atp_l4c_emergency_service_req_struct;
+/* MSG_ID_ATP_L4C_EMERGENCY_SERVICE_CNF */
+typedef rac_vgmm_emergency_service_cnf_struct atp_l4c_emergency_service_cnf_struct;
+/* MSG_ID_ATP_L4C_EMERGENCY_SERVICE_IND */
+typedef rac_vgmm_emergency_service_ind_struct atp_l4c_emergency_service_ind_struct;
+
+
 
 #endif /* _ATP_L4C_STRUCT_H */
 
diff --git a/mcu/protocol/interface/l4misc/l3_inc_enums.h b/mcu/protocol/interface/l4misc/l3_inc_enums.h
index db1d355..6e4daf5 100644
--- a/mcu/protocol/interface/l4misc/l3_inc_enums.h
+++ b/mcu/protocol/interface/l4misc/l3_inc_enums.h
@@ -5145,6 +5145,8 @@
    NAS_SV_EVENT_LTE_REJECT_IR_REDIRECT_TO_UMTS_GSM,
    NAS_SV_EVENT_ENTER_SLEEP_STATE_FOR_LVI, //deactivate C2K CS/PS when SLEEP state under limited virtual idle mode
    NAS_SV_EVENT_EMM_DEACT_ERRC_FOR_RAT_MODE_CHANGE,
+   NAS_SV_EVENT_REJECT_IRAT_FROM_XAS_START,
+   NAS_SV_EVENT_REJECT_IRAT_FROM_XAS_STOP,
 }  nas_sv_any_event_update_ind_enum;
 
 typedef enum
diff --git a/mcu/protocol/interface/l4misc/l3_inc_local.h b/mcu/protocol/interface/l4misc/l3_inc_local.h
old mode 100755
new mode 100644
index 975bf0f..e316844
--- a/mcu/protocol/interface/l4misc/l3_inc_local.h
+++ b/mcu/protocol/interface/l4misc/l3_inc_local.h
@@ -915,6 +915,13 @@
 
 } apn_struct;
 
+typedef struct
+{
+    kal_uint8 psi;
+
+    pdus_qos_flow_struct qos_flow;
+} pdu_session_info_struct;
+
 /* ETCM <-> ENAS/EAS end */
 
 /* NWSEL <-> ENAS/EAS begin */
diff --git a/mcu/protocol/interface/l4misc/l4c_common_enum.h b/mcu/protocol/interface/l4misc/l4c_common_enum.h
old mode 100755
new mode 100644
index a351481..ae3c523
--- a/mcu/protocol/interface/l4misc/l4c_common_enum.h
+++ b/mcu/protocol/interface/l4misc/l4c_common_enum.h
@@ -150,7 +150,7 @@
 #define L4C_NW_INVALID_SRXLEV L4C_INVALID_SIGNAL_INT16
 #define L4C_NW_INVALID_SQUAL  L4C_INVALID_SIGNAL_INT16
 
-
+#define L4C_NW_NAME_MAX_LEN_WITH_GSM7BIT_ENCODE (MAX_NW_NAME_LENGTH * 8/7)
 
 typedef enum
 {
diff --git a/mcu/protocol/interface/l4misc/vdm_atp_struct.h b/mcu/protocol/interface/l4misc/vdm_atp_struct.h
old mode 100755
new mode 100644
index baa942c..b7b00b2
--- a/mcu/protocol/interface/l4misc/vdm_atp_struct.h
+++ b/mcu/protocol/interface/l4misc/vdm_atp_struct.h
@@ -479,6 +479,7 @@
 #include "c2k_irat_msg_struct.h"
 #include "l4b_vdm_struct.h"
 #include "l4_vdm_enum.h"
+#include "rac_vgmm_struct.h"
 
 #define VDM_AT_CMD_TO_MD_NAME_LEN 32
 #define VDM_AT_CMD_TO_MD_VALUE_LEN 512
@@ -1611,5 +1612,13 @@
 
 typedef vdm_atp_common_at_rsp_struct vdm_atp_cmd_dial_ecall_rsp_struct;
 #endif
+
+/*MSG_ID_VDM_ATP_EMERGENCY_SERVICE_REQ*/
+typedef rac_vgmm_emergency_service_req_struct vdm_atp_emergency_service_req_struct;
+/* MSG_ID_VDM_ATP_EMERGENCY_SERVICE_CNF */
+typedef rac_vgmm_emergency_service_cnf_struct vdm_atp_emergency_service_cnf_struct;
+/* MSG_ID_VDM_ATP_EMERGENCY_SERVICE_IND */
+typedef rac_vgmm_emergency_service_ind_struct vdm_atp_emergency_service_ind_struct;
+
 #endif // _VDM_ATP_STRUCT_H_
 
diff --git a/mcu/protocol/layer4/l4/atci/include/rmmi_ind.h b/mcu/protocol/layer4/l4/atci/include/rmmi_ind.h
old mode 100755
new mode 100644
index 5a469e2..aad6392
--- a/mcu/protocol/layer4/l4/atci/include/rmmi_ind.h
+++ b/mcu/protocol/layer4/l4/atci/include/rmmi_ind.h
@@ -224,12 +224,12 @@
                         kal_uint8 full_nw_name_dcs,
                         kal_bool full_nw_name_add_ci,
                         kal_uint8 *full_nw_name,
-                        kal_uint8 full_nw_name_len,
+                        kal_uint16 full_nw_name_len,
                         kal_uint8 short_nw_nameP,
                         kal_uint8 short_nw_name_dcs,
                         kal_bool short_nw_name_add_ci,
                         kal_uint8 *short_nw_name,
-                        kal_uint8 short_nw_name_len);
+                        kal_uint16 short_nw_name_len);
 
 extern void l4c_nw_time_zone_rind(kal_uint8 timezone,
                                     kal_uint8 day_light_saving_timeP,
diff --git a/mcu/protocol/layer4/l4/csm/cc/include/csmcc_aux_msg_hdlr.h b/mcu/protocol/layer4/l4/csm/cc/include/csmcc_aux_msg_hdlr.h
old mode 100755
new mode 100644
index 509d9ee..0c89192
--- a/mcu/protocol/layer4/l4/csm/cc/include/csmcc_aux_msg_hdlr.h
+++ b/mcu/protocol/layer4/l4/csm/cc/include/csmcc_aux_msg_hdlr.h
@@ -579,8 +579,10 @@
 csmcc_send_l4c_display_als_ind (kal_uint8 line_id);
 
 extern 
-csmcc_ret_t csmcc_send_l4c_update_als_cnf( kal_uint8 result,
-                                          kal_uint16 error_cause);
+csmcc_ret_t csmcc_send_l4c_update_als_cnf( kal_uint8 src_id,
+																kal_uint8 result,
+																kal_uint16 error_cause);
+
 #ifdef __AOC_SUPPORT__
 #if defined (__CCM_NO_RESET__) && defined (__LAST_CCM_RESET__)
 /* MAUI_01938414 [CSMCC][Revise] support reset last ccm */
diff --git a/mcu/protocol/layer4/l4/csm/ss/include/csmss_aux_msg_hdlr.h b/mcu/protocol/layer4/l4/csm/ss/include/csmss_aux_msg_hdlr.h
old mode 100755
new mode 100644
index c4c17f4..209e90e
--- a/mcu/protocol/layer4/l4/csm/ss/include/csmss_aux_msg_hdlr.h
+++ b/mcu/protocol/layer4/l4/csm/ss/include/csmss_aux_msg_hdlr.h
@@ -23,7 +23,7 @@
 *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
 *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
 *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
-*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
 *
 *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
 *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
@@ -116,10 +116,10 @@
 void csmss_send_nvram_write_essp_req(void);
 void csmss_update_cfu_to_file(l4_addr_bcd_struct *p_line1_ftn);
 void csmss_update_cfu_req(
-    cfu_flag_nvram_action_enum  action, 
+    cfu_flag_nvram_action_enum  action,
     kal_uint8                   line_id
 #if (defined(__REL4__) && defined(__CFU_FTN_IN_EFCFIS__))
-    , 
+    ,
     l4_addr_bcd_struct          *p_line1_ftn
 #endif
 );
@@ -246,8 +246,8 @@
 csmss_string_op_enum csmss_ss_exe_ussd_req(kal_uint8 src_id, kal_uint8
     *ussd_string, kal_uint8 ussd_len, kal_uint8 op_code);
 
-void csmss_gsm7_unpack(kal_uint8 *unpacked_data, kal_uint8 *packed_data,
-                       kal_uint16 data_len, kal_uint16 offset);
+kal_uint16 csmss_gsm7_unpack(kal_uint8 *unpacked_data, kal_uint16 unpacked_data_len, kal_uint8 *packed_data,
+                            kal_uint16 data_len, kal_uint16 offset);
 
 void csmss_gsm7_pack(kal_uint8 *packed_data, kal_uint8 *unpacked_data,
                      kal_uint16 data_len, kal_uint16 offset);
diff --git a/mcu/protocol/layer4/l4/include/rmmi_common_enum.h b/mcu/protocol/layer4/l4/include/rmmi_common_enum.h
old mode 100755
new mode 100644
index b37c326..22a90ea
--- a/mcu/protocol/layer4/l4/include/rmmi_common_enum.h
+++ b/mcu/protocol/layer4/l4/include/rmmi_common_enum.h
@@ -90,6 +90,8 @@
 #define MAX_DATA_QUEUE_LENGTH       2048
 #endif
 
+#define MAX_DATA_LENGTH_CIEV_URC  2400
+
 #if defined(__DISABLE_SIM2_AT_SUPPORT__)
 #define RMMI_MAX_SIM_NUM      (1)
 #else
@@ -477,7 +479,7 @@
 //#ifdef __TC10__
     RMMI_ERR_CM_FACILITY_REJECT = 401,
     RMMI_ERR_SIM_NO_RESPONSE = 402,
-//#endif    
+//#endif
     RMMI_NO_ERR = 600,
 
     /* following: error is related to syntax, invalid parameters.. */
diff --git a/mcu/protocol/layer4/l4/l4c/include/proc/l4c_nw_cmd.h b/mcu/protocol/layer4/l4/l4c/include/proc/l4c_nw_cmd.h
old mode 100755
new mode 100644
index d1e4c61..42fa83b
--- a/mcu/protocol/layer4/l4/l4c/include/proc/l4c_nw_cmd.h
+++ b/mcu/protocol/layer4/l4/l4c/include/proc/l4c_nw_cmd.h
@@ -529,6 +529,11 @@
 extern kal_uint8 l4c_nw_get_roaming_mode_req( void );
 extern l4c_rtn_code_enum l4c_nw_handle_cops_auto_selection(protocol_id_enum ps_id, kal_uint8 src_id, kal_uint8 rat_mode, endc_search_enum  endc_search_mode );
 extern void l4c_nw_get_rf_status_req(void);
+
+#ifdef __NR_RAT__
+extern void l4c_send_ims_call_progress_to_nrrc(local_para_struct *local_para_ptr);
+#endif
+
 extern kal_bool l4c_nw_force_send_afr_to_nr(kal_uint8 src_id);
 #endif /* _L4C_NW_CMD_H */
 
diff --git a/mcu/protocol/layer4/l4/l4c/include/proc/l4c_vdm_rcv.h b/mcu/protocol/layer4/l4/l4c/include/proc/l4c_vdm_rcv.h
old mode 100755
new mode 100644
index f10bc0e..66f5861
--- a/mcu/protocol/layer4/l4/l4c/include/proc/l4c_vdm_rcv.h
+++ b/mcu/protocol/layer4/l4/l4c/include/proc/l4c_vdm_rcv.h
@@ -124,7 +124,7 @@
 extern kal_uint8 l4c_vdm_get_l4b_tid_by_rmmi_srcid(kal_uint8 src_id);
 extern l4b_transaction_struct* l4c_vdm_find_l4b_transaction(kal_uint8 src_id);
 
-extern void l4c_vdm_emergency_service_req_hdlr(local_para_struct *local_para_ptr);
+extern void l4c_atp_emergency_service_req_hdlr(local_para_struct *local_para_ptr);
 extern void l4c_vdm_emergency_service_fallback_req_hdlr(local_para_struct *local_para_ptr);
 
 extern void l4c_vdm_errc_rej_cell_ind_hdlr(local_para_struct *local_para_ptr);