| 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) |