• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Accelerometer drivers
4#
5# When adding new entries keep the list in alphabetical order
6
7menu "Accelerometers"
8
9config ADIS16201
10	tristate "Analog Devices ADIS16201 Dual-Axis Digital Inclinometer and Accelerometer"
11	depends on SPI
12	select IIO_ADIS_LIB
13	select IIO_ADIS_LIB_BUFFER if IIO_BUFFER
14	help
15	  Say Y here to build support for Analog Devices adis16201 dual-axis
16	  digital inclinometer and accelerometer.
17
18	  To compile this driver as a module, say M here: the module will
19	  be called adis16201.
20
21config ADIS16209
22	tristate "Analog Devices ADIS16209 Dual-Axis Digital Inclinometer and Accelerometer"
23	depends on SPI
24	select IIO_ADIS_LIB
25	select IIO_ADIS_LIB_BUFFER if IIO_BUFFER
26	help
27	  Say Y here to build support for Analog Devices adis16209 dual-axis digital inclinometer
28	  and accelerometer.
29
30	  To compile this driver as a module, say M here: the module will be
31	  called adis16209.
32
33config ADXL345
34	tristate
35
36config ADXL345_I2C
37	tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer I2C Driver"
38	depends on INPUT_ADXL34X=n
39	depends on I2C
40	select ADXL345
41	select REGMAP_I2C
42	help
43	  Say Y here if you want to build support for the Analog Devices
44	  ADXL345 or ADXL375 3-axis digital accelerometer.
45
46	  To compile this driver as a module, choose M here: the module
47	  will be called adxl345_i2c and you will also get adxl345_core
48	  for the core module.
49
50config ADXL345_SPI
51	tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer SPI Driver"
52	depends on INPUT_ADXL34X=n
53	depends on SPI
54	select ADXL345
55	select REGMAP_SPI
56	help
57	  Say Y here if you want to build support for the Analog Devices
58	  ADXL345 or ADXL375 3-axis digital accelerometer.
59
60	  To compile this driver as a module, choose M here: the module
61	  will be called adxl345_spi and you will also get adxl345_core
62	  for the core module.
63
64config ADXL372
65	tristate
66	select IIO_BUFFER
67	select IIO_TRIGGERED_BUFFER
68
69config ADXL372_SPI
70	tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver"
71	depends on SPI
72	select ADXL372
73	select REGMAP_SPI
74	help
75	  Say yes here to add support for the Analog Devices ADXL372 triaxial
76	  acceleration sensor.
77	  To compile this driver as a module, choose M here: the
78	  module will be called adxl372_spi.
79
80config ADXL372_I2C
81	tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver"
82	depends on I2C
83	select ADXL372
84	select REGMAP_I2C
85	help
86	  Say yes here to add support for the Analog Devices ADXL372 triaxial
87	  acceleration sensor.
88	  To compile this driver as a module, choose M here: the
89	  module will be called adxl372_i2c.
90
91config BMA180
92	tristate "Bosch BMA023/BMA1x0/BMA250 3-Axis Accelerometer Driver"
93	depends on I2C && INPUT_BMA150=n
94	select IIO_BUFFER
95	select IIO_TRIGGERED_BUFFER
96	help
97	  Say Y here if you want to build a driver for the Bosch BMA023, BMA150
98	  BMA180, BMA250 or SMB380 triaxial acceleration sensor.
99
100	  To compile this driver as a module, choose M here: the
101	  module will be called bma180.
102
103config BMA220
104	tristate "Bosch BMA220 3-Axis Accelerometer Driver"
105	depends on SPI
106	select IIO_BUFFER
107	select IIO_TRIGGERED_BUFFER
108	help
109	  Say yes here to add support for the Bosch BMA220 triaxial
110	  acceleration sensor.
111
112	  To compile this driver as a module, choose M here: the
113	  module will be called bma220_spi.
114
115config BMA400
116	tristate "Bosch BMA400 3-Axis Accelerometer Driver"
117	select REGMAP
118	select BMA400_I2C if I2C
119	select BMA400_SPI if SPI
120	help
121	  Say Y here if you want to build a driver for the Bosch BMA400
122	  triaxial acceleration sensor.
123
124	  To compile this driver as a module, choose M here: the
125	  module will be called bma400_core and you will also get
126	  bma400_i2c if I2C is enabled and bma400_spi if SPI is
127	  enabled.
128
129config BMA400_I2C
130	tristate
131	select REGMAP_I2C
132	depends on BMA400
133
134config BMA400_SPI
135	tristate
136	select REGMAP_SPI
137	depends on BMA400
138
139config BMC150_ACCEL
140	tristate "Bosch BMC150 Accelerometer Driver"
141	select IIO_BUFFER
142	select IIO_TRIGGERED_BUFFER
143	select REGMAP
144	select BMC150_ACCEL_I2C if I2C
145	select BMC150_ACCEL_SPI if SPI
146	help
147	  Say yes here to build support for the following Bosch accelerometers:
148	  BMA222, BMA222E, BMA250E, BMA253, BMA254, BMA255, BMA280, BMC150, BMC156
149	  BMI055.
150
151	  Note that some of these are combo modules:
152	    - BMC150/BMC156: accelerometer and magnetometer
153	    - BMI055: accelerometer and gyroscope
154
155	  This driver is only implementing accelerometer part, which has
156	  its own address and register map.
157
158config BMC150_ACCEL_I2C
159	tristate
160	select REGMAP_I2C
161
162config BMC150_ACCEL_SPI
163	tristate
164	select REGMAP_SPI
165
166config BMI088_ACCEL
167	tristate "Bosch BMI088 Accelerometer Driver"
168	depends on SPI
169	select IIO_BUFFER
170	select IIO_TRIGGERED_BUFFER
171	select REGMAP
172	select BMI088_ACCEL_SPI
173	help
174	  Say yes here to build support for the Bosch BMI088 accelerometer.
175
176	  This is a combo module with both accelerometer and gyroscope. This
177	  driver only implements the accelerometer part, which has its own
178	  address and register map. BMG160 provides the gyroscope driver.
179
180config BMI088_ACCEL_SPI
181	tristate
182	select REGMAP_SPI
183
184config DA280
185	tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver"
186	depends on I2C
187	help
188	  Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit
189	  digital accelerometer.
190
191	  To compile this driver as a module, choose M here: the
192	  module will be called da280.
193
194config DA311
195	tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver"
196	depends on I2C
197	help
198	  Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit
199	  digital accelerometer.
200
201	  To compile this driver as a module, choose M here: the
202	  module will be called da311.
203
204config DMARD06
205	tristate "Domintech DMARD06 Digital Accelerometer Driver"
206	depends on OF || COMPILE_TEST
207	depends on I2C
208	help
209	  Say yes here to build support for the Domintech low-g tri-axial
210	  digital accelerometers: DMARD05, DMARD06, DMARD07.
211
212	  To compile this driver as a module, choose M here: the
213	  module will be called dmard06.
214
215config DMARD09
216	tristate "Domintech DMARD09 3-axis Accelerometer Driver"
217	depends on I2C
218	help
219	  Say yes here to get support for the Domintech DMARD09 3-axis
220	  accelerometer.
221
222	  Choosing M will build the driver as a module. If so, the module
223	  will be called dmard09.
224
225config DMARD10
226	tristate "Domintech DMARD10 3-axis Accelerometer Driver"
227	depends on I2C
228	help
229	  Say yes here to get support for the Domintech DMARD10 3-axis
230	  accelerometer.
231
232	  Choosing M will build the driver as a module. If so, the module
233	  will be called dmard10.
234
235config FXLS8962AF
236	tristate
237	depends on I2C || !I2C # cannot be built-in for modular I2C
238
239config FXLS8962AF_I2C
240	tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
241	depends on I2C
242	select FXLS8962AF
243	select REGMAP_I2C
244	help
245	  Say yes here to build support for the NXP 3-axis automotive
246	  accelerometer FXLS8962AF/FXLS8964AF with I2C support.
247
248	  To compile this driver as a module, choose M here: the module
249	  will be called fxls8962af_i2c.
250
251config FXLS8962AF_SPI
252	tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver"
253	depends on SPI
254	depends on I2C || !I2C
255	select FXLS8962AF
256	select REGMAP_SPI
257	help
258	  Say yes here to build support for the NXP 3-axis automotive
259	  accelerometer FXLS8962AF/FXLS8964AF with SPI support.
260
261	  To compile this driver as a module, choose M here: the module
262	  will be called fxls8962af_spi.
263
264config HID_SENSOR_ACCEL_3D
265	depends on HID_SENSOR_HUB
266	select IIO_BUFFER
267	select HID_SENSOR_IIO_COMMON
268	select HID_SENSOR_IIO_TRIGGER
269	tristate "HID Accelerometers 3D"
270	help
271	  Say yes here to build support for the HID SENSOR
272	  accelerometers 3D.
273
274	  To compile this driver as a module, choose M here: the
275	  module will be called hid-sensor-accel-3d.
276
277config IIO_CROS_EC_ACCEL_LEGACY
278	tristate "ChromeOS EC Legacy Accelerometer Sensor"
279	depends on IIO_CROS_EC_SENSORS_CORE
280	help
281	  Say yes here to get support for accelerometers on Chromebook using
282	  legacy EC firmware.
283	  Sensor data is retrieved through IO memory.
284	  Newer devices should use IIO_CROS_EC_SENSORS.
285
286config IIO_ST_ACCEL_3AXIS
287	tristate "STMicroelectronics accelerometers 3-Axis Driver"
288	depends on (I2C || SPI_MASTER) && SYSFS
289	depends on !SENSORS_LIS3_I2C
290	depends on !SENSORS_LIS3_SPI
291	select IIO_ST_SENSORS_CORE
292	select IIO_ST_ACCEL_I2C_3AXIS if (I2C)
293	select IIO_ST_ACCEL_SPI_3AXIS if (SPI_MASTER)
294	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
295	help
296	  Say yes here to build support for STMicroelectronics accelerometers:
297	  LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
298	  LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
299	  LNG2DM, LIS3DE, LIS2DE12, LIS2HH12
300
301	  This driver can also be built as a module. If so, these modules
302	  will be created:
303	  - st_accel (core functions for the driver [it is mandatory]);
304	  - st_accel_i2c (necessary for the I2C devices [optional*]);
305	  - st_accel_spi (necessary for the SPI devices [optional*]);
306
307	  (*) one of these is necessary to do something.
308
309config IIO_ST_ACCEL_I2C_3AXIS
310	tristate
311	depends on IIO_ST_ACCEL_3AXIS
312	depends on IIO_ST_SENSORS_I2C
313
314config IIO_ST_ACCEL_SPI_3AXIS
315	tristate
316	depends on IIO_ST_ACCEL_3AXIS
317	depends on IIO_ST_SENSORS_SPI
318
319config KXSD9
320	tristate "Kionix KXSD9 Accelerometer Driver"
321	select IIO_BUFFER
322	select IIO_TRIGGERED_BUFFER
323	help
324	  Say yes here to build support for the Kionix KXSD9 accelerometer.
325	  It can be accessed using an (optional) SPI or I2C interface.
326
327	  To compile this driver as a module, choose M here: the module
328	  will be called kxsd9.
329
330config KXSD9_SPI
331	tristate "Kionix KXSD9 SPI transport"
332	depends on KXSD9
333	depends on SPI
334	default KXSD9
335	select REGMAP_SPI
336	help
337	  Say yes here to enable the Kionix KXSD9 accelerometer
338	  SPI transport channel.
339
340config KXSD9_I2C
341	tristate "Kionix KXSD9 I2C transport"
342	depends on KXSD9
343	depends on I2C
344	default KXSD9
345	select REGMAP_I2C
346	help
347	  Say yes here to enable the Kionix KXSD9 accelerometer
348	  I2C transport channel.
349
350config KXCJK1013
351	tristate "Kionix 3-Axis Accelerometer Driver"
352	depends on I2C
353	select IIO_BUFFER
354	select IIO_TRIGGERED_BUFFER
355	help
356	  Say Y here if you want to build a driver for the Kionix KXCJK-1013
357	  triaxial acceleration sensor. This driver also supports KXCJ9-1008,
358	  KXTJ2-1009 and KXTF9.
359
360	  To compile this driver as a module, choose M here: the module will
361	  be called kxcjk-1013.
362
363config MC3230
364	tristate "mCube MC3230 Digital Accelerometer Driver"
365	depends on I2C
366	help
367	  Say yes here to build support for the mCube MC3230 low-g tri-axial
368	  digital accelerometer.
369
370	  To compile this driver as a module, choose M here: the
371	  module will be called mc3230.
372
373config MMA7455
374	tristate
375	select IIO_BUFFER
376	select IIO_TRIGGERED_BUFFER
377
378config MMA7455_I2C
379	tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver"
380	depends on I2C
381	select MMA7455
382	select REGMAP_I2C
383	help
384	  Say yes here to build support for the Freescale MMA7455L and
385	  MMA7456L 3-axis accelerometer.
386
387	  To compile this driver as a module, choose M here: the module
388	  will be called mma7455_i2c.
389
390config MMA7455_SPI
391	tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver"
392	depends on SPI_MASTER
393	select MMA7455
394	select REGMAP_SPI
395	help
396	  Say yes here to build support for the Freescale MMA7455L and
397	  MMA7456L 3-axis accelerometer.
398
399	  To compile this driver as a module, choose M here: the module
400	  will be called mma7455_spi.
401
402config MMA7660
403	tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver"
404	depends on I2C
405	help
406	  Say yes here to get support for the Freescale MMA7660FC 3-Axis
407	  accelerometer.
408
409	  Choosing M will build the driver as a module. If so, the module
410	  will be called mma7660.
411
412config MMA8452
413	tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver"
414	depends on I2C
415	select IIO_BUFFER
416	select IIO_TRIGGERED_BUFFER
417	help
418	  Say yes here to build support for the following Freescale / NXP 3-axis
419	  accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC,
420	  FXLS8471Q.
421
422	  To compile this driver as a module, choose M here: the module
423	  will be called mma8452.
424
425config MMA9551_CORE
426	tristate
427
428config MMA9551
429	tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver"
430	depends on I2C
431	select MMA9551_CORE
432
433	help
434	  Say yes here to build support for the Freescale MMA9551L
435	  Intelligent Motion-Sensing Platform Driver.
436
437	  To compile this driver as a module, choose M here: the module
438	  will be called mma9551.
439
440config MMA9553
441	tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver"
442	depends on I2C
443	select MMA9551_CORE
444	help
445	  Say yes here to build support for the Freescale MMA9553L
446	  Intelligent Pedometer Platform Driver.
447
448	  To compile this driver as a module, choose M here: the module
449	  will be called mma9553.
450
451config MXC4005
452	tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver"
453	depends on I2C
454	select IIO_BUFFER
455	select IIO_TRIGGERED_BUFFER
456	select REGMAP_I2C
457	help
458	  Say yes here to build support for the Memsic MXC4005XC 3-axis
459	  accelerometer.
460
461	  To compile this driver as a module, choose M. The module will be
462	  called mxc4005.
463
464config MXC6255
465	tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver"
466	depends on I2C
467	select REGMAP_I2C
468	help
469	  Say yes here to build support for the Memsic MXC6255 Orientation
470	  Sensing Accelerometer Driver.
471
472	  To compile this driver as a module, choose M here: the module will be
473	  called mxc6255.
474
475config SCA3000
476	select IIO_BUFFER
477	select IIO_KFIFO_BUF
478	depends on SPI
479	tristate "VTI SCA3000 series accelerometers"
480	help
481	  Say Y here to build support for the VTI SCA3000 series of SPI
482	  accelerometers. These devices use a hardware ring buffer.
483
484	  To compile this driver as a module, say M here: the module will be
485	  called sca3000.
486
487config SCA3300
488	tristate "Murata SCA3300 3-Axis Accelerometer Driver"
489	depends on SPI
490	select CRC8
491	select IIO_BUFFER
492	select IIO_TRIGGERED_BUFFER
493	help
494	  Say yes here to build support for Murata SCA3300 3-Axis
495	  accelerometer.
496
497	  To compile this driver as a module, choose M here: the module will be
498	  called sca3300.
499
500config STK8312
501	tristate "Sensortek STK8312 3-Axis Accelerometer Driver"
502	depends on I2C
503	select IIO_BUFFER
504	select IIO_TRIGGERED_BUFFER
505	help
506	  Say yes here to get support for the Sensortek STK8312 3-axis
507	  accelerometer.
508
509	  Choosing M will build the driver as a module. If so, the module
510	  will be called stk8312.
511
512config STK8BA50
513	tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver"
514	depends on I2C
515	select IIO_BUFFER
516	select IIO_TRIGGERED_BUFFER
517	help
518	  Say yes here to get support for the Sensortek STK8BA50 3-axis
519	  accelerometer.
520
521	  Choosing M will build the driver as a module. If so, the module
522	  will be called stk8ba50.
523
524endmenu
525