[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/middleware/hif/ms_adapter.h b/mcu/interface/middleware/hif/ms_adapter.h
new file mode 100644
index 0000000..d9d7b3b
--- /dev/null
+++ b/mcu/interface/middleware/hif/ms_adapter.h
@@ -0,0 +1,83 @@
+#ifndef __MS_ADAPTER_H
+#define __MS_ADAPTER_H
+
+#include "fs_func.h"
+
+#define MAX_DISK_DRVER              	4
+#define	USBMS_INVALID_MAX_LUN			0xFF
+#define DEFAULT_MAX_GPD_OF_LUN			64
+#define NAND_READ_SZ					(1024*16)
+#define NAND_WRITE_SZ					(1024*32)
+
+typedef enum 
+{
+	USB_STORAGE_DEV_STATUS_OK = 0,
+	USB_STORAGE_DEV_STATUS_MEDIA_CHANGE,
+	USB_STORAGE_DEV_STATUS_NOMEDIA,
+	USB_STORAGE_DEV_STATUS_WP,
+	USB_STORAGE_DEV_STATUS_MAX
+} USB_STORAGE_DEV_STATUS;
+
+
+typedef enum
+{
+	USB_STORAGE_DEV_NOR,
+	USB_STORAGE_DEV_NAND,
+	USB_STORAGE_DEV_CARD,
+	USB_STORAGE_DEV_CDROM,
+	USB_STORAGE_DEV_NONE
+}USB_STORAGE_DEV_TYPE;
+
+/* read capacity command structure */
+typedef struct
+{
+	kal_uint32 LastBA;	/*depend on the target*/
+	kal_uint32 BlkLen;	/*512*/
+} Read_Capacity_Info;     
+
+typedef struct
+{
+	kal_bool (* usbms_read)(void *data, kal_uint32 lba, kal_uint16 lba_num);
+	kal_bool (* usbms_write)(void *data, kal_uint32 lba, kal_uint16 lba_num);
+	kal_bool (* usbms_read_gpd)(qbm_gpd *head,qbm_gpd *tail, kal_uint32 lba, kal_uint16 lba_num); //read with GPD
+	kal_bool (* usbms_write_gpd)(qbm_gpd *head,qbm_gpd *tail, kal_uint32 lba, kal_uint16 lba_num); //write with GPD
+	kal_bool (* usbms_query_max_bd_num)(kal_uint16  *max_bd_num); //query the max BD number, the driver can receive
+	kal_bool (* usbms_format)(void);
+	USB_STORAGE_DEV_STATUS (* usbms_checkmedia_exist)(void);
+	kal_bool (* usbms_prevmedia_removal)(kal_bool enable);
+	kal_bool (* usbms_read_capacity)(kal_uint32 *max_lba, kal_uint32 *lba_len);
+//	kal_bool (* usbms_read_formatcapacity)(kal_uint32 *no_of_blks, kal_uint32 *blk_len);
+	USB_STORAGE_DEV_TYPE	(* usbms_dev_type)(void);
+}USB_DiskDriver_STRUCT;
+
+typedef enum 
+{
+	MS_READ = 0,
+	MS_WRITE
+} MS_DIRECTION;
+
+extern FS_HANDLE			g_cdrom_drive_handle;
+/* translate fd type to usb dev type*/
+extern USB_STORAGE_DEV_TYPE MS_Trans_Fs_Type(FS_DEVICE_TYPE_ENUM type);
+extern kal_uint8 MS_Get_Max_LUN(void);
+extern void MS_DeRegister_DiskDriver(kal_uint8 disk_index);
+extern void MS_Change_Register_DiskDriver(kal_uint8 disk_index, USB_DiskDriver_STRUCT *disk_api);
+extern USB_STORAGE_DEV_STATUS MS_Checkmedia_Exist(kal_uint8 LUN);
+extern kal_bool MS_Format(kal_uint8 LUN);
+extern kal_bool MS_Read_Capacity(kal_uint8 LUN, kal_uint32 *max_lba, kal_uint32 *lba_len);
+//extern kal_bool MS_Read_FormatCapacity(kal_uint8 LUN, kal_uint32 *max_lba, kal_uint32 *sec_len);
+extern kal_bool MS_Read_Write(MS_DIRECTION direct, void *dev_t,qbm_gpd *head,qbm_gpd *tail, kal_uint16 lba_num);
+extern kal_bool MS_Prevmedia_Removal(kal_uint8 LUN, kal_bool enable);
+extern USB_STORAGE_DEV_TYPE MS_Dev_Type(kal_uint8 LUN);
+extern kal_uint8 MS_Register_DiskDriver(USB_DiskDriver_STRUCT *disk_api);
+extern kal_uint8 MS_Set_Current_Driver(kal_uint32 drv);
+extern kal_uint32 MS_Get_Current_Driver(void);
+extern void MS_Adapter_Deinit(void);
+extern void MS_Init_Normal_Mode(void);
+extern void MS_End_Normal_Mode(void);
+extern kal_uint16 MS_Query_Max_BD_Num(kal_uint8 LUN);
+extern void FAT_Init(void);
+
+#endif
+
+