diff --git a/mbtk/include/ql/ql_i2c.h b/mbtk/include/ql/ql_i2c.h
new file mode 100755
index 0000000..52eb4c8
--- /dev/null
+++ b/mbtk/include/ql/ql_i2c.h
@@ -0,0 +1,41 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of Quectel Co., Ltd. 2019
+*
+*****************************************************************************/
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ *   ql_i2c.h 
+ *
+ * Project:
+ * --------
+ *   OpenLinux
+ *
+ * Description:
+ * ------------
+ *   i2c API defines.
+ *
+ *
+ *============================================================================
+ *             HISTORY
+ *----------------------------------------------------------------------------
+ * WHO            WHEN                WHAT
+ *----------------------------------------------------------------------------
+ * Carola.Zhang   16/07/2019		  Create.
+ ****************************************************************************/
+#ifndef __QL_UART_H__
+#define __QL_UART_H__
+
+
+int Ql_I2C_Init(char *dev_name);
+int Ql_I2C_Read(int fd, unsigned short slaveAddr, unsigned char ofstAddr,  unsigned char* ptrBuff, unsigned short length);
+int Ql_I2C_Write(int fd, unsigned short slaveAddr, unsigned char ofstAddr,  unsigned char* ptrData, unsigned short length);
+int Ql_I2C_Deinit(int fd);
+
+#endif /* __QL_i2c_H__ */
\ No newline at end of file
