[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/custom/service/sbp/sbp_config_ctrl.c b/mcu/custom/service/sbp/sbp_config_ctrl.c
old mode 100755
new mode 100644
index 91956f0..f66cb38
--- a/mcu/custom/service/sbp/sbp_config_ctrl.c
+++ b/mcu/custom/service/sbp/sbp_config_ctrl.c
@@ -59,32 +59,32 @@
  *
  * removed!
  * removed!
- * removed!
+ *
  * removed!
  *
  * removed!
  * removed!
- * removed!
+ *
  * removed!
  *
  * removed!
  * removed!
- * removed!
+ *
  * removed!
  *
  * removed!
  * removed!
- * removed!
+ *
  * removed!
  *
  * removed!
  * removed!
- * removed!
+ *
  * removed!
  *
  * removed!
  * removed!
- * removed!
+ *
  * removed!
  *
  * removed!
@@ -93,7 +93,7 @@
  *
  * removed!
  * removed!
- * removed!
+ *
  * removed!
  *
  * removed!
@@ -101,27 +101,27 @@
  * removed!
  * removed!
  * removed!
- * removed!
+ *
  * removed!
  *
  * removed!
  * removed!
- * removed!
+ *
  * removed!
  *
  * removed!
  * removed!
- * removed!
+ *
  * removed!
  *
  * removed!
  * removed!
- * removed!
+ *
  * removed!
  *
  * removed!
  * removed!
- * removed!
+ *
  * removed!
  *
  * removed!
@@ -134,7 +134,7 @@
  *
  * removed!
  * removed!
- * removed!
+ *
  * removed!
  *
  * removed!
@@ -143,34 +143,34 @@
  *
  * removed!
  * removed!
+ *
  * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
  * removed!
  *
  * removed!
  * removed!
  * removed!
- * removed!
  *
  * removed!
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- * removed!
- * removed!
  *
  * removed!
  * removed!
@@ -525,7 +525,7 @@
 #endif /* __NR_RAT__ */
 #ifdef __CDMA2000_RAT__
 extern void nvram_custom_config_c2k_nam_para(kal_uint32 old_sbp_id, protocol_id_enum ps_id);
-extern kal_bool nvram_custom_reconfig_c2k_nam_para(sbp_reconfig_custom_param_struct *param_ptr);  
+extern kal_bool nvram_custom_reconfig_c2k_nam_para(sbp_reconfig_custom_param_struct *param_ptr);
 #endif
 extern kal_bool nvram_custom_config_umts(sbp_reconfig_custom_param_struct *param_ptr);
 extern kal_bool nvram_custom_config_sbp(sbp_reconfig_custom_param_struct *param_ptr);
@@ -569,10 +569,12 @@
 extern kal_bool nvram_custom_config_l5_profile(sbp_reconfig_custom_param_struct *param_ptr);
 #endif
 extern kal_bool nvram_custom_config_as_profile(sbp_reconfig_custom_param_struct *param_ptr);
+extern kal_bool nvram_custom_config_nwsel_nas_whitelist_dsbp_profile(sbp_reconfig_custom_param_struct *param_ptr);
 
 #ifdef __IPC_ADAPTER__
 extern kal_bool ss_nvram_custom_config_non_sbp_nv(protocol_id_enum ps_id, kal_uint32 sim_sbp_id);
 #endif
+extern kal_bool nvram_custom_config_ps_conformance_setting(sbp_reconfig_custom_param_struct *param_ptr);
 
 /*  For MoDIS UT, SAP_INFO(xxx_SAP,MOD_A,ANY)
  *  If MOD_A is the test module and send msg to non test modules with above SAP INFO,
@@ -648,7 +650,7 @@
 #ifdef __CDMA2000_RAT__
     {MOD_NIL,    SBP_RECONFIGURE_SAP,     RECONFIG_DSBP_CHANGE_ALL, CFG_GEMINI_MOD, nvram_custom_config_hlp_profile},
     {MOD_NIL,    SBP_RECONFIGURE_SAP,     RECONFIG_DSBP_CHANGE_ALL, CFG_GEMINI_MOD, nvram_custom_config_cval_para_mcf},
-    {MOD_NIL,    SBP_RECONFIGURE_SAP,     RECONFIG_DSBP_CHANGE, CFG_SINGLE_MOD, nvram_custom_reconfig_c2k_nam_para},        
+    {MOD_NIL,    SBP_RECONFIGURE_SAP,     RECONFIG_DSBP_CHANGE, CFG_SINGLE_MOD, nvram_custom_reconfig_c2k_nam_para},
 #endif
     {MOD_NIL,     SBP_RECONFIGURE_SAP,     RECONFIG_DSBP_CHANGE_ALL, CFG_GEMINI_MOD, nvram_custom_config_mrs_profile},
     {MOD_NIL, SBP_RECONFIGURE_SAP,   RECONFIG_DSBP_CHANGE_ALL, CFG_GEMINI_MOD, nvram_custom_config_a54_smc_whitelist_plmn},
@@ -678,7 +680,8 @@
     {MOD_NIL,    SBP_RECONFIGURE_SAP,     RECONFIG_DSBP_CHANGE_ALL ,  CFG_GEMINI_MOD, nvram_custom_config_l5_profile},
 #endif
     {MOD_MM,     SBP_RECONFIGURE_SAP,     RECONFIG_DSBP_CHANGE_ALL,  CFG_GEMINI_MOD, nvram_custom_config_mm_dsbp_profile},
-    {MOD_TMC,    SBP_RECONFIGURE_SAP,     RECONFIG_DSBP_CHANGE_ALL,  CFG_GEMINI_MOD | CFG_CO_GEMINI_MOD, NULL}
+    {MOD_TMC,    SBP_RECONFIGURE_SAP,     RECONFIG_DSBP_CHANGE_ALL,  CFG_GEMINI_MOD | CFG_CO_GEMINI_MOD, NULL},
+    {MOD_NIL,    SBP_RECONFIGURE_SAP,     RECONFIG_DSBP_CHANGE_ALL | RECONFIG_DSBP_CHANGE,  CFG_GEMINI_MOD, nvram_custom_config_ps_conformance_setting},
 };
 
 sbp_reconfigure_module_info_struct *sbp_get_sbp_reconfigure_mod_tbl()
@@ -1023,7 +1026,7 @@
 #endif /* __NR_RAT__ */
 #ifdef __MD_TCPIP_SUPPORT__
         nvram_custom_config_rsra_profile(&sbp_reconfig_custom_param);
-#endif 
+#endif
 
 #ifdef __L5_SUPPORT__
          nvram_custom_config_l5_profile(&sbp_reconfig_custom_param);
diff --git a/mcu/custom/service/sbp/sbp_nvram_config.c b/mcu/custom/service/sbp/sbp_nvram_config.c
old mode 100755
new mode 100644
index 1b4ff9e..805fbc7
--- a/mcu/custom/service/sbp/sbp_nvram_config.c
+++ b/mcu/custom/service/sbp/sbp_nvram_config.c
@@ -742,17 +742,20 @@
             sbp_set_md_feature(SBP_USE_T3402_VALUE_FOR_VOICE_NOT_POSSIBLE_TIMER, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_USE_T3502_VALUE_FOR_VOICE_NOT_POSSIBLE_TIMER, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_SMIC_USE_R16_4G_SET_ASSOCIATE_FOR_FD_EBI, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
-            sbp_set_md_feature(SBP_CUSTOM_TMO_LEGACY_SIM_EHPLMN_LIST, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+            sbp_set_md_feature(SBP_CUSTOM_TMO_LEGACY_SIM_EHPLMN_LIST, KAL_FALSE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_VOWIFI_DISABLE_5G_SA, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+            sbp_set_md_feature(SBP_DISABLE_5G_SA_CALL_HO_TO_VOWIFI, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_DISABLE_NR_RRC_INACTIVE_STATUS, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_5G_SA_ROHC_IP_PROFILE_SUPPORT, KAL_FALSE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_MODEM_DISABLE_PC1DOT5_FOR_N41, KAL_FALSE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
 			sbp_set_md_feature(SBP_NOT_RETRY_SKIP_ABNORMAL_PLMN, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_ENDC_ICON_CONSIDER_BAND_COMB, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_NO_MMTEL_SR_TRIGGERED_TAU_DURING_T3411, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+			sbp_set_md_feature(SBP_NWSEL_CLEAR_RPLMN_FOR_HOME_COUNTRY_POWER_ON_SEARCH, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+            sbp_set_md_feature(SBP_UPDATE_CAP_AND_FORCE_RELEASE_FOR_GENERAL_TIMER_EXPIRE, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
 
             sbp_set_md_feature_data(SBP_N1_MAX_PDU_EST_TIMEOUT_REACHED_TIMER_VALUE, 60, (nvram_ef_sbp_modem_data_config_struct*) &sbp_data_buf);
-		}
+        }
         else if (sbp_id == SBP_ID_CT)
         {
             sbp_set_md_feature(SBP_DISABLE_2MIN_MINIMUM_HPPLMN_TIMER, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
@@ -902,8 +905,9 @@
         else if (sbp_id == SBP_ID_TELEFONICA)
         {
             sbp_set_md_feature(SBP_DISABLE_DISPLAY_ROAMING_HPLMN_IN_EPLMN, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
-			sbp_set_md_feature(SBP_AFR_XG4_EXCLUDE_ECC_CALL, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+            sbp_set_md_feature(SBP_AFR_XG4_EXCLUDE_ECC_CALL, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_AFR_XG5_EXCLUDE_ECC_CALL, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+            sbp_set_md_feature(SBP_BLOCK_ILLEGAL_ME, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
         }
         else if (sbp_id == SBP_ID_EE)
         {
@@ -914,6 +918,7 @@
         }
         else if (sbp_id == SBP_ID_DOCOMO)
         {
+            sbp_set_md_feature(SBP_EMM_TRIGGER_TAU_UPON_IRRDT_4G5_FAILURE, KAL_FALSE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);        
             sbp_set_md_feature(SBP_DISABLE_BEARER_RSC_ALLOC, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_DISABLE_BEARER_RSC_MOD, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_R12_CHECK_SSAC_IN_CONNECTED, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
@@ -973,6 +978,7 @@
         #endif
             sbp_set_md_feature(SBP_LBS_LPP_ALLOW_NILR_AFTER_EMC_END_IN_TWENTY_SECOND, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_EMM_INCLUDE_UE_STATUS_IE_WHEN_N1_DISABLE, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+			sbp_set_md_feature(SBP_ENABLE_EUTRAN_AFTER_TIMER_EXPIRY_FOR_TAU_EPS_ONLY_CAUSE_16_17, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);  
         }
         else if (sbp_id == SBP_ID_RJL)
         {
@@ -1138,6 +1144,12 @@
             sbp_set_md_feature(SBP_UE_APPLY_DELAY_AFTER_SR_REJECT_CONGESTION_WO_T3346, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
 			sbp_set_md_feature(SBP_BG_SEARCH_4G5, KAL_FALSE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
 
+            sbp_set_md_feature(SBP_VGMM_CARRY_UE_USAGE_SETTING_IE, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+            sbp_set_md_feature(SBP_DETACH_7_8_MAPPING_TO_REATTACH_REQUIRED, KAL_FALSE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+
+			//VDP update based on RAT mode
+			sbp_set_md_feature(SBP_RAC_SET_VDP_BASED_ON_RAT_MODE_FOR_OP50, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+			
         }
         else if (sbp_id == SBP_ID_CSL)
         {
@@ -1211,6 +1223,8 @@
             sbp_set_md_feature(SBP_R13_DOS_ENHANCE, KAL_FALSE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_KOR_KSC5601_READ, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
         #endif
+		    sbp_set_md_feature_data(SBP_FLIGHT_MODE_ECC_3GPP_SEARCH_RAT, 2, (nvram_ef_sbp_modem_data_config_struct*)&sbp_data_buf);
+		    sbp_set_md_feature_data(SBP_ECC_FULL_BAND_SEARCH_RAT_ORDER, 1, (nvram_ef_sbp_modem_data_config_struct*) &sbp_data_buf);
             sbp_set_md_feature(SBP_CHANGE_RAT_FOR_CUSTOM_IMSI, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_IMS_CONFIG_DELAY_REPORT_FOR_EPS_ONLY_NW, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_EPS_ONLY_CAUSE18_SELECT23G, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
@@ -1241,6 +1255,8 @@
             sbp_set_md_feature(SBP_R13_DOS_ENHANCE, KAL_FALSE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_KOR_KSC5601_READ, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
         #endif
+	    	sbp_set_md_feature_data(SBP_FLIGHT_MODE_ECC_3GPP_SEARCH_RAT, 2, (nvram_ef_sbp_modem_data_config_struct*)&sbp_data_buf);
+     		sbp_set_md_feature_data(SBP_ECC_FULL_BAND_SEARCH_RAT_ORDER, 1, (nvram_ef_sbp_modem_data_config_struct*) &sbp_data_buf);
             sbp_set_md_feature(SBP_CHANGE_RAT_FOR_CUSTOM_IMSI, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
 			sbp_set_md_feature(SBP_SIM_REJECT_CLOSE_CHANNEL_REQUEST_WHEN_ALREADY_CLOSE, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
         }
@@ -1270,7 +1286,9 @@
             sbp_set_md_feature(SBP_EUTRAN_DISABLE_AND_EPS_DETACH_WHEN_IMS_UNREGISTERED_OR_VOPS_NOT_SUPPORT, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_FLIGHT_MODE_RESET_T3402, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_CHANGE_RAT_FOR_CUSTOM_IMSI, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
-			sbp_set_md_feature(SBP_DETACH_WHEN_SET_RAT_GW2LN_WHILE_ROAMING, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+            sbp_set_md_feature(SBP_DETACH_WHEN_SET_RAT_GW2LN_WHILE_ROAMING, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+			sbp_set_md_feature_data(SBP_FLIGHT_MODE_ECC_3GPP_SEARCH_RAT, 2, (nvram_ef_sbp_modem_data_config_struct*)&sbp_data_buf);
+			sbp_set_md_feature_data(SBP_ECC_FULL_BAND_SEARCH_RAT_ORDER, 1, (nvram_ef_sbp_modem_data_config_struct*) &sbp_data_buf);
         }
         else if (sbp_id == SBP_ID_SMARTFREN)
         {
@@ -1342,6 +1360,7 @@
             sbp_set_md_feature(SBP_DISABLE_EUTRAN_WHILE_NO_23G, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_LTE_DISABLE_SINGLE_BAND_WW_FILTER, KAL_FALSE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_LTE_APPLY_SINGLE_BAND_WW_FILTER_EVEN_NW_REQUEST_FREQBAND, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+            sbp_set_md_feature(SBP_CHECK_NW_ASSIGNMENT_NR_BW_SETTING_BY_NVRAM_VALUE, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_PUCCH_GROUP_LARGER_SCS_V15_6, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_SDAP_AS_REFLECTIVE_QOS_SUPPORT, KAL_FALSE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_DISABLE_EUTRAN_WHEN_ATTACH_REJECT_ESM_CAUSE_27, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
@@ -1459,6 +1478,7 @@
         {
             sbp_set_md_feature(SBP_NWSEL_START_HPPLMN_TIMER_IN_NON_HIGHEST_HPLMN, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_NWSEL_SELECT_HIGHEST_PRIORITY_EHPLMN, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+            sbp_set_md_feature(SBP_MM_SEARCH_HPLMN_BEFORE_RPLMN, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_ENDC_PREFER_A2_ENH, KAL_FALSE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_CHANGE_RAT_FOR_CUSTOM_IMSI, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
             sbp_set_md_feature(SBP_DISABLE_N1_WHEN_NOT_SUPPORT_ECC_ON_NR, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
@@ -1527,6 +1547,22 @@
 			sbp_set_md_feature(SBP_LBS_LPP_ALLOW_NILR_AFTER_EMC_END, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
         }
 
+#ifdef __NR_DISABLE_UL_256QAM_FOR_LRA__
+        /* ALPS07854487/MOLY01025065 */
+        if ( ((!(kal_mem_cmp(param_ptr->mcc,"310",3))) && (!(kal_mem_cmp(param_ptr->mnc,"750",3)))) ||              // for Appalachian Wireless
+		     ((!(kal_mem_cmp(param_ptr->mcc,"310",3))) && (!(kal_mem_cmp(param_ptr->mnc,"600",3)))) ||              // for Cellcom
+			 ((!(kal_mem_cmp(param_ptr->mcc,"311",3))) && (!(kal_mem_cmp(param_ptr->mnc,"850",3)))) ||              // for Cellcom
+			 ((!(kal_mem_cmp(param_ptr->mcc,"312",3))) && (!(kal_mem_cmp(param_ptr->mnc,"160",3)))) ||              // for Chat Mobility
+			 ((!(kal_mem_cmp(param_ptr->mcc,"310",3))) && (!(kal_mem_cmp(param_ptr->mnc,"930",3)))) ||              // for Copper Valley, Custer Telephone
+			 ((!(kal_mem_cmp(param_ptr->mcc,"311",3))) && (!(kal_mem_cmp(param_ptr->mnc,"350",3)))) ||              // for Nemont
+			 ((!(kal_mem_cmp(param_ptr->mcc,"311",3))) && (!(kal_mem_cmp(param_ptr->mnc,"420",3)))) ||              // for Northwest Missouri Cellular
+			 ((!(kal_mem_cmp(param_ptr->mcc,"310",3))) && (!(kal_mem_cmp(param_ptr->mnc,"360",3)))) ||              // for Pioneer Cellular
+			 ((!(kal_mem_cmp(param_ptr->mcc,"310",3))) && (!(kal_mem_cmp(param_ptr->mnc,"960",3)))) ||              // for STRATA
+			 ((!(kal_mem_cmp(param_ptr->mcc,"311",3))) && (!(kal_mem_cmp(param_ptr->mnc,"050",3))))    )            // for Thumb Cellular
+        {
+            sbp_set_md_feature(SBP_DISABLE_UL_256QAM, KAL_TRUE, (nvram_ef_sbp_modem_config_struct*)&sbp_feature_buf);
+        }
+#endif
 
 #ifdef __IPC_ADAPTER__
 		/*ALPS05063851 [[A415F] The device should not supports "2G-LTE Measurements and Reporting"]
diff --git a/mcu/custom/service/sbp/sbp_nvram_l4c_config.c b/mcu/custom/service/sbp/sbp_nvram_l4c_config.c
old mode 100755
new mode 100644
index 5078abc..5bf846c
--- a/mcu/custom/service/sbp/sbp_nvram_l4c_config.c
+++ b/mcu/custom/service/sbp/sbp_nvram_l4c_config.c
@@ -245,13 +245,13 @@
             break;
         }
         case 20: /* Sprint */
-		{         
+		{
             //Add the codes for Sprint hVOLTE
             nvram_hvolte_e911_profile_ptr->hvolte_enable = HVOLTE_AUTO_MODE;
 
             //keep hVoLTE mode as SRLTE by default for sprint
             nvram_hvolte_e911_profile_ptr->hvolte_mode = HVOLTE_SRLTE_MODE;
-			
+
             // Update WWAN timer to 17s
             nvram_hvolte_e911_profile_ptr->t_wwan_911 = 17;
             break;
@@ -403,7 +403,7 @@
 	mcf_tlvota_sbp_tag_t sbp_tag;
 
 
-	if (param_ptr == NULL) 
+	if (param_ptr == NULL)
 	{
 		return KAL_FALSE;
 	}
@@ -455,7 +455,7 @@
 	mcf_read_tlvota_buffer_sbp_tag(param_ptr->ps_id, sbp_tag, NVRAM_EF_SMSAL_COMMON_PARAM_LID, (kal_uint8 *)nvram_default_buf_ptr,
 	(sizeof(kal_uint8) * NVRAM_EF_SMSAL_COMMON_PARAM_SIZE));
 
-	/* Update only sms_fdn_off value */ 
+	/* Update only sms_fdn_off value */
 	((nvram_ef_smsal_common_param_struct*)nvram_external_buf_ptr)->sms_fdn_off = ((nvram_ef_smsal_common_param_struct*)nvram_default_buf_ptr)->sms_fdn_off;
 
 	/* Write to NVRAM */
@@ -495,10 +495,10 @@
 #ifndef L4_NOT_PRESENT
 	kal_uint8 *buf_from_nvram = NULL;
 	kal_bool ret = KAL_FALSE;
-	sim_interface_enum sim_slot_id ;	 
+	sim_interface_enum sim_slot_id ;
 
-	
-#if defined(__GEMINI__)   
+
+#if defined(__GEMINI__)
 	sim_slot_id = 1 + l4c_gemini_get_actual_sim_id((sim_interface_enum)param_ptr->ps_id);
 #else /* __GEMINI__ */
 	sim_slot_id = 1;
@@ -522,7 +522,7 @@
 				memcpy(param_ptr->buffer, buf_from_nvram,NVRAM_EF_SMSAL_COMMON_PARAM_SIZE);
 				ret = KAL_TRUE;
 				break;
-				
+
 			default:
 				break;
 		}
@@ -536,7 +536,7 @@
 	}
 
 	return ret;
-	
+
 #else
 
     return KAL_FALSE;
@@ -550,7 +550,7 @@
  * DESCRIPTION
  *  This function gets called after SIM insertion.
  *  1. Default values of PLMN_FOR_ESVC_LID
- *  2. If OTA file is present, then OTA file will 
+ *  2. If OTA file is present, then OTA file will
  *      be read else default values will be present.
  *  3. If OTA by OP file is present, then OTA by OP
  *     file will be read else default values/OTA values
@@ -576,16 +576,16 @@
 	/* Allocate buffer to read NVRAM default value */
 	nvram_cur_buf_ptr = (kal_uint8*) get_ctrl_buffer(sizeof(kal_uint8) * NVRAM_EF_PLMN_FOR_ESVC_SIZE);
 
-	/* Read NVRAM LID Default value into buffer */ 
+	/* Read NVRAM LID Default value into buffer */
 
 	if (NVRAM_DEFAULT_VALUE_POINT == nvram_get_default_value(NVRAM_EF_PLMN_FOR_ESVC_LID,
 		sim_slot_id, &nvram_default_buf_ptr))
-	{ 
+	{
 		kal_mem_cpy(nvram_cur_buf_ptr,nvram_default_buf_ptr,(sizeof(kal_uint8) * NVRAM_EF_PLMN_FOR_ESVC_SIZE));
 	}
 
-	kal_mem_set(&sbp_tag, 0, sizeof(mcf_tlvota_sbp_tag_t));	
-	
+	kal_mem_set(&sbp_tag, 0, sizeof(mcf_tlvota_sbp_tag_t));
+
 	sbp_tag.sbp_id = param_ptr->sbp_id;
 
 	strncpy((char *)&sbp_tag.mcc[0], (const char *)param_ptr->mcc, MAX_MCC_STR_LEN);
@@ -595,7 +595,7 @@
 	mcf_read_ota_buffer(NVRAM_EF_PLMN_FOR_ESVC_LID, sim_slot_id, nvram_cur_buf_ptr, (sizeof(kal_uint8) * NVRAM_EF_PLMN_FOR_ESVC_SIZE));
 
 	/*OTA by OP*/
-	mcf_read_tlvota_buffer_sbp_tag(param_ptr->ps_id, sbp_tag, NVRAM_EF_PLMN_FOR_ESVC_LID, (kal_uint8 *)nvram_cur_buf_ptr, 
+	mcf_read_tlvota_buffer_sbp_tag(param_ptr->ps_id, sbp_tag, NVRAM_EF_PLMN_FOR_ESVC_LID, (kal_uint8 *)nvram_cur_buf_ptr,
 	                               (sizeof(kal_uint8) * NVRAM_EF_PLMN_FOR_ESVC_SIZE));
 
 	// Update NVRAM setting
@@ -617,7 +617,7 @@
 	return KAL_TRUE;
 
 }
-	
+
 /*****************************************************************************
  * FUNCTION
  *  mcf_custom_dump_hvolte_e911_data
@@ -698,3 +698,23 @@
     return ret;
 }
 
+kal_bool nvram_custom_config_ps_conformance_setting(sbp_reconfig_custom_param_struct *param_ptr)
+{
+
+    l4c_dsbp_setting_info_ind_struct *l4c_dsbp_setting_info_ind;
+
+    l4c_dsbp_setting_info_ind = (l4c_dsbp_setting_info_ind_struct *)construct_local_para
+               (sizeof(l4c_dsbp_setting_info_ind_struct), TD_RESET);
+
+    kal_mem_cpy(&(l4c_dsbp_setting_info_ind->sbp_parameters), param_ptr, sizeof(sbp_reconfig_custom_param_struct));
+
+    msg_send6(kal_get_active_module_id(),
+                 MOD_L4C + param_ptr->ps_id,
+                 L4C_ME_SAP,
+                 MSG_ID_L4C_DSBP_SETTING_INFO_IND,
+                 (local_para_struct *)l4c_dsbp_setting_info_ind,
+                 NULL);
+
+    return KAL_TRUE;
+}
+
diff --git a/mcu/custom/service/sbp/sbp_nvram_nwsel_config.c b/mcu/custom/service/sbp/sbp_nvram_nwsel_config.c
old mode 100755
new mode 100644
index e95fa0a..0057f99
--- a/mcu/custom/service/sbp/sbp_nvram_nwsel_config.c
+++ b/mcu/custom/service/sbp/sbp_nvram_nwsel_config.c
@@ -482,6 +482,66 @@
 }
 
 /*****************************************************************************
+* FUNCTION
+ * nvram_custom_config_nwsel_nas_whitelist_dsbp_profile
+ * DESCRIPTION
+ * Set NWSEL Capabilities via DSBP
+ * PARAMETERS
+ *  param_ptr
+ * RETURNS
+ *  KAL_TRUE
+ *****************************************************************************/
+kal_bool nvram_custom_config_nwsel_nas_whitelist_dsbp_profile(sbp_reconfig_custom_param_struct *param_ptr)
+{
+    mcf_tlvota_sbp_tag_t sbp_tag;
+    kal_uint8 *buf_from_nvram, *nvram_default_buf=NULL;
+    sim_interface_enum sim_slot_id;    
+    protocol_id_enum ps_id = param_ptr->ps_id;
+
+	
+    #if defined(__GEMINI__) 
+    sim_slot_id = 1 + l4c_gemini_get_actual_sim_id((sim_interface_enum) param_ptr->ps_id);
+	#else /* __GEMINI__ */
+	sim_slot_id = 1;
+    #endif /* __GEMINI__*/
+
+    /* Prepare the SBP tag */
+    memset((void *)&sbp_tag, 0, sizeof(mcf_tlvota_sbp_tag_t));
+    sbp_tag.sbp_id = param_ptr->sbp_id;
+    memcpy(sbp_tag.mcc, param_ptr->mcc, MAX_MCC_STR_LEN);
+    memcpy(sbp_tag.mnc, param_ptr->mnc, MAX_MNC_STR_LEN);    
+
+
+    if (NVRAM_DEFAULT_VALUE_POINT == nvram_get_default_value(NVRAM_EF_NAS_NSA_WHITELIST_PLMN_LID,
+                                                             sim_slot_id,
+                                                             &nvram_default_buf))
+    {
+        //1 2.1 Read OTA/OTA_by_OP file
+    
+        //4 NVRAM_EF_NAS_NSA_WHITELIST_PLMN_LID
+        buf_from_nvram = (kal_uint8*)get_ctrl_buffer(NVRAM_EF_NAS_NSA_WHITELIST_PLMN_SIZE);
+        kal_mem_cpy(buf_from_nvram, nvram_default_buf, NVRAM_EF_NAS_NSA_WHITELIST_PLMN_SIZE);
+        
+        /* for MCF OTA */
+        mcf_read_ota_buffer(NVRAM_EF_NAS_NSA_WHITELIST_PLMN_LID, sim_slot_id, (kal_uint8 *)buf_from_nvram, NVRAM_EF_NAS_NSA_WHITELIST_PLMN_SIZE);
+           
+        /* for MCF OTA by OP */    
+        mcf_read_tlvota_buffer_sbp_tag(ps_id, sbp_tag, NVRAM_EF_NAS_NSA_WHITELIST_PLMN_LID, (kal_uint8 *)buf_from_nvram, NVRAM_EF_NAS_NSA_WHITELIST_PLMN_SIZE);
+    
+        /* write back to NVRAM */
+        nvram_external_write_data(NVRAM_EF_NAS_NSA_WHITELIST_PLMN_LID,
+                                  sim_slot_id,
+                                  buf_from_nvram,
+                                  NVRAM_EF_NAS_NSA_WHITELIST_PLMN_SIZE);
+    
+        free_ctrl_buffer(buf_from_nvram);
+    }
+
+    return KAL_TRUE;
+}
+
+
+/*****************************************************************************
  * FUNCTION
  *  nvram_custom_config_nwsel_dsbp_profile
  * DESCRIPTION
@@ -498,6 +558,7 @@
 {
     nvram_custom_config_nwsel_para(param_ptr); // Please ask NWSEL owner for this part if you want to modify
     nvram_custom_config_gmss_para(param_ptr); // Please ask GMSS owner for this part if you want to modify
+    nvram_custom_config_nwsel_nas_whitelist_dsbp_profile(param_ptr);
     return KAL_TRUE;
 }
 
diff --git a/mcu/custom/service/sbp/sbp_nvram_vdm_config.c b/mcu/custom/service/sbp/sbp_nvram_vdm_config.c
old mode 100755
new mode 100644
index 5fba198..127facb
--- a/mcu/custom/service/sbp/sbp_nvram_vdm_config.c
+++ b/mcu/custom/service/sbp/sbp_nvram_vdm_config.c
@@ -573,6 +573,11 @@
             //TTA request dial ECC over WCDMA when UE don't register to IMS
             nvram_vdm_ads_profile_ptr->profile_emerg.prefer_cs_when_volte_unreged = 1;
 
+			if ((strcmp((char*)mcc, "635") == 0)&&(strcmp((char*)mnc, "17") == 0))  // korea Telecom
+            {
+                //Disallow WFC emergency call
+                nvram_vdm_ads_profile_ptr->profile_emerg.general_setting_emerg.allow_wfc = 0;
+            }
             break;
         }
         case 115: /* SKT */
@@ -690,6 +695,8 @@
         {
             // Allow UE to attempt IMS ECC although SIB1 don't have ims-emergencyservice
             nvram_vdm_ads_profile_ptr->profile_emerg.allow_ims_with_negative_sib_emc_eutran = 1;
+            //SBP_ECBM_ENABLE
+            nvram_vdm_ads_profile_ptr->profile_common.is_ecbm_enable = 1;
 
             break;
         }
@@ -1126,14 +1133,6 @@
 
             break;
         }
-        case 283: /* MEO/Portugal */
-        {
-            // Disallow emergency call over VoLTE and WFC
-            nvram_vdm_ads_profile_ptr->profile_emerg.general_setting_emerg.allow_ims = 0;
-            nvram_vdm_ads_profile_ptr->profile_emerg.general_setting_emerg.allow_wfc = 0;
-
-            break;
-        }
         case 284: /* MTS Serbia */
         {
             // Disallow emergency call over VoLTE and WFC
@@ -1156,6 +1155,19 @@
 
             break;
         }
+		case 290: /*Omantel Oman*/
+		{
+            if (mcc != NULL && mnc != NULL)
+            {
+                if((strcmp((char*)mcc, "422") == 0)&&(strcmp((char*)mnc, "04") == 0))
+                {
+                    // Disallow IMS emergency call while UE is roaming
+                    nvram_vdm_ads_profile_ptr->profile_emerg.reject_ims_emerg_while_roaming = 1;
+                }
+            }
+			break;
+
+		}
         case 291: /* LMT Latvia */
         {
             // Disallow emergency call over VoLTE and WFC
@@ -1187,6 +1199,14 @@
 			nvram_vdm_ads_profile_ptr->profile_emerg.general_setting_emerg.allow_ims = 0;
 			break;
 		}
+
+        case 303: /*Iliad Italy*/
+        {
+            // Disallow IMS emergency call while UE is roaming
+            nvram_vdm_ads_profile_ptr->profile_emerg.reject_ims_emerg_while_roaming = 1;
+            break;
+        }
+
         case 312: /* Bite */
         {
             // Disallow emergency call over VoLTE and WFC
@@ -1311,6 +1331,30 @@
 			}
 			break;
 		}
+		case 415: /*Mauritius my.t*/
+		{
+            // Disallow emergency call over VoLTE and WFC
+            nvram_vdm_ads_profile_ptr->profile_emerg.general_setting_emerg.allow_ims = 0;
+            nvram_vdm_ads_profile_ptr->profile_emerg.general_setting_emerg.allow_wfc = 0;
+            break;
+		}
+		case 443: /*cubic telecom */
+        {
+            // Disallow emergency call over WFC
+            if(((strcmp((char*)mcc, "295") == 0)&&(strcmp((char*)mnc, "06") == 0)) ||
+               ((strcmp((char*)mcc, "724") == 0)&&(strcmp((char*)mnc, "46") == 0)))
+            {
+                nvram_vdm_ads_profile_ptr->profile_emerg.general_setting_emerg.allow_wfc = 0;
+            }
+            break;
+        }
+		case 439: /* Airtel/Tanzania */
+        {
+            // Disallow emergency call over VoLTE and WFC
+            nvram_vdm_ads_profile_ptr->profile_emerg.general_setting_emerg.allow_ims = 0;
+            nvram_vdm_ads_profile_ptr->profile_emerg.general_setting_emerg.allow_wfc = 0;
+            break;
+        }
         default:
             break;
     }