STMicroelectronics LIS3DH device driver version 1.1.0

For Android/Linux kernel 3.4. This is the initial commit.

Change-Id: I96e300d7b59743df1f757746228b47b5d444c76c
Signed-off-by: Samuel Huo <samuel.huo@st.com>
Signed-off-by: Wentao Xu <wentaox@codeaurora.org>
diff --git a/include/linux/input/lis3dh.h b/include/linux/input/lis3dh.h
new file mode 100644
index 0000000..f081b06
--- /dev/null
+++ b/include/linux/input/lis3dh.h
@@ -0,0 +1,85 @@
+
+/******************** (C) COPYRIGHT 2010 STMicroelectronics ********************
+*
+* File Name          : lis3dh_misc.h
+* Authors            : MH - C&I BU - Application Team
+*		     : Matteo Dameno (matteo.dameno@st.com)
+*		     : Carmine Iascone (carmine.iascone@st.com)
+*                    : Samuel Huo (samuel.huo@st.com)
+* Version            : V 1.1.0
+* Date               : 07/10/2012
+*
+********************************************************************************
+*
+* This program is free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License version 2 as
+* published by the Free Software Foundation.
+*
+* THE PRESENT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES
+* OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, FOR THE SOLE
+* PURPOSE TO SUPPORT YOUR APPLICATION DEVELOPMENT.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
+* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
+* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
+* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*
+* THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS.
+*
+*******************************************************************************/
+
+#ifndef	__LIS3DH_H__
+#define	__LIS3DH_H__
+
+
+#define SAD0L			0x00
+#define SAD0H			0x01
+#define LIS3DH_ACC_I2C_SADROOT	0x0C
+#define LIS3DH_ACC_I2C_SAD_L	((LIS3DH_ACC_I2C_SADROOT<<1)|SAD0L)
+#define LIS3DH_ACC_I2C_SAD_H	((LIS3DH_ACC_I2C_SADROOT<<1)|SAD0H)
+#define	LIS3DH_ACC_DEV_NAME	"lis3dh_acc"
+
+
+/************************************************/
+/*	Accelerometer defines section		*/
+/************************************************/
+
+/* Accelerometer Sensor Full Scale */
+#define	LIS3DH_ACC_FS_MASK		0x30
+#define LIS3DH_ACC_G_2G			0x00
+#define LIS3DH_ACC_G_4G			0x10
+#define LIS3DH_ACC_G_8G			0x20
+#define LIS3DH_ACC_G_16G		0x30
+
+
+#ifdef	__KERNEL__
+struct lis3dh_acc_platform_data {
+	int poll_interval;
+	int min_interval;
+
+	u8 g_range;
+
+	u8 axis_map_x;
+	u8 axis_map_y;
+	u8 axis_map_z;
+
+	u8 negate_x;
+	u8 negate_y;
+	u8 negate_z;
+
+	int (*init)(void);
+	void (*exit)(void);
+	int (*power_on)(void);
+	int (*power_off)(void);
+
+	/* set gpio_int[1,2] either to the choosen gpio pin number or to -EINVAL
+	 * if leaved unconnected
+	 */
+	int gpio_int1;
+	int gpio_int2;
+};
+#endif	/* __KERNEL__ */
+
+#endif	/* __LIS3DH_H__ */
+
+
+