Commit | Line | Data |
---|---|---|
b029ffaf H |
1 | Kernel driver for CMA3000-D0x |
2 | ============================ | |
3 | ||
4 | Supported chips: | |
5 | * VTI CMA3000-D0x | |
6 | Datasheet: | |
7 | CMA3000-D0X Product Family Specification 8281000A.02.pdf | |
8 | <http://www.vti.fi/en/> | |
9 | ||
10 | Author: Hemanth V <hemanthv@ti.com> | |
11 | ||
12 | ||
13 | Description | |
14 | ----------- | |
15 | CMA3000 Tri-axis accelerometer supports Motion detect, Measurement and | |
16 | Free fall modes. | |
17 | ||
18 | Motion Detect Mode: Its the low power mode where interrupts are generated only | |
19 | when motion exceeds the defined thresholds. | |
20 | ||
21 | Measurement Mode: This mode is used to read the acceleration data on X,Y,Z | |
22 | axis and supports 400, 100, 40 Hz sample frequency. | |
23 | ||
24 | Free fall Mode: This mode is intended to save system resources. | |
25 | ||
26 | Threshold values: Chip supports defining threshold values for above modes | |
27 | which includes time and g value. Refer product specifications for more details. | |
28 | ||
29 | CMA3000 chip supports mutually exclusive I2C and SPI interfaces for | |
30 | communication, currently the driver supports I2C based communication only. | |
31 | Initial configuration for bus mode is set in non volatile memory and can later | |
32 | be modified through bus interface command. | |
33 | ||
34 | Driver reports acceleration data through input subsystem. It generates ABS_MISC | |
35 | event with value 1 when free fall is detected. | |
36 | ||
37 | Platform data need to be configured for initial default values. | |
38 | ||
39 | Platform Data | |
40 | ------------- | |
41 | fuzz_x: Noise on X Axis | |
42 | ||
43 | fuzz_y: Noise on Y Axis | |
44 | ||
45 | fuzz_z: Noise on Z Axis | |
46 | ||
47 | g_range: G range in milli g i.e 2000 or 8000 | |
48 | ||
49 | mode: Default Operating mode | |
50 | ||
51 | mdthr: Motion detect g range threshold value | |
52 | ||
53 | mdfftmr: Motion detect and free fall time threshold value | |
54 | ||
55 | ffthr: Free fall g range threshold value | |
56 | ||
57 | Input Interface | |
58 | -------------- | |
59 | Input driver version is 1.0.0 | |
60 | Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0 | |
61 | Input device name: "cma3000-accelerometer" | |
62 | Supported events: | |
63 | Event type 0 (Sync) | |
64 | Event type 3 (Absolute) | |
65 | Event code 0 (X) | |
66 | Value 47 | |
67 | Min -8000 | |
68 | Max 8000 | |
69 | Fuzz 200 | |
70 | Event code 1 (Y) | |
71 | Value -28 | |
72 | Min -8000 | |
73 | Max 8000 | |
74 | Fuzz 200 | |
75 | Event code 2 (Z) | |
76 | Value 905 | |
77 | Min -8000 | |
78 | Max 8000 | |
79 | Fuzz 200 | |
80 | Event code 40 (Misc) | |
81 | Value 0 | |
82 | Min 0 | |
83 | Max 1 | |
84 | Event type 4 (Misc) | |
85 | ||
86 | ||
87 | Register/Platform parameters Description | |
88 | ---------------------------------------- | |
89 | ||
90 | mode: | |
91 | 0: power down mode | |
92 | 1: 100 Hz Measurement mode | |
93 | 2: 400 Hz Measurement mode | |
94 | 3: 40 Hz Measurement mode | |
95 | 4: Motion Detect mode (default) | |
96 | 5: 100 Hz Free fall mode | |
97 | 6: 40 Hz Free fall mode | |
98 | 7: Power off mode | |
99 | ||
100 | grange: | |
101 | 2000: 2000 mg or 2G Range | |
102 | 8000: 8000 mg or 8G Range | |
103 | ||
104 | mdthr: | |
105 | X: X * 71mg (8G Range) | |
106 | X: X * 18mg (2G Range) | |
107 | ||
108 | mdfftmr: | |
109 | X: (X & 0x70) * 100 ms (MDTMR) | |
110 | (X & 0x0F) * 2.5 ms (FFTMR 400 Hz) | |
111 | (X & 0x0F) * 10 ms (FFTMR 100 Hz) | |
112 | ||
113 | ffthr: | |
114 | X: (X >> 2) * 18mg (2G Range) | |
115 | X: (X & 0x0F) * 71 mg (8G Range) |