| Kernel driver for CMA3000-D0x | |
| ============================ | |
| Supported chips: | |
| * VTI CMA3000-D0x | |
| Datasheet: | |
| CMA3000-D0X Product Family Specification 8281000A.02.pdf | |
| <http://www.vti.fi/en/> | |
| Author: Hemanth V <hemanthv@ti.com> | |
| Description | |
| ----------- | |
| CMA3000 Tri-axis accelerometer supports Motion detect, Measurement and | |
| Free fall modes. | |
| Motion Detect Mode: Its the low power mode where interrupts are generated only | |
| when motion exceeds the defined thresholds. | |
| Measurement Mode: This mode is used to read the acceleration data on X,Y,Z | |
| axis and supports 400, 100, 40 Hz sample frequency. | |
| Free fall Mode: This mode is intended to save system resources. | |
| Threshold values: Chip supports defining threshold values for above modes | |
| which includes time and g value. Refer product specifications for more details. | |
| CMA3000 chip supports mutually exclusive I2C and SPI interfaces for | |
| communication, currently the driver supports I2C based communication only. | |
| Initial configuration for bus mode is set in non volatile memory and can later | |
| be modified through bus interface command. | |
| Driver reports acceleration data through input subsystem. It generates ABS_MISC | |
| event with value 1 when free fall is detected. | |
| Platform data need to be configured for initial default values. | |
| Platform Data | |
| ------------- | |
| fuzz_x: Noise on X Axis | |
| fuzz_y: Noise on Y Axis | |
| fuzz_z: Noise on Z Axis | |
| g_range: G range in milli g i.e 2000 or 8000 | |
| mode: Default Operating mode | |
| mdthr: Motion detect g range threshold value | |
| mdfftmr: Motion detect and free fall time threshold value | |
| ffthr: Free fall g range threshold value | |
| Input Interface | |
| -------------- | |
| Input driver version is 1.0.0 | |
| Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0 | |
| Input device name: "cma3000-accelerometer" | |
| Supported events: | |
| Event type 0 (Sync) | |
| Event type 3 (Absolute) | |
| Event code 0 (X) | |
| Value 47 | |
| Min -8000 | |
| Max 8000 | |
| Fuzz 200 | |
| Event code 1 (Y) | |
| Value -28 | |
| Min -8000 | |
| Max 8000 | |
| Fuzz 200 | |
| Event code 2 (Z) | |
| Value 905 | |
| Min -8000 | |
| Max 8000 | |
| Fuzz 200 | |
| Event code 40 (Misc) | |
| Value 0 | |
| Min 0 | |
| Max 1 | |
| Event type 4 (Misc) | |
| Register/Platform parameters Description | |
| ---------------------------------------- | |
| mode: | |
| 0: power down mode | |
| 1: 100 Hz Measurement mode | |
| 2: 400 Hz Measurement mode | |
| 3: 40 Hz Measurement mode | |
| 4: Motion Detect mode (default) | |
| 5: 100 Hz Free fall mode | |
| 6: 40 Hz Free fall mode | |
| 7: Power off mode | |
| grange: | |
| 2000: 2000 mg or 2G Range | |
| 8000: 8000 mg or 8G Range | |
| mdthr: | |
| X: X * 71mg (8G Range) | |
| X: X * 18mg (2G Range) | |
| mdfftmr: | |
| X: (X & 0x70) * 100 ms (MDTMR) | |
| (X & 0x0F) * 2.5 ms (FFTMR 400 Hz) | |
| (X & 0x0F) * 10 ms (FFTMR 100 Hz) | |
| ffthr: | |
| X: (X >> 2) * 18mg (2G Range) | |
| X: (X & 0x0F) * 71 mg (8G Range) |