[Feature][Modem]Update MTK MODEM V1.6 baseline version: MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6

MTK modem version: MT2735_IVT_MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6.tar.gz
RF  modem version: NA

Change-Id: I45a4c2752fa9d1a618beacd5d40737fb39ab64fb
diff --git a/mcu/interface/service/sst/sst_interface.h b/mcu/interface/service/sst/sst_interface.h
new file mode 100644
index 0000000..460a8a9
--- /dev/null
+++ b/mcu/interface/service/sst/sst_interface.h
@@ -0,0 +1,139 @@
+#ifndef SST_INTERFACE_H
+#define SST_INTERFACE_H
+
+#include "nvram_data_items.h"
+
+#define SST_PROTECTED_NVRAM_LID_READ_LIMIT             0x1
+#define SST_PROTECTED_NVRAM_LID_WRITE_LIMIT            0x2
+
+typedef struct sst_protected_nvram_lid_struct {
+    nvram_lid_enum          m_lid;
+    kal_uint16              m_attr;
+} SST_PROTECTED_NVRAM_LID;
+
+typedef struct sst_allowed_task_struct {
+    module_type             m_mod_id;
+} SST_ALLOWED_TASK;
+
+/* 
+ * Efuse region index definition
+ */
+#define EFUSE_IDX_C_DAT0            0
+#define EFUSE_IDX_C_DAT1            1
+#define EFUSE_IDX_C_DAT2            2
+#define EFUSE_IDX_C_DAT3            3
+#define EFUSE_IDX_C_DAT4            4
+#define EFUSE_IDX_C_DAT5            5
+#define EFUSE_IDX_C_CTRL0           6
+#define EFUSE_IDX_C_CTRL1           7
+
+/*SST Efuse blowing error code*/
+#define SST_EFUSE_BLOW_DONE                           0
+#define SST_EFUSE_BLOW_AP_NOT_READY            0x10000000
+#define SST_EFUSE_BLOW_DATA_FAIL               0x20000000
+#define SST_EFUSE_BLOW_START_FAIL              0x40000000
+#define SST_EFUSE_BLOW_LOCK_FAIL               0x80000000
+#define SST_EFUSE_BLOW_END_FAIL                0x01000000
+#define SST_EFUSE_BLOW_BIT_NOT_SUPPORT         0x02000000
+#define SST_EFUSE_BLOW_REGION_NOT_SUPPORT      0x04000000
+#define SST_EFUSE_BLOW_CHIP_NOT_SUPPORT        0x08000000
+#define SST_EFUSE_BLOW_NOT_INIT                0x00100000
+#define SST_EFUSE_BLOW_PROCESS_FAIL            0x00200000
+#define SST_EFUSE_BLOW_REINIT_FAIL             0x00400000
+#define SST_EFUSE_BLOW_CCCI_FAIL               0x00800000
+
+/*****************************************************************************
+ * FUNCTION
+ *	SST_Get_ChipRID
+ *
+ * DESCRIPTION
+ *	The function returns per-chip random ID to the caller.  
+ *
+ * PARAMETERS
+ *	[INPUT/OUTPUT] pRid  : The buffer that is used to store the per-chip random ID.
+ *	[INPUT] buf_len : Length that the caller wants for the per-chip random ID in "bits".
+ *
+ * RETURNS
+ *	KAL_TRUE  : Get random ID Success
+ *	KAL_FALSE : Get random ID failed
+ *
+ * NOTES
+ *    N/A
+ *
+ *****************************************************************************/
+extern kal_bool SST_Get_ChipRID(kal_char *pRid, kal_int32 buf_len);
+
+
+/*****************************************************************************
+ * FUNCTION
+ *	SST_Get_ChipRK
+ *
+ * DESCRIPTION
+ *	The function returns per-chip random key to the caller.  
+ *
+ * PARAMETERS
+ *	[INPUT/OUTPUT] key  : The buffer that is used to store the per-chip random key.
+ *	[INPUT] len : Length that the caller wants for the per-chip random key in bytes.
+ *
+ * RETURNS
+ *	KAL_TRUE  : Get random key Success
+ *	KAL_FALSE : Get random key failed
+ *
+ * NOTES
+ *    N/A
+ *
+ *****************************************************************************/
+extern kal_bool SST_Get_ChipRK(kal_char *key, kal_int32 len);
+
+/*************************************************************************
+* FUNCTION
+*  SST_Get_EFUSE_Data
+*
+* DESCRIPTION
+*  This function get specified length of efuse data and put in the buffer
+*
+* PARAMETERS
+*  data_type -     efuse field
+*  buf -    pointer to the buffer to store efuse data
+*  len -    efuse data length expected to read
+*
+* RETURNS
+*  KAL_TRUE/KAL_FALSE
+*
+*************************************************************************/
+typedef enum{
+	AP_SBC_EN = 1,
+	C_CTRL0,
+ 	C_CTRL1,
+	C_DAT0,
+	C_DAT1,
+	C_DAT2,
+	C_DAT3,	
+	C_DAT4,
+	C_DAT5,
+	C_DAT6,
+	C_DAT7,
+}EFUSE_DATA_TYPE;
+
+
+kal_bool SST_Get_EFUSE_Data(EFUSE_DATA_TYPE data_type, kal_uint8* buf, kal_uint8 len);
+
+/*************************************************************************
+* FUNCTION
+*  SST_ilm_inject_check
+*
+* DESCRIPTION
+*  This function checks whether input ILM is permitted to access the specified NVRAM LID 
+*
+* PARAMETERS
+*  ilm_ptr -     read/write request ILM
+*
+* RETURNS
+*  KAL_TRUE/KAL_FALSE
+*  KAL_TRUE: The access is permitted, i.e. pass checking successfully
+*  KAL_FALSE: The access is prohibited, i.e. fails checking
+*************************************************************************/
+
+kal_uint32 SST_ilm_inject_check(ilm_struct *ilm_ptr);
+
+#endif