blob: f081b0673c35afeab49c8801158c8eb5e2e1bb71 [file] [log] [blame]
Samuel Huo84e7b7b2012-07-10 12:01:13 -07001
2/******************** (C) COPYRIGHT 2010 STMicroelectronics ********************
3*
4* File Name : lis3dh_misc.h
5* Authors : MH - C&I BU - Application Team
6* : Matteo Dameno (matteo.dameno@st.com)
7* : Carmine Iascone (carmine.iascone@st.com)
8* : Samuel Huo (samuel.huo@st.com)
9* Version : V 1.1.0
10* Date : 07/10/2012
11*
12********************************************************************************
13*
14* This program is free software; you can redistribute it and/or modify
15* it under the terms of the GNU General Public License version 2 as
16* published by the Free Software Foundation.
17*
18* THE PRESENT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES
19* OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, FOR THE SOLE
20* PURPOSE TO SUPPORT YOUR APPLICATION DEVELOPMENT.
21* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
22* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
23* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
24* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
25*
26* THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS.
27*
28*******************************************************************************/
29
30#ifndef __LIS3DH_H__
31#define __LIS3DH_H__
32
33
34#define SAD0L 0x00
35#define SAD0H 0x01
36#define LIS3DH_ACC_I2C_SADROOT 0x0C
37#define LIS3DH_ACC_I2C_SAD_L ((LIS3DH_ACC_I2C_SADROOT<<1)|SAD0L)
38#define LIS3DH_ACC_I2C_SAD_H ((LIS3DH_ACC_I2C_SADROOT<<1)|SAD0H)
39#define LIS3DH_ACC_DEV_NAME "lis3dh_acc"
40
41
42/************************************************/
43/* Accelerometer defines section */
44/************************************************/
45
46/* Accelerometer Sensor Full Scale */
47#define LIS3DH_ACC_FS_MASK 0x30
48#define LIS3DH_ACC_G_2G 0x00
49#define LIS3DH_ACC_G_4G 0x10
50#define LIS3DH_ACC_G_8G 0x20
51#define LIS3DH_ACC_G_16G 0x30
52
53
54#ifdef __KERNEL__
55struct lis3dh_acc_platform_data {
56 int poll_interval;
57 int min_interval;
58
59 u8 g_range;
60
61 u8 axis_map_x;
62 u8 axis_map_y;
63 u8 axis_map_z;
64
65 u8 negate_x;
66 u8 negate_y;
67 u8 negate_z;
68
69 int (*init)(void);
70 void (*exit)(void);
71 int (*power_on)(void);
72 int (*power_off)(void);
73
74 /* set gpio_int[1,2] either to the choosen gpio pin number or to -EINVAL
75 * if leaved unconnected
76 */
77 int gpio_int1;
78 int gpio_int2;
79};
80#endif /* __KERNEL__ */
81
82#endif /* __LIS3DH_H__ */
83
84
85