xref: /OK3568_Linux_fs/kernel/include/linux/input/cma3000.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * VTI CMA3000_Dxx Accelerometer driver
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Copyright (C) 2010 Texas Instruments
6*4882a593Smuzhiyun  * Author: Hemanth V <hemanthv@ti.com>
7*4882a593Smuzhiyun  */
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #ifndef _LINUX_CMA3000_H
10*4882a593Smuzhiyun #define _LINUX_CMA3000_H
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun #define CMAMODE_DEFAULT    0
13*4882a593Smuzhiyun #define CMAMODE_MEAS100    1
14*4882a593Smuzhiyun #define CMAMODE_MEAS400    2
15*4882a593Smuzhiyun #define CMAMODE_MEAS40     3
16*4882a593Smuzhiyun #define CMAMODE_MOTDET     4
17*4882a593Smuzhiyun #define CMAMODE_FF100      5
18*4882a593Smuzhiyun #define CMAMODE_FF400      6
19*4882a593Smuzhiyun #define CMAMODE_POFF       7
20*4882a593Smuzhiyun 
21*4882a593Smuzhiyun #define CMARANGE_2G   2000
22*4882a593Smuzhiyun #define CMARANGE_8G   8000
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun /**
25*4882a593Smuzhiyun  * struct cma3000_i2c_platform_data - CMA3000 Platform data
26*4882a593Smuzhiyun  * @fuzz_x: Noise on X Axis
27*4882a593Smuzhiyun  * @fuzz_y: Noise on Y Axis
28*4882a593Smuzhiyun  * @fuzz_z: Noise on Z Axis
29*4882a593Smuzhiyun  * @g_range: G range in milli g i.e 2000 or 8000
30*4882a593Smuzhiyun  * @mode: Operating mode
31*4882a593Smuzhiyun  * @mdthr: Motion detect threshold value
32*4882a593Smuzhiyun  * @mdfftmr: Motion detect and free fall time value
33*4882a593Smuzhiyun  * @ffthr: Free fall threshold value
34*4882a593Smuzhiyun  */
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun struct cma3000_platform_data {
37*4882a593Smuzhiyun 	int fuzz_x;
38*4882a593Smuzhiyun 	int fuzz_y;
39*4882a593Smuzhiyun 	int fuzz_z;
40*4882a593Smuzhiyun 	int g_range;
41*4882a593Smuzhiyun 	uint8_t mode;
42*4882a593Smuzhiyun 	uint8_t mdthr;
43*4882a593Smuzhiyun 	uint8_t mdfftmr;
44*4882a593Smuzhiyun 	uint8_t ffthr;
45*4882a593Smuzhiyun 	unsigned long irqflags;
46*4882a593Smuzhiyun };
47*4882a593Smuzhiyun 
48*4882a593Smuzhiyun #endif
49