18c2ecf20Sopenharmony_ciCMA3000-D0x Accelerometer
28c2ecf20Sopenharmony_ci=========================
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciSupported chips:
58c2ecf20Sopenharmony_ci* VTI CMA3000-D0x
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciDatasheet:
88c2ecf20Sopenharmony_ci  CMA3000-D0X Product Family Specification 8281000A.02.pdf
98c2ecf20Sopenharmony_ci  <http://www.vti.fi/en/>
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci:Author: Hemanth V <hemanthv@ti.com>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ciDescription
158c2ecf20Sopenharmony_ci-----------
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciCMA3000 Tri-axis accelerometer supports Motion detect, Measurement and
188c2ecf20Sopenharmony_ciFree fall modes.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciMotion Detect Mode:
218c2ecf20Sopenharmony_ci    Its the low power mode where interrupts are generated only
228c2ecf20Sopenharmony_ci    when motion exceeds the defined thresholds.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciMeasurement Mode:
258c2ecf20Sopenharmony_ci    This mode is used to read the acceleration data on X,Y,Z
268c2ecf20Sopenharmony_ci    axis and supports 400, 100, 40 Hz sample frequency.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciFree fall Mode:
298c2ecf20Sopenharmony_ci    This mode is intended to save system resources.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciThreshold values:
328c2ecf20Sopenharmony_ci    Chip supports defining threshold values for above modes
338c2ecf20Sopenharmony_ci    which includes time and g value. Refer product specifications for
348c2ecf20Sopenharmony_ci    more details.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ciCMA3000 chip supports mutually exclusive I2C and SPI interfaces for
378c2ecf20Sopenharmony_cicommunication, currently the driver supports I2C based communication only.
388c2ecf20Sopenharmony_ciInitial configuration for bus mode is set in non volatile memory and can later
398c2ecf20Sopenharmony_cibe modified through bus interface command.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciDriver reports acceleration data through input subsystem. It generates ABS_MISC
428c2ecf20Sopenharmony_cievent with value 1 when free fall is detected.
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ciPlatform data need to be configured for initial default values.
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ciPlatform Data
478c2ecf20Sopenharmony_ci-------------
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_cifuzz_x:
508c2ecf20Sopenharmony_ci    Noise on X Axis
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_cifuzz_y:
538c2ecf20Sopenharmony_ci    Noise on Y Axis
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_cifuzz_z:
568c2ecf20Sopenharmony_ci    Noise on Z Axis
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_cig_range:
598c2ecf20Sopenharmony_ci    G range in milli g i.e 2000 or 8000
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_cimode:
628c2ecf20Sopenharmony_ci    Default Operating mode
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_cimdthr:
658c2ecf20Sopenharmony_ci    Motion detect g range threshold value
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_cimdfftmr:
688c2ecf20Sopenharmony_ci    Motion detect and free fall time threshold value
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ciffthr:
718c2ecf20Sopenharmony_ci    Free fall g range threshold value
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ciInput Interface
748c2ecf20Sopenharmony_ci---------------
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ciInput driver version is 1.0.0
778c2ecf20Sopenharmony_ciInput device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0
788c2ecf20Sopenharmony_ciInput device name: "cma3000-accelerometer"
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ciSupported events::
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci  Event type 0 (Sync)
838c2ecf20Sopenharmony_ci  Event type 3 (Absolute)
848c2ecf20Sopenharmony_ci    Event code 0 (X)
858c2ecf20Sopenharmony_ci      Value     47
868c2ecf20Sopenharmony_ci      Min    -8000
878c2ecf20Sopenharmony_ci      Max     8000
888c2ecf20Sopenharmony_ci      Fuzz     200
898c2ecf20Sopenharmony_ci    Event code 1 (Y)
908c2ecf20Sopenharmony_ci      Value    -28
918c2ecf20Sopenharmony_ci      Min    -8000
928c2ecf20Sopenharmony_ci      Max     8000
938c2ecf20Sopenharmony_ci      Fuzz     200
948c2ecf20Sopenharmony_ci    Event code 2 (Z)
958c2ecf20Sopenharmony_ci      Value    905
968c2ecf20Sopenharmony_ci      Min    -8000
978c2ecf20Sopenharmony_ci      Max     8000
988c2ecf20Sopenharmony_ci      Fuzz     200
998c2ecf20Sopenharmony_ci    Event code 40 (Misc)
1008c2ecf20Sopenharmony_ci      Value      0
1018c2ecf20Sopenharmony_ci      Min        0
1028c2ecf20Sopenharmony_ci      Max        1
1038c2ecf20Sopenharmony_ci  Event type 4 (Misc)
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ciRegister/Platform parameters Description
1078c2ecf20Sopenharmony_ci----------------------------------------
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_cimode::
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci	0: power down mode
1128c2ecf20Sopenharmony_ci	1: 100 Hz Measurement mode
1138c2ecf20Sopenharmony_ci	2: 400 Hz Measurement mode
1148c2ecf20Sopenharmony_ci	3: 40 Hz Measurement mode
1158c2ecf20Sopenharmony_ci	4: Motion Detect mode (default)
1168c2ecf20Sopenharmony_ci	5: 100 Hz Free fall mode
1178c2ecf20Sopenharmony_ci	6: 40 Hz Free fall mode
1188c2ecf20Sopenharmony_ci	7: Power off mode
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_cigrange::
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ci	2000: 2000 mg or 2G Range
1238c2ecf20Sopenharmony_ci	8000: 8000 mg or 8G Range
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_cimdthr::
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci	X: X * 71mg (8G Range)
1288c2ecf20Sopenharmony_ci	X: X * 18mg (2G Range)
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_cimdfftmr::
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ci	X: (X & 0x70) * 100 ms (MDTMR)
1338c2ecf20Sopenharmony_ci	   (X & 0x0F) * 2.5 ms (FFTMR 400 Hz)
1348c2ecf20Sopenharmony_ci	   (X & 0x0F) * 10 ms  (FFTMR 100 Hz)
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ciffthr::
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci       X: (X >> 2) * 18mg (2G Range)
1398c2ecf20Sopenharmony_ci       X: (X & 0x0F) * 71 mg (8G Range)
140