[Feature][Modem]Update MTK MODEM V1.6 baseline version: MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6.P4.T800.L1.240604.240828
MTK modem version: MOLY01418741_AUTO00328685(For_MOBILETEK2735_IVT_T800_V1_MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6.P4).tar.gz
RF modem version: T800/l1-2024_0604.rar
Change-Id: Id0662cc6ffa76d34e194774629945078070f4e64
diff --git a/mcu/interface/middleware/hif/ipc_api.h b/mcu/interface/middleware/hif/ipc_api.h
index 02a3237..4f93146 100644
--- a/mcu/interface/middleware/hif/ipc_api.h
+++ b/mcu/interface/middleware/hif/ipc_api.h
@@ -497,6 +497,7 @@
#define IPC_HDR_PROT_ICMPV6 58 /* ICMP for IPv6 */
#define IPC_HDR_PROT_IPV6_NONEXT 59 /* No Next Header for IPv6 */
#define IPC_HDR_PROT_IPV6_DEST 60 /* Destination Options for IPv6 */
+#define IPC_HDR_PROT_RESERVED 255 /* 255 is reserved in IANA IP Protocol Numbers */
/*
* IPv4.
diff --git a/mcu/interface/middleware/hif/pfm_api.h b/mcu/interface/middleware/hif/pfm_api.h
index f0d2144..112e6c2 100644
--- a/mcu/interface/middleware/hif/pfm_api.h
+++ b/mcu/interface/middleware/hif/pfm_api.h
@@ -116,4 +116,24 @@
*/
void pfm_dereg_cbk_wake_type_pkt();
+/*!
+ * @brief pfm_ip_packet_filter_reg_cbk_wake_type_pkt
+ * Register callback for MBIM WAKE REASON wake type pkt
+ *
+ * @param [IN]pf_wake_type_pkt
+ * [IN]priv_data
+ */
+void pfm_ip_packet_filter_reg_cbk_wake_type_pkt(pfm_garbage_str_wake_type_pkt_f pf_wake_type_pkt, void* priv_data);
+
+/*!
+ * @brief pfm_ip_packet_filter_dereg_cbk_wake_type_pkt
+ * De-register callback for MBIM WAKE REASON wake type pkt
+ *
+ */
+void pfm_ip_packet_filter_dereg_cbk_wake_type_pkt();
+
+
+void pfm_ip_packet_filter_deregister_callback(void *buf, kal_uint32 filter_cnt, kal_bool uplink);
+
+
#endif /* __INC_PFM_API_H */
diff --git a/mcu/interface/middleware/hif/pfm_config.h b/mcu/interface/middleware/hif/pfm_config.h
index f282fff..99ad19a 100644
--- a/mcu/interface/middleware/hif/pfm_config.h
+++ b/mcu/interface/middleware/hif/pfm_config.h
@@ -105,3 +105,6 @@
PFM_FILTER_SET_PREFIX(ul_disable_all_packets_filter) /* 5 */
PFM_FILTER_SET_FEATURE_NAME(UL_ICMP_PING_WHITELIST_FILTER) /* 6 */
PFM_FILTER_SET_PREFIX(ul_icmp_ping_whitelist_filter) /* 6 */
+
+PFM_FILTER_SET_FEATURE_NAME(IP_PACKET_FILTER) /* 10 */
+PFM_FILTER_SET_PREFIX(ip_packet_filter) /* 10 */
diff --git a/mcu/interface/middleware/hif/pfm_struct.h b/mcu/interface/middleware/hif/pfm_struct.h
index 546b1ec..6f8a302 100644
--- a/mcu/interface/middleware/hif/pfm_struct.h
+++ b/mcu/interface/middleware/hif/pfm_struct.h
@@ -100,6 +100,20 @@
/*
* Local parameter structure for MSG_ID_PFM_REGISTER_FILTER_REQ & MSG_ID_PFM_DEREGISTER_FILTER_REQ
*/
+typedef struct _pfm_ip_packet_filter_filter_t {
+ kal_int32 filter_id;
+ kal_uint32 pdn_id; /* L5 invoke UPCM API to transfer from CID to PDN_ID */
+ /* pdn_id=0 then no need to set filter config, to support all pdn_id(cid=-1) filter*/
+ kal_uint8 ip_type;
+ kal_uint8 protocol;
+ kal_uint8 reserve[2];
+ kal_uint16 src_port;
+ kal_uint16 dst_port;
+ kal_uint8 ip_src[16]; /* IP Src: 4bytes / 16 bytes (IPV4/IPV6) */
+ kal_uint8 ip_dest[16]; /* IP Dest: 4bytes / 16 bytes (IPV4/IPV6) */
+ kal_uint32 magic_code;
+} pfm_ip_packet_filter_filter_t;
+
typedef struct _pfm_filter_set_t {
LOCAL_PARA_HDR
@@ -132,4 +146,7 @@
typedef pfm_filter_set_t pfm_register_filter_req_struct;
typedef pfm_filter_set_t pfm_deregister_filter_req_struct;
+typedef pfm_filter_set_t pfm_register_ip_packet_filter_req_struct;
+typedef pfm_filter_set_t pfm_deregister_ip_packet_filter_req_struct;
+
#endif /* __INC_PFM_STRUCT_H */
diff --git a/mcu/interface/sap/md/l5_msgid.h b/mcu/interface/sap/md/l5_msgid.h
index 1fb3e8c..eaebacb 100644
--- a/mcu/interface/sap/md/l5_msgid.h
+++ b/mcu/interface/sap/md/l5_msgid.h
@@ -541,6 +541,10 @@
MSG_ID_L5UPDN_GET_5GQOS_REQ,
MSG_ID_L5UPDN_GET_NSSAI_REQ,
MSG_ID_L5UPDN_DATA_RETRY_TIMER_REQ,
+ MSG_ID_L5UPDN_SET_IP_TUPLE_PACKET_FILTER_REQ,
+ MSG_ID_L5UPDN_DEL_IP_TUPLE_PACKET_FILTER_REQ,
+ MSG_ID_L5UPDN_SET_IP_TUPLE_PACKET_FILTER_MODE_REQ,
+ MSG_ID_L5UPDN_GET_IP_TUPLE_PACKET_FILTER_MODE_REQ,
MSG_ID_L5IO_L5UPDN_MSG_FROM_L5IO_END,
MSG_ID_L5IO_L5UPDN_MSG_FROM_LOWLAYER_BEGIN,
@@ -587,6 +591,11 @@
MSG_ID_L5UPDN_PACKET_WAKE_UP_IND,
MSG_ID_L5UPDN_GET_NSSAI_CNF,
MSG_ID_L5UPDN_DATA_RETRY_TIMER_CNF,
+ MSG_ID_L5UPDN_IP_PACKET_RECV_IND,
+ MSG_ID_L5UPDN_SET_IP_TUPLE_PACKET_FILTER_CNF,
+ MSG_ID_L5UPDN_DEL_IP_TUPLE_PACKET_FILTER_CNF,
+ MSG_ID_L5UPDN_SET_IP_TUPLE_PACKET_FILTER_MODE_CNF,
+ MSG_ID_L5UPDN_GET_IP_TUPLE_PACKET_FILTER_MODE_CNF,
MSG_ID_L5IO_L5UPDN_MSG_FROM_LOWLAYER_END,
MSG_ID_L5IO_L5UCC_REQ_MSG_BEGIN,
diff --git a/mcu/interface/sap/mw/pfm_msgid_source.h b/mcu/interface/sap/mw/pfm_msgid_source.h
index 468ecbb..0cbdf4a 100644
--- a/mcu/interface/sap/mw/pfm_msgid_source.h
+++ b/mcu/interface/sap/mw/pfm_msgid_source.h
@@ -1,5 +1,7 @@
MSG_ID_PFM_REGISTER_FILTER_REQ,
MSG_ID_PFM_DEREGISTER_FILTER_REQ,
+MSG_ID_PFM_REGISTER_IP_PACKET_FILTER_REQ,
+MSG_ID_PFM_DEREGISTER_IP_PACKET_FILTER_REQ,
MSG_ID_AP_STATUS_IND,
MSG_ID_PFM_PCIE_STATE_CHANGE_IND,
MSG_ID_PFM_ICMP_PING_REG_FILTER_REQ,