[Feature][Modem]1.merge MTK P2 patch 2.RF:bias modification of frequency band
Change-Id: I846de8f085e50c1b9557ad8c5d0b2cc088b18d86
diff --git a/mcu/interface/service/hif/ccci_config_channel_id.h b/mcu/interface/service/hif/ccci_config_channel_id.h
index c0cb651..0ee73a2 100755
--- a/mcu/interface/service/hif/ccci_config_channel_id.h
+++ b/mcu/interface/service/hif/ccci_config_channel_id.h
@@ -53,6 +53,11 @@
* ==========================================================================
* $Log$
*
+ * 09 23 2022 adel.liao
+ * [MOLY00946230] [Cogin][CPE][MBIM] CPE support MBIM
+ *
+ * add MBIM SAP channel.
+ *
* 01 25 2021 adel.liao
* [MOLY00607924] [Nokia][ODU][Module Startup blocking] mipc_init spend 30s
*
@@ -399,6 +404,11 @@
CCCI_MIPC_AP13_CHANNEL_RX, //=[255] 0x00ff
CCCI_MIPC_AP14_CHANNEL_TX, //=[256] 0x0100
CCCI_MIPC_AP14_CHANNEL_RX, //=[257] 0x0101
+ CCCI_RESERVE258_CHANNEL_TX,//[258]0X102
+ CCCI_RESERVE259_CHANNEL_RX,//[259]0X103
+ CCCI_MBIM_CHANNEL_TX,//[260]0X104
+ CCCI_MBIM_CHANNEL_RX,//[261]0X105
+
#if defined(__CCCI_UT__) //keep this UT port at the end of table
CCCI_NCCCI_TEST_CHANNEL_TX, CCCI_NCCCI_TEST_CHANNEL = CCCI_NCCCI_TEST_CHANNEL_TX,
diff --git a/mcu/interface/service/mtf/mtf_struct.h b/mcu/interface/service/mtf/mtf_struct.h
index 382dbef..d46b604 100755
--- a/mcu/interface/service/mtf/mtf_struct.h
+++ b/mcu/interface/service/mtf/mtf_struct.h
@@ -58,6 +58,16 @@
*
* removed!
* removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
*
* removed!
* removed!
@@ -100,6 +110,7 @@
#include "global_type.h"
#include "mcd_l3_inc_struct.h"
#include "sim_exported_enum.h"
+#define NRRC_PLMN_ID_LIST_LEN_MAX 12
typedef enum {
NL1MOB_MT_CUSTOM_ENH_TYPE_A3A4A5_IGNORE = 0,
@@ -169,6 +180,26 @@
}errc_mt_dmf_custom_bar_ind_struct;
typedef struct{
+ LOCAL_PARA_HDR
+ kal_uint8 plmn_id_num;
+ plmn_id_struct plmn_id[NRRC_PLMN_ID_LIST_LEN_MAX];
+ kal_uint16 dl_frequency_band;
+ kal_uint32 ssb_arfcn;
+ kal_int16 rsrp; // unit: QdBm
+ kal_int16 rsrq; // unit: QdB
+ kal_int16 sinr; // unit: QdB
+ kal_int16 q_rxlev_min;
+ kal_int8 q_qual_min;
+ kal_int16 s_rxlev;
+ kal_uint8 adj_method;
+ kal_int16 rsrq_th;
+ kal_int16 qrxlevmin_good;
+ kal_int16 qrxlevmin_bad;
+}nrrc_mt_dmf_qrxlevmin_adj_ind_struct;
+
+typedef nrrc_mt_dmf_qrxlevmin_adj_ind_struct nl1mob_mt_dmf_qrxlevmin_adj_ind_struct;
+
+typedef struct{
kal_uint32 xarfcn;
kal_uint32 pci;
kal_int16 rsrp; //unit: qdBm
@@ -188,6 +219,17 @@
LOCAL_PARA_HDR
}nl1mob_mt_dmf_postpone_a2_for_b1b2_ind_struct;
+typedef struct{
+ LOCAL_PARA_HDR
+ plmn_id_struct plmn_id;
+ kal_uint16 dl_frequency_band;
+ kal_uint32 ssb_arfcn;
+ kal_int16 rsrp; // unit: QdBm
+ kal_int16 rsrq; // unit: QdB
+ kal_int16 sinr; // unit: QdB
+}nl1mob_mt_dmf_poor_sinr_oos_ind_struct;
+
+
#ifdef __cplusplus
}
#endif
diff --git a/mcu/interface/service/nvram/csg_nvram_def.h b/mcu/interface/service/nvram/csg_nvram_def.h
index 66448f9..246c4d8 100755
--- a/mcu/interface/service/nvram/csg_nvram_def.h
+++ b/mcu/interface/service/nvram/csg_nvram_def.h
@@ -59,6 +59,9 @@
*
* removed!
* removed!
+ *
+ * removed!
+ * removed!
* removed!
* removed!
* removed!
@@ -95,15 +98,17 @@
// VERNO
#if (defined(__3G_CSG_SUPPORT__) || defined(__LTE_RAT__))
-#define NVRAM_EF_UE_CSG_LIST_LID_VERNO "001"
-#define NVRAM_EF_UE_CSG_LIST_LID_HASH 0x4D0D10AA
+#define NVRAM_EF_UE_CSG_LIST_LID_VERNO "002"
+#define NVRAM_EF_UE_CSG_LIST_LID_HASH 0x2B76AE90
#endif
#if (defined(__3G_CSG_SUPPORT__) || defined(__LTE_RAT__))
// Size and Total
+#define NVRAM_EF_UE_CSG_SIZE (sizeof(nvram_ef_ue_csg_list_struct))
#define NVRAM_EF_UE_CSG_LIST_SIZE 2500
#define NVRAM_EF_UE_CSG_LIST_TOTAL (1 * NVRAM_DUAL_RECORD)
+#define NVRAM_EF_UE_CSG_IMSI_MAX_LEN 15
#endif
#ifdef __cplusplus
diff --git a/mcu/interface/service/nvram/csg_nvram_editor.h b/mcu/interface/service/nvram/csg_nvram_editor.h
index 97b1394..07dbaeb 100755
--- a/mcu/interface/service/nvram/csg_nvram_editor.h
+++ b/mcu/interface/service/nvram/csg_nvram_editor.h
@@ -59,6 +59,9 @@
*
* removed!
* removed!
+ *
+ * removed!
+ * removed!
* removed!
* removed!
*
@@ -81,7 +84,9 @@
// Data Structure of Each LID
typedef struct
{
- kal_uint8 data[NVRAM_EF_UE_CSG_LIST_SIZE];
+ kal_uint8 imsi_length;
+ kal_uint8 imsi[NVRAM_EF_UE_CSG_IMSI_MAX_LEN];
+ kal_uint8 data[NVRAM_EF_UE_CSG_LIST_SIZE];
} nvram_ef_ue_csg_list_struct;
#endif
@@ -101,9 +106,9 @@
*********************************************************************************************/
LID_BIT VER_LID(NVRAM_EF_UE_CSG_LIST_LID) nvram_ef_ue_csg_list_struct * NVRAM_EF_UE_CSG_LIST_TOTAL
{
- data: "csg white list[2500]"
- {
- };
+ imsi_length:"IMSI length[1]"{};
+ imsi:"IMSI to which this CSG list belongs to[15]"{};
+ data:"UE based CSG allowed list[2500]"{};
};
#endif
END_NVRAM_DATA
diff --git a/mcu/interface/service/nvram/mrs_nvram_def.h b/mcu/interface/service/nvram/mrs_nvram_def.h
index d60327f..cde8c0b 100755
--- a/mcu/interface/service/nvram/mrs_nvram_def.h
+++ b/mcu/interface/service/nvram/mrs_nvram_def.h
@@ -217,6 +217,7 @@
NVRAM_EF_MRS_CUSTOM_SEARCH_ORDER_TABLE_LID = NVRAM_LID_GRP_MRS(18),
NVRAM_EF_MRS_RAT_CAPABILITY_CONFIG_LID = NVRAM_LID_GRP_MRS(21),
NVRAM_EF_MRS_NR_PARTIAL_BAND_TABLE_LID = NVRAM_LID_GRP_MRS(22),
+ NVRAM_EF_MRS_VOICE_UNAVAIL_LEAVE_RAT_CONFIG_LID = NVRAM_LID_GRP_MRS(23),
NVRAM_EF_MRS_LAST_LID = NVRAM_LID_GRP_MRS(63)
} nvram_lid_mrs_enum;
@@ -256,6 +257,11 @@
#define NVRAM_EF_MRS_RAT_CAPABILITY_CONFIG_LID_VERNO "000"
#define NVRAM_EF_MRS_RAT_CAPABILITY_CONFIG_LID_HASH 0x682739BF
+#define NVRAM_EF_MRS_VOICE_UNAVAIL_LEAVE_RAT_CONFIG_SIZE (sizeof(nvram_ef_mrs_voice_unavail_leave_rat_config_struct))
+#define NVRAM_EF_MRS_VOICE_UNAVAIL_LEAVE_RAT_CONFIG_TOTAL (1)
+#define NVRAM_EF_MRS_VOICE_UNAVAIL_LEAVE_RAT_CONFIG_LID_VERNO "000"
+#define NVRAM_EF_MRS_VOICE_UNAVAIL_LEAVE_RAT_CONFIG_LID_HASH 0xBF8E072E
+
#define NVRAM_EF_MRS_NR_BAND_DISABLE_LIST_SIZE (sizeof(nvram_ef_nr_custom_band_disable_list_struct))
#define NVRAM_EF_MRS_NR_BAND_DISABLE_LIST_TOTAL (1 * NVRAM_DUAL_RECORD)
#define NVRAM_EF_MRS_NR_BAND_DISABLE_LIST_LID_VERNO "007"
diff --git a/mcu/interface/service/nvram/mrs_nvram_editor.h b/mcu/interface/service/nvram/mrs_nvram_editor.h
index 5a68f6a..10353f5 100755
--- a/mcu/interface/service/nvram/mrs_nvram_editor.h
+++ b/mcu/interface/service/nvram/mrs_nvram_editor.h
@@ -207,6 +207,8 @@
#define NVRAM_MAX_MRS_RAT_CAPABILITY_CONFIG_NUM 300
+#define NVRAM_MAX_MRS_VOICE_UNAVAIL_LEAVE_RAT_CONFIG_NUM 300
+
#define NVRAM_MAX_MRS_DISABLE_VG_ROAMING_ENTRY_NUM 300
#define NVRAM_NR_BAND_DISABLE_POSITIVE_PLMN_NUM_MAX 30
@@ -398,6 +400,7 @@
typedef enum {
NVRAM_GSM_CAPABILITY = 0x01,
+ NVRAM_UMTS_CAPABILITY = 0x02,
} nvram_rat_capability_enum;
typedef struct {
@@ -416,6 +419,37 @@
} nvram_ef_mrs_rat_capability_config_struct;
typedef enum {
+ APPLY_SCOPE_GENERAL,
+ APPLY_SCOPE_ROAMING,
+ APPLY_SCOPE_HOME,
+} nvram_ef_apply_scope_enum;
+
+typedef enum {
+ NVRAM_LEAVE_LTE = 0x01,
+ NVRAM_LEAVE_NR = 0x02,
+} nvram_voice_unavail_leave_rat_enum;
+
+typedef enum {
+ NO_NEED_LEAVE,
+ NEED_LEAVE,
+} nvram_voice_unavail_leave_status_enum;
+
+typedef struct {
+ nvram_plmn_id_struct hplmn; /* Home PLMN derived from IMSI */
+ nvram_plmn_id_struct splmn; /* Serving PLMN */
+ nvram_voice_unavail_leave_rat_enum leave_rat; /* Only support leave LTE/NR currently */
+ nvram_voice_unavail_leave_status_enum leave_status; /* Need leave or no need leave */
+ nvram_ef_apply_scope_enum scope; /* Rule applied scope */
+ kal_uint8 num_of_exception; /* Number of exception rules */
+} nvram_ef_mrs_voice_unavail_leave_rat_struct;
+
+typedef struct {
+ kal_bool is_valid;
+ kal_uint32 num_of_entry;
+ nvram_ef_mrs_voice_unavail_leave_rat_struct voice_unavail_leave_rat_config_list[NVRAM_MAX_MRS_VOICE_UNAVAIL_LEAVE_RAT_CONFIG_NUM];
+} nvram_ef_mrs_voice_unavail_leave_rat_config_struct;
+
+typedef enum {
NV_MRS_SEARCH_PRIORITY_ENUM_ENDC,
NV_MRS_SEARCH_PRIORITY_ENUM_SIGNAL_LEVEL,
NV_MRS_SEARCH_PRIORITY_ENUM_LARGE_BW,
@@ -913,6 +947,30 @@
partial_band_table[*].partial_band_info.freq_range_info.range_list[*].ul_phy_freq_max:"[MCF]UL max frequency (MHz)" {};
};
+/********************************************************************************************
+* LID_NAME
+* NVRAM_EF_MRS_VOICE_UNAVAIL_LEAVE_RAT_CONFIG_LID
+* DESCRIPTION
+* This LID is used to store voice unavail leave rat configuration
+* INFOMATION
+* Can OTA Reset: Yes
+* Update Scenario: This LID need to be manual updated.
+*********************************************************************************************/
+LID_BIT VER_LID(NVRAM_EF_MRS_VOICE_UNAVAIL_LEAVE_RAT_CONFIG_LID)
+nvram_ef_mrs_voice_unavail_leave_rat_config_struct * NVRAM_EF_MRS_VOICE_UNAVAIL_LEAVE_RAT_CONFIG_TOTAL
+ {
+ is_valid:"[MCF,RUNTIME]Validity of voice unavail leave rat config table" {};
+
+ num_of_entry:"[MCF,RUNTIME]Number of valid entries" {};
+ voice_unavail_leave_rat_config_list:"[MCF,RUNTIME]Rules for leave/not leave rat when voice unavailable for specific SIM/network" {};
+ voice_unavail_leave_rat_config_list[*].hplmn: "PLMN ID of Home PLMN" {};
+ voice_unavail_leave_rat_config_list[*].splmn: "PLMN ID of Serving PLMN" {};
+ voice_unavail_leave_rat_config_list[*].leave_rat: "enum of rat to leave" {};
+ voice_unavail_leave_rat_config_list[*].leave_status: "need leave or no need leave" {};
+ voice_unavail_leave_rat_config_list[*].scope: "rule applied scope" {};
+ voice_unavail_leave_rat_config_list[*].num_of_exception: "number of exception rules" {};
+ };
+
END_NVRAM_DATA
#endif /* GEN FOR PC */
diff --git a/mcu/interface/service/nvram/nrrc_nvram_def.h b/mcu/interface/service/nvram/nrrc_nvram_def.h
index 686fcb6..c75dc61 100755
--- a/mcu/interface/service/nvram/nrrc_nvram_def.h
+++ b/mcu/interface/service/nvram/nrrc_nvram_def.h
@@ -74,6 +74,21 @@
*
* removed!
* removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
*
* removed!
* removed!
@@ -291,8 +306,8 @@
#define NVRAM_NRRC_SEARCH_MAX_LEARNED_INFO_NUM 50
#define NVRAM_NRRC_SEARCH_MAX_MOST_RECENT_MCC_NUM 6
-#define NVRAM_EF_NRRC_COMMON_CONFIG_LID_VERNO "036"
-#define NVRAM_EF_NRRC_COMMON_CONFIG_LID_HASH 0x639CC9B9
+#define NVRAM_EF_NRRC_COMMON_CONFIG_LID_VERNO "035"
+#define NVRAM_EF_NRRC_COMMON_CONFIG_LID_HASH 0xED98C676
#define NVRAM_EF_NRRC_COMMON_CONFIG_SIZE (sizeof(nvram_ef_nrrc_common_config_struct))
#define NVRAM_EF_NRRC_COMMON_CONFIG_TOTAL (1 * NVRAM_DUAL_RECORD)
diff --git a/mcu/interface/service/nvram/nrrc_nvram_editor.h b/mcu/interface/service/nvram/nrrc_nvram_editor.h
index bb5ba08..a4d99d3 100755
--- a/mcu/interface/service/nvram/nrrc_nvram_editor.h
+++ b/mcu/interface/service/nvram/nrrc_nvram_editor.h
@@ -65,6 +65,27 @@
* removed!
* removed!
* removed!
+ *
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
* removed!
*
* removed!
@@ -580,6 +601,14 @@
meas_mob_performance.lte_B1_B2_force_th.nbr_rsrp_th: "neighbor cell rsrp threshold, unit: qdBm, range: -640~-120, disable: 0x8000."{};
meas_mob_performance.lte_B1_B2_force_th.nbr_rsrq_th: "neighbor cell rsrq threshold, unit: qdB , range: -180~80, disable: 0x8000."{};
meas_mob_performance.lte_B1_B2_force_th.nbr_sinr_th: "neighbor cell sinr threshold, unit: qdB , range: -100~160, disable: 0x8000."{};
+ meas_mob_performance.lte_B1_B2_force_th_vonr: "srv<srv_th && nbr>nbr_th force LTE B1 report."{};
+ meas_mob_performance.lte_B1_B2_force_th_vonr.ctrl_bmp: "0x01: disable on high speed, 0x02: enable srv_th, 0x04: enable nbr_th, 0x08: disable on test SIM, 0x40: B1 enable, 0x80: B2 enable"{};
+ meas_mob_performance.lte_B1_B2_force_th_vonr.srv_rsrp_th: "serving cell rsrp threshold, unit: qdBm, range: -640~-120, disable: 0x8000."{};
+ meas_mob_performance.lte_B1_B2_force_th_vonr.srv_rsrq_th: "serving cell rsrq threshold, unit: qdB , range: -180~80, disable: 0x8000."{};
+ meas_mob_performance.lte_B1_B2_force_th_vonr.srv_sinr_th: "serving cell sinr threshold, unit: qdB , range: -100~160, disable: 0x8000."{};
+ meas_mob_performance.lte_B1_B2_force_th_vonr.nbr_rsrp_th: "neighbor cell rsrp threshold, unit: qdBm, range: -640~-120, disable: 0x8000."{};
+ meas_mob_performance.lte_B1_B2_force_th_vonr.nbr_rsrq_th: "neighbor cell rsrq threshold, unit: qdB , range: -180~80, disable: 0x8000."{};
+ meas_mob_performance.lte_B1_B2_force_th_vonr.nbr_sinr_th: "neighbor cell sinr threshold, unit: qdB , range: -100~160, disable: 0x8000."{};
meas_mob_performance.lte_B1_B2_force_th_serv_per_band_list: "Serving threshold per band list for lte_B1_B2_force_th. One of srv_rsrp_th/srv_rsrq_th/srv_sinr_th in lte_B1_B2_force_th must be valid. Unspecified band will use value in lte_B1_B2_force_th"{};
meas_mob_performance.lte_B1_B2_force_th_serv_per_band_list.per_band_threshold: "Threshold for specific band"{};
meas_mob_performance.lte_B1_B2_force_th_serv_per_band_list.per_band_threshold.band: "NR band, range: 1~65535, disable: 0x0000"{};
@@ -608,6 +637,11 @@
meas_mob_performance.ping_pong_parameter.ping_pong_cell_bar_time: "ping-pong cell bar time(300s), range: 60~600, disable: 0x8000."{};
meas_mob_performance.ping_pong_parameter.ping_pong_cell_monitor_period: "ping-pong cell monitor period(20s), range: 10~30 , disable: 0x8000."{};
meas_mob_performance.ping_pong_parameter.ping_pong_hit_count_threshold: "ping-pong hit count threshold, range: 2~5 , disable: 0x80."{};
+ meas_mob_performance.irat_ping_pong_parameter: "Parameters for nr irat ping-pong bar enhancement."{};
+ meas_mob_performance.irat_ping_pong_parameter.ctrl_bmp: "0x01: enable nr irat pingpong_bar, 0x02: disable on test SIM"{};
+ meas_mob_performance.irat_ping_pong_parameter.ping_pong_cell_bar_time: "ping-pong cell bar time(300s), range: 60~600, disable: 0x8000."{};
+ meas_mob_performance.irat_ping_pong_parameter.ping_pong_cell_monitor_period: "ping-pong cell monitor period(60s), range: 30~180 , disable: 0x8000."{};
+ meas_mob_performance.irat_ping_pong_parameter.ping_pong_hit_count_threshold: "ping-pong hit count threshold, range: 2~5 , disable: 0x80."{};
meas_mob_performance.a2_adjust_th: "srv>srv_th, adjust a2 thresh as MAX(ori, good_a2_rsrp_th). srv<=srv_th, adjust a2 thresh as MAX(ori, bad_a2_rsrq_th)"{};
meas_mob_performance.a2_adjust_th.ctrl_bmp: "0x01: disable on high speed, 0x02: enable good_a2_rsrp_th, 0x04: enable bad_a2_rsrp_th, 0x08: disable on test SIM"{};
meas_mob_performance.a2_adjust_th.srv_rsrp_th: "serving cell rsrp threshold, unit: qdBm, range: -640~-120, disable: 0x8000."{};
@@ -615,6 +649,13 @@
meas_mob_performance.a2_adjust_th.srv_sinr_th: "serving cell sinr threshold, unit: qdB , range: -100~160, disable: 0x8000."{};
meas_mob_performance.a2_adjust_th.good_a2_rsrp_th: "good_a2_rsrp_th, unit: qdBm, range: -640~-120, disable: 0x8000."{};
meas_mob_performance.a2_adjust_th.bad_a2_rsrp_th: "bad_a2_rsrp_th, unit: qdBm, range: -640~-120, disable: 0x8000."{};
+ meas_mob_performance.a2_adjust_th_vonr: "srv>srv_th, adjust a2 thresh as MAX(ori, good_a2_rsrp_th). srv<=srv_th, adjust a2 thresh as MAX(ori, bad_a2_rsrq_th)"{};
+ meas_mob_performance.a2_adjust_th_vonr.ctrl_bmp: "0x01: disable on high speed, 0x02: enable good_a2_rsrp_th, 0x04: enable bad_a2_rsrp_th, 0x08: disable on test SIM"{};
+ meas_mob_performance.a2_adjust_th_vonr.srv_rsrp_th: "serving cell rsrp threshold, unit: qdBm, range: -640~-120, disable: 0x8000."{};
+ meas_mob_performance.a2_adjust_th_vonr.srv_rsrq_th: "serving cell rsrq threshold, unit: qdB , range: -180~80, disable: 0x8000."{};
+ meas_mob_performance.a2_adjust_th_vonr.srv_sinr_th: "serving cell sinr threshold, unit: qdB , range: -100~160, disable: 0x8000."{};
+ meas_mob_performance.a2_adjust_th_vonr.good_a2_rsrp_th: "good_a2_rsrp_th, unit: qdBm, range: -640~-120, disable: 0x8000."{};
+ meas_mob_performance.a2_adjust_th_vonr.bad_a2_rsrp_th: "bad_a2_rsrp_th, unit: qdBm, range: -640~-120, disable: 0x8000."{};
meas_mob_performance.a2_adjust_th_per_band_list: "Per band list for a2_adjust_th. One of srv_rsrp_th/srv_rsrq_th/srv_sinr_th in a2_adjust_th must be valid. Unspecified band will use value in a2_adjust_th"{};
meas_mob_performance.a2_adjust_th_per_band_list.per_band_threshold: "Threshold for specific band"{};
meas_mob_performance.a2_adjust_th_per_band_list.per_band_threshold.band: "NR band, range: 1~65535, disable: 0x0000"{};
@@ -636,12 +677,18 @@
meas_mob_performance.A3A4A5_prefer_cell.rsrp_th_for_ignore_rpt: "neighbor cell rsrp threshold, unit: qdBm, range: -640~-120, disable: 0x8000."{};
meas_mob_performance.A3A4A5_prefer_cell.rsrq_th_for_ignore_rpt: "neighbor cell rsrq threshold, unit: qdB , range: -180~80, disable: 0x8000."{};
meas_mob_performance.A3A4A5_prefer_cell.sinr_th_for_ignore_rpt: "neighbor cell sinr threshold, unit: qdB , range: -100~160, disable: 0x8000."{};
- meas_mob_performance.postpone_a2_for_b1b2: "srv>srv_th, postpone a2 if b1b2 configured for timer_postpone_b1b2"{};
+ meas_mob_performance.postpone_a2_for_b1b2: "srv>srv_th, postpone a2 if b1b2 configured for timer_postpone_b1b2"{};
meas_mob_performance.postpone_a2_for_b1b2.ctrl_bmp: "0x01: disable on high speed, 0x02: enable lower_a2_rsrp_th, 0x04: enable lower_a2_rsrq_th, 0x08: disable on test SIM"{};
meas_mob_performance.postpone_a2_for_b1b2.timer_postpone_a2: "to postpone a2 for how long in ms if B1 or B2 configured"{};
meas_mob_performance.postpone_a2_for_b1b2.srv_rsrp_th: "serving cell rsrp threshold, unit: qdBm, range: -640~-120, disable: 0x8000."{};
meas_mob_performance.postpone_a2_for_b1b2.srv_rsrq_th: "serving cell rsrq threshold, unit: qdB , range: -180~80, disable: 0x8000."{};
meas_mob_performance.postpone_a2_for_b1b2.srv_sinr_th: "serving cell sinr threshold, unit: qdB , range: -100~160, disable: 0x8000."{};
+ meas_mob_performance.nr_lte_prefer_rat_rsrp_th: "Customized nr lte prefer rat rsrp threshold config."{};
+ meas_mob_performance.nr_lte_prefer_rat_rsrp_th.ctrl_bmp: "0x01: enable nr lte prefer rat rsrp threshold, 0x02: disable on test SIM"{};
+ meas_mob_performance.nr_lte_prefer_rat_rsrp_th.nr_good_rsrp_th: "nr serving cell rsrp good threshold, unit: qdBm, range: -640~-120, disable: 0x8000."{};
+ meas_mob_performance.nr_lte_prefer_rat_rsrp_th.nr_bad_rsrp_th: "nr serving cell rsrp bad threshold, unit: qdBm, range: -640~-120, disable: 0x8000."{};
+ meas_mob_performance.nr_lte_prefer_rat_rsrp_th.lte_rsrp_th: "lte candidate cell rsrp good threshold, unit: qdBm, range: -640~-120, disable: 0x8000."{};
+ meas_mob_performance.game_nbr_bad_rsrp_th: "set the rsrp lower bound of gaming neighbor cell, unit: qdBm, range: -640~-120, disable: 0x8000."{};
scg_bar_info: "[MCF] Configuration for SCG bar info."{};
scg_bar_info.scg_bar_th: "Number of SCG failures more than the scg_bar_th, scg cell will be barred."{};
scg_bar_info.scg_bar_time: "SCG cell bar timer."{};
@@ -662,20 +709,26 @@
nrrc_erm_param_info.short_monitor_duration: "abnormal monitor duration in sec"{};
nrrc_erm_param_info.bar_time:"bar time when abnormal threshold match"{};
nrrc_erm_param_info.long_monitor_duration:"monitor duration to fully alleviate"{};
+ nrrc_erm_param_info.nw_reject_with_long_wait_time_counter :"Counter for NW reject with a long wait time"{};
+ nrrc_erm_param_info.nw_reject_with_long_wait_time_monitoring_time :"Monitoring time for NW reject with a long wait time"{};
+ nrrc_erm_param_info.nw_reject_with_long_wait_time_bar_time :"Bar time for NW reject with a long wait time"{};
+ nrrc_erm_param_info.nw_reject_with_long_wait_time_threshold :"Threshold for NW reject with a long wait time"{};
nrrc_idle_param:"[MCF] Configuration for idle mode behavior parameters."{};
nrrc_idle_param.nr_tacless_bar_cell_timer:"Bar timer when 4G5 redirection to NR TACLESS cell."{};
nrrc_idle_param.nrrc_idle_custom_redir_param_info: "parameters for handling redirection failed in subway scenario"{};
nrrc_idle_param.nrrc_idle_custom_redir_param_info.offset_penalty: "offset penalty value when intra-NR redirection failed in subway scenario"{};
nrrc_idle_param.nrrc_idle_custom_redir_param_info.offset_time: "offset penalty time when intra-NR redirection failed in subway scenario"{};
nrrc_si_param:"[MCF] Configuration for SIB reception behaviour parameters."{};
- nrrc_si_param.q_rx_lv_min.is_valid:"[MCF] validity of custom NR_Q_RxLevMin"{};
- nrrc_si_param.q_rx_lv_min.custom_val:"[MCF] custom value of custom NR_Q_RxLevMin"{};
- nrrc_si_param.q_rx_lv_min.threshold_high:"[MCF] threshold high of custom NR_Q_RxLevMin"{};
- nrrc_si_param.q_rx_lv_min.threshold_low:"[MCF] threshold low of custom NR_Q_RxLevMin"{};
- nrrc_si_param.q_qual_lv_min.is_valid:"[MCF] validity of custom NR_Q_QualMin"{};
- nrrc_si_param.q_qual_lv_min.custom_val:"[MCF] custom value of custom NR_Q_QualMin"{};
- nrrc_si_param.q_qual_lv_min.threshold_high:"[MCF] threshold high custom NR_Q_QualMin"{};
- nrrc_si_param.q_qual_lv_min.threshold_low:"[MCF] threshold low of custom NR_Q_QualMin"{};
+ nrrc_si_param.q_rx_lv_min:"[MCF] customized NR_Q_RxLevMin"{};
+ nrrc_si_param.q_rx_lv_min.is_valid:"[MCF] validity of customized NR_Q_RxLevMin"{};
+ nrrc_si_param.q_rx_lv_min.custom_val:"[MCF] custom value of customized NR_Q_RxLevMin"{};
+ nrrc_si_param.q_rx_lv_min.threshold_high:"[MCF] threshold high of customized NR_Q_RxLevMin"{};
+ nrrc_si_param.q_rx_lv_min.threshold_low:"[MCF] threshold low of customized NR_Q_RxLevMin"{};
+ nrrc_si_param.q_qual_lv_min:"[MCF] customized NR_Q_QualMin"{};
+ nrrc_si_param.q_qual_lv_min.is_valid:"[MCF] validity of customized NR_Q_QualMin"{};
+ nrrc_si_param.q_qual_lv_min.custom_val:"[MCF] custom value of customized NR_Q_QualMin"{};
+ nrrc_si_param.q_qual_lv_min.threshold_high:"[MCF] threshold high customized NR_Q_QualMin"{};
+ nrrc_si_param.q_qual_lv_min.threshold_low:"[MCF] threshold low of customized NR_Q_QualMin"{};
hst_cell_param:"[MCF] Configuration for cell power threshold."{};
hst_cell_param.rsrp_threshold:"[MCF] custom value of rsrp threshold for hst enhance"{};
hst_cell_param.rsrq_threshold:"[MCF] custom value of rsrq threshold for hst enhance"{};
@@ -1121,6 +1174,10 @@
kal_uint32 short_monitor_duration;
kal_uint32 bar_time;
kal_uint32 long_monitor_duration;
+ kal_uint8 nw_reject_with_long_wait_time_counter;
+ kal_uint8 nw_reject_with_long_wait_time_monitoring_time;
+ kal_uint32 nw_reject_with_long_wait_time_bar_time;
+ kal_uint8 nw_reject_with_long_wait_time_threshold;
} nvram_nrrc_abnormal_control_params_struct;
typedef struct {
diff --git a/mcu/interface/service/sbp/sbp_feature.def b/mcu/interface/service/sbp/sbp_feature.def
index 7ad155f..e7d0714 100755
--- a/mcu/interface/service/sbp/sbp_feature.def
+++ b/mcu/interface/service/sbp/sbp_feature.def
@@ -69,7 +69,8 @@
<RECORD Date="2022-06-24" Author="ot901114">Add SBP_GMSS_TRIGGER_INCREMENTAL_MPSR</RECORD>
<RECORD Date="2022-05-16" Author="OT901109">Add SBP_NWSEL_CLEAR_RPLMN_FOR_POWER_ON_SEARCH</RECORD>
<RECORD Date="2022-05-16" Author="OT901109">Add SBP_NWSEL_CLEAR_RPLMN_FOR_HOME_COUNTRY_POWER_ON_SEARCH</RECORD>
- </HISTORY>
+ <RECORD Date="2022-08-16" Author="mtk15164">Add SBP_NAS_SV_RAT_CAP_CONTROL_BY_MRS_CONFIG</RECORD>
+ </HISTORY>
</SBP_DOC_INFO>
******* SBP Doc End ********/
@@ -22698,7 +22699,7 @@
#endif
/****** SBP Document BEGIN ************************************************************************
-<SBP title="SBP_KOR_SKT_NULL_MSISDN_REG - Blocking the registration for Korea SKT telecom requirement ">
+<SBP title="SBP_KOR_NULL_MSISDN_REG - Blocking the registration for Korea operator requirement ">
<DESCRIPTION>
<PARAG>If inserted USIM card has NULL MSISDN with registration mode, UE will not try to attach request to network. </PARAG>
</DESCRIPTION>
@@ -22708,13 +22709,13 @@
<VALUE value="1">Enabled</VALUE>
</CONFIG>
<DEFAULT>0</DEFAULT>
- <OP>SKT</OP>
+ <OP>OP115 and OP116</OP>
<DEPENDENCY>N/A</DEPENDENCY>
<NOTE>None</NOTE>
<AUTHOR>mtk06648</AUTHOR>
</SBP>
******* SBP Document END **************************************************************************/
-SBP_FEATURE_DEF(SBP_KOR_SKT_NULL_MSISDN_REG, SBP_ATTR_NONE, "Do Not try to attach network if USIM has NULL MSISDN for SKT", "Disabled", "Enabled", 0)
+SBP_FEATURE_DEF(SBP_KOR_NULL_MSISDN_REG, SBP_ATTR_NONE, "Do Not try to attach network if USIM has NULL MSISDN for Korea operator requirement", "Disabled", "Enabled", 0)
/****** SBP Document BEGIN ************************************************************************
@@ -33251,7 +33252,7 @@
<VALUE value="0">Not support</VALUE>
<VALUE value="1">Support</VALUE>
</CONFIG>
- <DEFAULT>0</DEFAULT>
+ <DEFAULT>1</DEFAULT>
<OP>N/A</OP>
<DEPENDENCY>N/A</DEPENDENCY>
<NOTE>
@@ -33261,10 +33262,10 @@
<AUTHOR>mtk16743</AUTHOR>
</SBP>
******* SBP Document END **************************************************************************/
-#if defined(__SUPPORT_LTE_SKIPPED_FALLBACK_CA__)
- SBP_FEATURE_DEF(SBP_SUPPORT_LTE_SKIPPED_FALLBACK_CA, SBP_ATTR_NONE, "Support of skippfallback CA combinations in LTE", "Not support", "Support", 1)
-#else
+#if defined(__DISABLE_SUPPORT_LTE_SKIPPED_FALLBACK_CA__)
SBP_FEATURE_DEF(SBP_SUPPORT_LTE_SKIPPED_FALLBACK_CA, SBP_ATTR_NONE, "Support of skippfallback CA combinations in LTE", "Not support", "Support", 0)
+#else
+ SBP_FEATURE_DEF(SBP_SUPPORT_LTE_SKIPPED_FALLBACK_CA, SBP_ATTR_NONE, "Support of skippfallback CA combinations in LTE", "Not support", "Support", 1)
#endif
/****** SBP Document BEGIN ************************************************************************
@@ -33304,7 +33305,7 @@
<VALUE value="0">Disabled</VALUE>
<VALUE value="1">Enabled</VALUE>
</CONFIG>
- <DEFAULT>0</DEFAULT>
+ <DEFAULT>1</DEFAULT>
<OP>N/A</OP>
<DEPENDENCY>N/A</DEPENDENCY>
<NOTE>
@@ -33314,7 +33315,11 @@
<AUTHOR>mtk16743</AUTHOR>
</SBP>
******* SBP Document END **************************************************************************/
-SBP_FEATURE_DEF(SBP_CA_MAX_MIMO_LAYERS, SBP_ATTR_NONE, "Support of maximumCCsRetrieval in LTE", "Disabled", "Enabled", 0)
+#if defined __DISABLE_LTE_SUPPORT_MAX_CC_RETRIEVAL__
+ SBP_FEATURE_DEF(SBP_CA_MAX_MIMO_LAYERS, SBP_ATTR_NONE, "Support of maximumCCsRetrieval in LTE", "Disabled", "Enabled", 0)
+#else
+ SBP_FEATURE_DEF(SBP_CA_MAX_MIMO_LAYERS, SBP_ATTR_NONE, "Support of maximumCCsRetrieval in LTE", "Disabled", "Enabled", 1)
+#endif
/****** SBP Document BEGIN ************************************************************************
<SBP title="SBP_NR_PARTIAL_BAND_USE_NVRAM - Use NVRAM to config NR partial band under MCC">
@@ -33851,7 +33856,7 @@
/****** SBP Document BEGIN ************************************************************************
<SBP title="SBP_NR_CAP_DISABLE_PUSCH_LBRM - disable pusch_LBRM transmission in NR">
<DESCRIPTION>
- <PARAG>
+ <PARAG>
To force disable NR LBRM PUSCH transmission. The capabitliy report of pusch_LBRM in 38.306 will be affected.
</PARAG>
</DESCRIPTION>
@@ -33968,8 +33973,8 @@
/****** SBP Document BEGIN ************************************************************************
<SBP title="SBP_LBS_LPP_ALLOW_NILR_AFTER_EMC_END - LBS to allow/deny NILR session after an emergency call ends">
<DESCRIPTION>
- <PARAG>The UE SHALL allow NI-LR for Emergency Service Calls regardless of the location privacy settings or
- GPS settings on the UE. UE SHALL allow NI-LR to be supported for upto 5minutes after an emergency call ends
+ <PARAG>The UE SHALL allow NI-LR for Emergency Service Calls regardless of the location privacy settings or
+ GPS settings on the UE. UE SHALL allow NI-LR to be supported for upto 5minutes after an emergency call ends
(in case of a premature or dropped call where PSAP may wish to do a locate).
</PARAG>
</DESCRIPTION>
@@ -33993,8 +33998,510 @@
SBP_FEATURE_DEF(SBP_LBS_LPP_ALLOW_NILR_AFTER_EMC_END, SBP_ATTR_NONE, "The NILR session not allowed after an emergency call ends.", "Allow NILR", "Not allow NILR", 0)
#endif
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_SA_LTE_B1_MEAS_SKIP_SERVING_MEAS_OBJECT_CHECK - NRRC Skips MeasObj Check of Serving Frequency for LTE B1 in SA Mode during VoNR">
+ <DESCRIPTION>
+ <PARAG>
+ If this SBP is turn ON, NRRC skips measObj check of serving frequency for LTE B1 in SA Mode during VoNR
+ </PARAG>
+ </DESCRIPTION>
+ <CONFIG>
+ <VALUE value="0">Disable</VALUE>
+ <VALUE value="1">Enable</VALUE>
+ </CONFIG>
+ <CATEGORY>NRRC</CATEGORY>
+ <DEFAULT>0</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>N/A</DEPENDENCY>
+ <NOTE>None</NOTE>
+ <AUTHOR>mtk12264</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#ifdef __SA_LTE_B1_MEAS_SKIP_SERVING_MEAS_OBJECT_CHECK__
+ SBP_FEATURE_DEF(SBP_SA_LTE_B1_MEAS_SKIP_SERVING_MEAS_OBJECT_CHECK, SBP_ATTR_NONE, "NRRC Skips MeasObj Check of Serving Frequency for LTE B1 in SA mode during VoNR", "Disabled", "Enabled", 1)
+#else
+ SBP_FEATURE_DEF(SBP_SA_LTE_B1_MEAS_SKIP_SERVING_MEAS_OBJECT_CHECK, SBP_ATTR_NONE, "NRRC Skips MeasObj Check of Serving Frequency for LTE B1 in SA mode during VoNR", "Disabled", "Enabled", 0)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_DEREG_VOWIFI_WHEN_CS_CALL_ONGOING">
+ <DESCRIPTION>
+ <PARAG> When CS call is ongoing, UE should dereg VoWiFi </PARAG>
+ </DESCRIPTION>
+ <CATEGORY>IMC</CATEGORY>
+ <CONFIG>
+ <VALUE value="0">Disabled</VALUE>
+ <VALUE value="1">Enabled</VALUE>
+ </CONFIG>
+ <DEFAULT>0</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>N/A</DEPENDENCY>
+ <NOTE>None</NOTE>
+ <AUTHOR>mtk16701</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#if defined(__SBP_DEREG_VOWIFI_WHEN_CS_CALL_ONGOING__)
+ SBP_FEATURE_DEF(SBP_DEREG_VOWIFI_WHEN_CS_CALL_ONGOING, SBP_ATTR_NONE, "Enable that UE should dereg VoWiFi when CS call is ongoing.", "Not Enabled", "Enabled", 1)
+#else
+ SBP_FEATURE_DEF(SBP_DEREG_VOWIFI_WHEN_CS_CALL_ONGOING, SBP_ATTR_NONE, "Disable that UE should dereg VoWiFi when CS call is ongoing.", "Not Enabled", "Enabled", 0)
+#endif
+
SBP_FEATURE_DEF_END(169)
+/* 171st byte*/
+SBP_FEATURE_DEF_BEGIN(170)
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_ERRC_A3_HO_ENH_TRIGGER_EARLY_REEST - Trigger Early Re-establishment if N/W not responding for 10 consecutive A3 MR ">
+ <DESCRIPTION>
+ <PARAG>
+ If the n/w is not responding for consecutive 10 A3 MR and serving cell has low RSRQ and SINR ,then trigger early re-establisment to avoid T-put loss.
+ </PARAG>
+ </DESCRIPTION>
+ <CATEGORY>ERRC</CATEGORY>
+ <CONFIG>
+ <VALUE value="0">Disable. </VALUE>
+ <VALUE value="1">Enable. </VALUE>
+ </CONFIG>
+ <DEFAULT>0</DEFAULT>
+ <OP></OP>
+ <DEPENDENCY>if compile option __SBP_ERRC_A3_HO_ENH_TRIGGER_EARLY_REEST__ is defined, the SBP is enabled</DEPENDENCY>
+ <NOTE>
+ IS_VIOLATE_STANDARD=Y
+ VIOLATED_STANDARD= 3GPP TS 36.331
+ </NOTE>
+ <AUTHOR>ot903712</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#ifdef __SBP_ERRC_A3_HO_ENH_TRIGGER_EARLY_REEST__
+ SBP_FEATURE_DEF(SBP_ERRC_A3_HO_ENH_TRIGGER_EARLY_REEST, SBP_ATTR_NONE, "Trigger Early Re-establishment if N/W not responding for 10 consecutive A3 MR.", "Disabled", "Enabled", 1)
+#else
+ SBP_FEATURE_DEF(SBP_ERRC_A3_HO_ENH_TRIGGER_EARLY_REEST, SBP_ATTR_NONE, "Trigger Early Re-establishment if N/W not responding for 10 consecutive A3 MR.", "Disabled", "Enabled", 0)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_ENABLE_PINGPONG_BAR_NR_IRAT - Enable NR IRAT ping-pong-bar enhancement ">
+ <DESCRIPTION>
+ <PARAG>
+ Enable NR IRAT ping-pong-bar enhancement.
+ </PARAG>
+ </DESCRIPTION>
+ <CATEGORY>NR</CATEGORY>
+ <CONFIG>
+ <VALUE value="0">Not Enabled</VALUE>
+ <VALUE value="1">Enabled</VALUE>
+ </CONFIG>
+ <DEFAULT>0</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>if compile option __ENABLE_PINGPONG_BAR_NR_IRAT__ is defined, the SBP is enabled</DEPENDENCY>
+ <NOTE>N/A</NOTE>
+ <AUTHOR>mtk02689</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#if defined(__ENABLE_PINGPONG_BAR_NR_IRAT__)
+ SBP_FEATURE_DEF(SBP_ENABLE_PINGPONG_BAR_NR_IRAT, SBP_ATTR_NONE, "Enable NR IRAT ping-pong-bar enhancement", "Not Enabled", "Enabled", 1)
+#else
+ SBP_FEATURE_DEF(SBP_ENABLE_PINGPONG_BAR_NR_IRAT, SBP_ATTR_NONE, "Enable NR IRAT ping-pong-bar enhancement", "Not Enabled", "Enabled", 0)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_NR_BAR_CELL_NW_REJECT_WITH_LONG_WAIT_TIME">
+ <DESCRIPTION>
+ <PARAG>
+ When this SBP is turned on, NR serving cell is set as barred,
+ if RRC connection establishment is rejected constantly
+ by the NW with a long wait time.
+ </PARAG>
+ </DESCRIPTION>
+ <CATEGORY>NR</CATEGORY>
+ <CONFIG>
+ <VALUE value="0">Disabled</VALUE>
+ <VALUE value="1">Enabled</VALUE>
+ </CONFIG>
+ <DEFAULT>0</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>N/A</DEPENDENCY>
+ <NOTE>N/A</NOTE>
+ <AUTHOR>mtk11329</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+SBP_FEATURE_DEF(SBP_NR_BAR_CELL_NW_REJECT_WITH_LONG_WAIT_TIME, SBP_ATTR_NONE, "Set NR serving cell as barred, if RRC conn. est. is rejected by NW with a long wait time.", "Disabled", "Enabled", 0)
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="MULTIPLE_APN_REQUIREMENT - Multiple APNs for each protocol type.">
+ <DESCRIPTION>
+ <PARAG>
+ MOLY00379474: PDP_type of IA PDN conflicts with User APN setting, TC3 acquires us to activate another type of PDN.
+ ALPS05666551: TMO test needs to reject PDN reuse due to protocol type conflict.
+ </PARAG>
+ </DESCRIPTION>
+ <CATEGORY>EAS</CATEGORY>
+ <CONFIG>
+ <VALUE value="0">Disable. </VALUE>
+ <VALUE value="1">Enable. </VALUE>
+ </CONFIG>
+ <DEFAULT>0</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>N/A</DEPENDENCY>
+ <NOTE>None</NOTE>
+ <AUTHOR>mtk13643</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#ifdef __MULTIPLE_APN_REQUIREMENT__
+ SBP_FEATURE_DEF(SBP_MULTIPLE_APN_REQUIREMENT, SBP_ATTR_NONE, "Multiple APN feature is enable.", "Disabled", "Enabled", 1)
+#else
+ SBP_FEATURE_DEF(SBP_MULTIPLE_APN_REQUIREMENT, SBP_ATTR_NONE, "Multiple APN feature is disable.", "Disabled", "Enabled", 0)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_VGMM_BYPASS_SR_BLOCK_IN_CONNECTED">
+ <DESCRIPTION>
+ <PARAG>
+ Seldomly in RJIO, NW would not response SR, because NW does not receive PDU RELEASE COMPLETE yet.
+ When this SBP is on, if UE is in connected, VGMM will send VGSM PDU RELEASE COMPLETE to NW evenif the other SR is ongoing.
+ This SBP is only used in RJIO.
+ </PARAG>
+ </DESCRIPTION>
+ <CATEGORY>NAS</CATEGORY>
+ <CONFIG>
+ <VALUE value="0">Disable </VALUE>
+ <VALUE value="1">Enable </VALUE>
+ </CONFIG>
+ <DEFAULT>0</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>N/A</DEPENDENCY>
+ <NOTE>None</NOTE>
+ <AUTHOR>mtk16210</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#ifdef __SBP_VGMM_BYPASS_SR_BLOCK_IN_CONNECTED__
+ SBP_FEATURE_DEF(SBP_VGMM_BYPASS_SR_BLOCK_IN_CONNECTED, SBP_ATTR_NONE, "Enable VGMM bypss SR block in connected", "Disabled", "Enabled", 1)
+#else
+ SBP_FEATURE_DEF(SBP_VGMM_BYPASS_SR_BLOCK_IN_CONNECTED, SBP_ATTR_NONE, "Enable VGMM bypss SR block in connected", "Disabled", "Enabled", 0)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_L5SMS_CBM_ALL_CLOSE_DEFAULT">
+ <DESCRIPTION>
+ <PARAG> make all 3gpp CBM close in low layer defaultly. Low layer would not receive the CBM and not notify L5(not to HOST). make this as 1 could save resource
+ </PARAG>
+ </DESCRIPTION>
+ <CATEGORY>NAS</CATEGORY>
+ <CONFIG>
+ <VALUE value="0">Disable. </VALUE>
+ <VALUE value="1">Enable. </VALUE>
+ </CONFIG>
+ <DEFAULT>Disable</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>N/A</DEPENDENCY>
+ <NOTE>None</NOTE>
+ <AUTHOR>mtk14954</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+SBP_FEATURE_DEF(SBP_L5SMS_CBM_ALL_CLOSE_DEFAULT, SBP_ATTR_NONE, "make all 3gpp CBM close in low layer defaultly", "DISABLE", "ENABLE", 0)
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_DISABLE_SIB12_FOR_CMAS_DISABLE - Disable SIB12 reception when CMAS is disabled from Higher layers">
+ <DESCRIPTION>
+ <PARAG>
+ If this SBP is turn ON, UE doesn't receive SIB12 when CMAS is disabled from Higher layers.
+ </PARAG>
+ </DESCRIPTION>
+ <CATEGORY>EAS</CATEGORY>
+ <CONFIG>
+ <VALUE value="0">Disable. UE receive SIB12 when CMAS is disabled from Higher layers. </VALUE>
+ <VALUE value="1">Enable. UE doesn't receive SIB12 when CMAS is disabled from Higher layers. </VALUE>
+ </CONFIG>
+ <DEFAULT>0</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>
+ </DEPENDENCY>
+ <NOTE>
+ </NOTE>
+ <AUTHOR>mtk25376</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#ifdef __DISABLE_SIB12_FOR_CMAS_DISABLE__
+SBP_FEATURE_DEF(SBP_DISABLE_SIB12_FOR_CMAS_DISABLE, SBP_ATTR_NONE, "Disable SIB12 reception when CMAS is disabled from Higher layers", "Disable", "Enable", 1)
+#else
+SBP_FEATURE_DEF(SBP_DISABLE_SIB12_FOR_CMAS_DISABLE, SBP_ATTR_NONE, "Disable SIB12 reception when CMAS is disabled from Higher layers", "Disable", "Enable", 0)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_NR_TO_LTE_B1B2_CUSTOM_CELL_THRESH_FOR_VONR - additional pcell/ncell custom threshold check for B1/B2 report when under VoNR ongoing ">
+ <DESCRIPTION>
+ <PARAG>
+ Enable/Disable additional pcell/ncell custom threshold check for B1/B2 report when under VoNR ongoing.
+ </PARAG>
+ </DESCRIPTION>
+ <CATEGORY>NR</CATEGORY>
+ <CONFIG>
+ <VALUE value="0">Not Enabled</VALUE>
+ <VALUE value="1">Enabled</VALUE>
+ </CONFIG>
+ <DEFAULT>0</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>if compile option __ENABLE_NR_TO_LTE_B1B2_CUSTOM_CELL_THRESH_FOR_VONR__ is defined, the SBP is enabled</DEPENDENCY>
+ <NOTE>N/A</NOTE>
+ <AUTHOR>mtk12473</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#if defined(__ENABLE_NR_TO_LTE_B1B2_CUSTOM_CELL_THRESH_FOR_VONR__)
+ SBP_FEATURE_DEF(SBP_NR_TO_LTE_B1B2_CUSTOM_CELL_THRESH_FOR_VONR, SBP_ATTR_NONE, "additional pcell/ncell custom threshold check for B1/B2 report when under VoNR ongoing", "Not Enabled", "Enabled", 1)
+#else
+ SBP_FEATURE_DEF(SBP_NR_TO_LTE_B1B2_CUSTOM_CELL_THRESH_FOR_VONR, SBP_ATTR_NONE, "additional pcell/ncell custom threshold check for B1/B2 report when under VoNR ongoing", "Not Enabled", "Enabled", 0)
+#endif
+
+SBP_FEATURE_DEF_END(170)
+
+/* 172st byte*/
+SBP_FEATURE_DEF_BEGIN(171)
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_NR_CUSTOM_A2_THRESH_ADJUST_FOR_VONR - additional pcell custom thresh and a2 threshold for A2 report when under VoNR ongoing ">
+ <DESCRIPTION>
+ <PARAG>
+ Enable/Disable additional pcell custom thresh and a2 threshold for A2 report when under VoNR ongoing.
+ </PARAG>
+ </DESCRIPTION>
+ <CATEGORY>NR</CATEGORY>
+ <CONFIG>
+ <VALUE value="0">Not Enabled</VALUE>
+ <VALUE value="1">Enabled</VALUE>
+ </CONFIG>
+ <DEFAULT>0</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>if compile option __ENABLE_NR_CUSTOM_A2_THRESH_ADJUST_FOR_VONR__ is defined, the SBP is enabled</DEPENDENCY>
+ <NOTE>N/A</NOTE>
+ <AUTHOR>mtk12473</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#if defined(__ENABLE_NR_CUSTOM_A2_THRESH_ADJUST_FOR_VONR__)
+ SBP_FEATURE_DEF(SBP_NR_CUSTOM_A2_THRESH_ADJUST_FOR_VONR, SBP_ATTR_NONE, "additional pcell custom thresh and a2 threshold for A2 report when under VoNR ongoing", "Not Enabled", "Enabled", 1)
+#else
+ SBP_FEATURE_DEF(SBP_NR_CUSTOM_A2_THRESH_ADJUST_FOR_VONR, SBP_ATTR_NONE, "additional pcell custom thresh and a2 threshold for A2 report when under VoNR ongoing", "Not Enabled", "Enabled", 0)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_OP12_ONSITE_LTE_UICC">
+ <DESCRIPTION>
+ <PARAG>
+ If the ICCID begins with 89999480, the device consider the UICC to be an "On Site LTE UICC".
+ The device shall not only comply with all existing LTE device requirements defined OP12 Wireless,
+ but also follow the data-centric and/or IMS-less requirements.
+ </PARAG>
+ </DESCRIPTION>
+ <CONFIG>
+ <VALUE value="0">Disable to check if this SIM is OP12 onsite UICC</VALUE>
+ <VALUE value="1">Enable to check if this SIM is OP12 onsite UICC</VALUE>
+ </CONFIG>
+ <CATEGORY>L4</CATEGORY>
+ <DEFAULT>0</DEFAULT>
+ <OP>OP12</OP>
+ <DEPENDENCY>N/A</DEPENDENCY>
+ <NOTE>IS_VIOLATE_STANDARD=N</NOTE>
+ <AUTHOR>mtk22699</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#if defined(__SBP_ENABLE_OP12_ONSITE_LTE_UICC__)
+ SBP_FEATURE_DEF(SBP_OP12_ONSITE_LTE_UICC, SBP_ATTR_NONE, "this SIM is OP12 onsite UICC", "Disabled", "Enabled", 1)
+#else
+ SBP_FEATURE_DEF(SBP_OP12_ONSITE_LTE_UICC, SBP_ATTR_NONE, "this SIM is OP12 onsite UICC", "Disabled", "Enabled", 0)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_L5_SIM_REPORT_REQUESTED_PIN_TYPE_WHEN_BLOCKED">
+ <DESCRIPTION>
+ <PARAG>
+ when verify pin fail max times and blocked:
+ 1.If sbp on, reported pin type is the same as in the request and remaining_attempts is 0.
+ 2.If sbp off, reported pin type is the puk corresponding to the pin type in the request and remaining_attempts is puk remaining times.
+ </PARAG>
+ </DESCRIPTION>
+ <CONFIG>
+ <VALUE value="0">report pin type puk and puk remain_attemps</VALUE>
+ <VALUE value="1">report pin type pin and pin remain_attemps 0</VALUE>
+ </CONFIG>
+ <CATEGORY>MIPC</CATEGORY>
+ <DEFAULT>0</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>
+ This SBP can be controlled by compile option __L5_SIM_REPORT_REQUESTED_PIN_TYPE_WHEN_BLOCKED__
+ </DEPENDENCY>
+ <NOTE>
+ None
+ IS_VIOLATE_STANDARD=N
+ </NOTE>
+ <AUTHOR>mtk21075</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#ifdef __L5_SIM_REPORT_REQUESTED_PIN_TYPE_WHEN_BLOCKED__
+ SBP_FEATURE_DEF(SBP_L5_SIM_REPORT_REQUESTED_PIN_TYPE_WHEN_BLOCKED, SBP_ATTR_NONE, "report pin type is the same as in the request and remaining_attempts is 0 when verify pin fail max times and blocked", "Disabled", "Enabled", 1)
+#else
+ SBP_FEATURE_DEF(SBP_L5_SIM_REPORT_REQUESTED_PIN_TYPE_WHEN_BLOCKED, SBP_ATTR_NONE, "report pin type is the same as in the request and remaining_attempts is 0 when verify pin fail max times and blocked", "Disabled", "Enabled", 0)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_L5_SIM_REPORT_SIM_STATUS_IND_WHEN_VERIFY_FAIL_TO_BLOCKED">
+ <DESCRIPTION>
+ <PARAG>
+ 1.If sbp on, modem will send sim status ind to AP when verify pin failed max times and changed to PUK
+ 2.If sbp off, modem will not send sim status ind to AP when verify pin failed max times and changed to PUK
+ </PARAG>
+ </DESCRIPTION>
+ <CONFIG>
+ <VALUE value="0">off</VALUE>
+ <VALUE value="1">on</VALUE>
+ </CONFIG>
+ <CATEGORY>MIPC</CATEGORY>
+ <DEFAULT>0</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>
+ This SBP can be controlled by compile option __L5_SIM_REPORT_SIM_STATUS_IND_WHEN_VERIFY_FAIL_TO_BLOCKED__
+ </DEPENDENCY>
+ <NOTE>
+ None
+ IS_VIOLATE_STANDARD=N
+ </NOTE>
+ <AUTHOR>mtk21075</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#ifdef __L5_SIM_REPORT_SIM_STATUS_IND_WHEN_VERIFY_FAIL_TO_BLOCKED__
+ SBP_FEATURE_DEF(SBP_L5_SIM_REPORT_SIM_STATUS_IND_WHEN_VERIFY_FAIL_TO_BLOCKED, SBP_ATTR_NONE, "when verify fail to block and send ind", "Disabled", "Enabled", 1)
+#else
+ SBP_FEATURE_DEF(SBP_L5_SIM_REPORT_SIM_STATUS_IND_WHEN_VERIFY_FAIL_TO_BLOCKED, SBP_ATTR_NONE, "when verify fail to block and send ind", "Disabled", "Enabled", 0)
+#endif
+
+/****** SBP Document BEGIN *****************************************************************************
+<SBP title="SBP_TPC_ETM_TRIGGER_EARLIER_FOR_MT6308H">
+ <DESCRIPTION>
+ <PARAG>
+ 1. This feaure is to resolve MT6308H's HW limition issue.
+ 2. When UL power difference is large between different channnels, there is an undershoot issue for MT6308H, TPC would trigger ETM bias earlier than normal scenario.
+ </PARAG>
+ </DESCRIPTION>
+ <CATEGORY>RF</CATEGORY>
+ <CONFIG>
+ <VALUE value="0">Disable</VALUE>
+ <VALUE value="1">Enable</VALUE>
+ </CONFIG>
+ <DEFAULT>0</DEFAULT>
+ <OP>Verizon</OP>
+ <DEPENDENCY>N/A</DEPENDENCY>
+ <NOTE>
+ N/A
+ </NOTE>
+ <AUTHOR>mtk11568</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+ SBP_FEATURE_DEF(SBP_TPC_ETM_TRIGGER_EARLIER_FOR_MT6308H, SBP_ATTR_NONE, "Enable TPC trigger ETM Bias earlier", "Disable", "Enable", 1)
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_4G5_MRU_PREFER_UL_DATA_STATUS">
+ <DESCRIPTION>
+ <PARAG>
+ Wait TFTPF matching result before IRAT MRU start. So uplink_data_status may set correctly in registration request.
+ </PARAG>
+ </DESCRIPTION>
+ <CONFIG>
+ <VALUE value="0">Disable</VALUE>
+ <VALUE value="1">Enable</VALUE>
+ </CONFIG>
+ <CATEGORY>NAS</CATEGORY>
+ <DEFAULT>0</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>N/A</DEPENDENCY>
+ <NOTE>N/A</NOTE>
+ <AUTHOR>mtk13167</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#ifdef __SBP_4G5_MRU_PREFER_UL_DATA_STATUS__
+ SBP_FEATURE_DEF(SBP_4G5_MRU_PREFER_UL_DATA_STATUS, SBP_ATTR_NONE, "prefer uplink data status in 4G5 HO MRU", "Disabled", "Enabled", 1)
+#else
+ SBP_FEATURE_DEF(SBP_4G5_MRU_PREFER_UL_DATA_STATUS, SBP_ATTR_NONE, "prefer uplink data status in 4G5 HO MRU", "Disabled", "Enabled", 0)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_ENABLE_PHB_DUMP_LOGGING - Logging of PHB dump data.">
+ <DESCRIPTION>
+ <PARAG>
+ If this SBP is enabled, then the PHB dump data logging will be enabled.
+ If this SBP is disabled, then the PHB dump data logging will be disabled.
+ </PARAG>
+ </DESCRIPTION>
+ <CATEGORY>L4</CATEGORY>
+ <CONFIG>
+ <VALUE value="0">Disable. </VALUE>
+ <VALUE value="1">Enable. </VALUE>
+ </CONFIG>
+ <DEFAULT>Disable</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>N/A</DEPENDENCY>
+ <NOTE>None</NOTE>
+ <AUTHOR>mtk15332</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#if defined(__ENABLE_PHB_DUMP_LOGGING__)
+ SBP_FEATURE_DEF(SBP_ENABLE_PHB_DUMP_LOGGING, SBP_ATTR_NONE, "Enables the logging of PHB dump data", "Disabled", "Enabled", 1)
+#else
+ SBP_FEATURE_DEF(SBP_ENABLE_PHB_DUMP_LOGGING, SBP_ATTR_NONE, "Disables the logging of PHB dump data", "Disabled", "Enabled", 0)
+#endif
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_SDAP_AS_REFLECTIVE_QOS_SUPPORT - UE supports SDAP AS Reflective QoS (AS RQoS)">
+ <DESCRIPTION>
+ <PARAG>
+ Under NR SA, configuration for NRRC capability SDAP as-ReflectiveQoS.
+ When this SBP is enabled, UE supports SDAP AS Reflective QoS (AS RQoS).
+ Please refer to TS 37.324 for detail.
+ </PARAG>
+ </DESCRIPTION>
+ <CATEGORY>AS</CATEGORY>
+ <CONFIG>
+ <VALUE value="0">Not supported: UE does not support SDAP AS Reflective QoS</VALUE>
+ <VALUE value="1">Supported: UE supports SDAP AS Reflective QoS</VALUE>
+ </CONFIG>
+ <DEFAULT>1</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>N/A</DEPENDENCY>
+ <NOTE>N/A</NOTE>
+ <AUTHOR>mtk16615</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+ SBP_FEATURE_DEF(SBP_SDAP_AS_REFLECTIVE_QOS_SUPPORT, SBP_ATTR_NONE, "UE supports SDAP AS Reflective QoS", "Not supported", "Supported", 1)
+
+SBP_FEATURE_DEF_END(171)
+
+/* 173rd byte*/
+SBP_FEATURE_DEF_BEGIN(172)
+
+/****** SBP Document BEGIN ************************************************************************
+<SBP title="SBP_NAS_SV_RAT_CAP_CONTROL_BY_MRS_CONFIG - To disable RAT capability according to mrs rat cap config ">
+ <DESCRIPTION>
+ <PARAG> To disable RAT capability according to mrs rat cap config. </PARAG>
+ </DESCRIPTION>
+ <CATEGORY>NAS</CATEGORY>
+ <CONFIG>
+ <VALUE value="0">Not Enabled</VALUE>
+ <VALUE value="1">Enabled</VALUE>
+ </CONFIG>
+ <DEFAULT>1</DEFAULT>
+ <OP>N/A</OP>
+ <DEPENDENCY>N/A</DEPENDENCY>
+ <NOTE>
+ IS_VIOLATE_STANDARD=N
+ </NOTE>
+ <AUTHOR>mtk14832</AUTHOR>
+</SBP>
+******* SBP Document END **************************************************************************/
+#ifdef _DISABLE_NAS_SV_RAT_CAP_CONTROL_BY_MRS_CONFIG_
+ SBP_FEATURE_DEF(SBP_NAS_SV_RAT_CAP_CONTROL_BY_MRS_CONFIG, SBP_ATTR_NONE, "disable the feature.", "Not Enabled", "Enabled", 0)
+#else
+ SBP_FEATURE_DEF(SBP_NAS_SV_RAT_CAP_CONTROL_BY_MRS_CONFIG, SBP_ATTR_NONE, "enable the feature.", "Not Enabled", "Enabled", 1)
+#endif
+
+SBP_FEATURE_DEF_END(172)
+
#undef SBP_FEATURE_DEF_BEGIN
#undef SBP_FEATURE_DEF
#undef SBP_FEATURE_DEF_END
diff --git a/mcu/interface/service/sbp/sbp_public_utility.h b/mcu/interface/service/sbp/sbp_public_utility.h
index cf10b33..bbc0b7b 100755
--- a/mcu/interface/service/sbp/sbp_public_utility.h
+++ b/mcu/interface/service/sbp/sbp_public_utility.h
@@ -535,6 +535,7 @@
SBP_ID_ALIV = 359,
SBP_ID_CTEXCEL = 360,
SBP_ID_BMOBILE = 362,
+ SBP_ID_CBN = 388,
SBP_ID_LICT = 398,
/* Lab testing SBP ID */