xref: /openbmc/linux/drivers/iio/accel/Kconfig (revision e5242c5f)
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 ADXL313
34	tristate
35
36config ADXL313_I2C
37	tristate "Analog Devices ADXL313 3-Axis Digital Accelerometer I2C Driver"
38	depends on I2C
39	select ADXL313
40	select REGMAP_I2C
41	help
42	  Say Y here if you want to build i2c support for the Analog Devices
43	  ADXL313 3-axis digital accelerometer.
44
45	  To compile this driver as a module, choose M here: the module
46	  will be called adxl313_i2c and you will also get adxl313_core
47	  for the core module.
48
49config ADXL313_SPI
50	tristate "Analog Devices ADXL313 3-Axis Digital Accelerometer SPI Driver"
51	depends on SPI
52	select ADXL313
53	select REGMAP_SPI
54	help
55	  Say Y here if you want to build spi support for the Analog Devices
56	  ADXL313 3-axis digital accelerometer.
57
58	  To compile this driver as a module, choose M here: the module
59	  will be called adxl313_spi and you will also get adxl313_core
60	  for the core module.
61
62config ADXL345
63	tristate
64
65config ADXL345_I2C
66	tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer I2C Driver"
67	depends on INPUT_ADXL34X=n
68	depends on I2C
69	select ADXL345
70	select REGMAP_I2C
71	help
72	  Say Y here if you want to build support for the Analog Devices
73	  ADXL345 or ADXL375 3-axis digital accelerometer.
74
75	  To compile this driver as a module, choose M here: the module
76	  will be called adxl345_i2c and you will also get adxl345_core
77	  for the core module.
78
79config ADXL345_SPI
80	tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer SPI Driver"
81	depends on INPUT_ADXL34X=n
82	depends on SPI
83	select ADXL345
84	select REGMAP_SPI
85	help
86	  Say Y here if you want to build support for the Analog Devices
87	  ADXL345 or ADXL375 3-axis digital accelerometer.
88
89	  To compile this driver as a module, choose M here: the module
90	  will be called adxl345_spi and you will also get adxl345_core
91	  for the core module.
92
93config ADXL355
94	tristate
95
96config ADXL355_I2C
97	tristate "Analog Devices ADXL355 3-Axis Digital Accelerometer I2C Driver"
98	depends on I2C
99	select ADXL355
100	select REGMAP_I2C
101	select IIO_BUFFER
102	select IIO_TRIGGERED_BUFFER
103	help
104	  Say Y here if you want to build i2c support for the Analog Devices
105	  ADXL355 3-axis digital accelerometer.
106
107	  To compile this driver as a module, choose M here: the module
108	  will be called adxl355_i2c and you will also get adxl355_core
109	  for the core module.
110
111config ADXL355_SPI
112	tristate "Analog Devices ADXL355 3-Axis Digital Accelerometer SPI Driver"
113	depends on SPI
114	select ADXL355
115	select REGMAP_SPI
116	select IIO_BUFFER
117	select IIO_TRIGGERED_BUFFER
118	help
119	  Say Y here if you want to build spi support for the Analog Devices
120	  ADXL355 3-axis digital accelerometer.
121
122	  To compile this driver as a module, choose M here: the module
123	  will be called adxl355_spi and you will also get adxl355_core
124	  for the core module.
125
126config ADXL367
127	tristate
128	select IIO_BUFFER
129	select IIO_TRIGGERED_BUFFER
130
131config ADXL367_SPI
132	tristate "Analog Devices ADXL367 3-Axis Accelerometer SPI Driver"
133	depends on SPI
134	select ADXL367
135	select REGMAP_SPI
136	help
137	  Say yes here to add support for the Analog Devices ADXL367 triaxial
138	  acceleration sensor.
139	  To compile this driver as a module, choose M here: the
140	  module will be called adxl367_spi.
141
142config ADXL367_I2C
143	tristate "Analog Devices ADXL367 3-Axis Accelerometer I2C Driver"
144	depends on I2C
145	select ADXL367
146	select REGMAP_I2C
147	help
148	  Say yes here to add support for the Analog Devices ADXL367 triaxial
149	  acceleration sensor.
150	  To compile this driver as a module, choose M here: the
151	  module will be called adxl367_i2c.
152
153config ADXL372
154	tristate
155	select IIO_BUFFER
156	select IIO_TRIGGERED_BUFFER
157
158config ADXL372_SPI
159	tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver"
160	depends on SPI
161	select ADXL372
162	select REGMAP_SPI
163	help
164	  Say yes here to add support for the Analog Devices ADXL372 triaxial
165	  acceleration sensor.
166	  To compile this driver as a module, choose M here: the
167	  module will be called adxl372_spi.
168
169config ADXL372_I2C
170	tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver"
171	depends on I2C
172	select ADXL372
173	select REGMAP_I2C
174	help
175	  Say yes here to add support for the Analog Devices ADXL372 triaxial
176	  acceleration sensor.
177	  To compile this driver as a module, choose M here: the
178	  module will be called adxl372_i2c.
179
180config BMA180
181	tristate "Bosch BMA023/BMA1x0/BMA250 3-Axis Accelerometer Driver"
182	depends on I2C && INPUT_BMA150=n
183	select IIO_BUFFER
184	select IIO_TRIGGERED_BUFFER
185	help
186	  Say Y here if you want to build a driver for the Bosch BMA023, BMA150
187	  BMA180, BMA250 or SMB380 triaxial acceleration sensor.
188
189	  To compile this driver as a module, choose M here: the
190	  module will be called bma180.
191
192config BMA220
193	tristate "Bosch BMA220 3-Axis Accelerometer Driver"
194	depends on SPI
195	select IIO_BUFFER
196	select IIO_TRIGGERED_BUFFER
197	help
198	  Say yes here to add support for the Bosch BMA220 triaxial
199	  acceleration sensor.
200
201	  To compile this driver as a module, choose M here: the
202	  module will be called bma220_spi.
203
204config BMA400
205	tristate "Bosch BMA400 3-Axis Accelerometer Driver"
206	select REGMAP
207	select IIO_BUFFER
208	select IIO_TRIGGERED_BUFFER
209	select BMA400_I2C if I2C
210	select BMA400_SPI if SPI
211	help
212	  Say Y here if you want to build a driver for the Bosch BMA400
213	  triaxial acceleration sensor.
214
215	  To compile this driver as a module, choose M here: the
216	  module will be called bma400_core and you will also get
217	  bma400_i2c if I2C is enabled and bma400_spi if SPI is
218	  enabled.
219
220config BMA400_I2C
221	tristate
222	select REGMAP_I2C
223	depends on BMA400
224
225config BMA400_SPI
226	tristate
227	select REGMAP_SPI
228	depends on BMA400
229
230config BMC150_ACCEL
231	tristate "Bosch BMC150 Accelerometer Driver"
232	select IIO_BUFFER
233	select IIO_TRIGGERED_BUFFER
234	select REGMAP
235	select BMC150_ACCEL_I2C if I2C
236	select BMC150_ACCEL_SPI if SPI
237	help
238	  Say yes here to build support for the following Bosch accelerometers:
239	  BMA222, BMA222E, BMA250E, BMA253, BMA254, BMA255, BMA280, BMC150, BMC156
240	  BMI055.
241
242	  Note that some of these are combo modules:
243	    - BMC150/BMC156: accelerometer and magnetometer
244	    - BMI055: accelerometer and gyroscope
245
246	  This driver is only implementing accelerometer part, which has
247	  its own address and register map.
248
249config BMC150_ACCEL_I2C
250	tristate
251	select REGMAP_I2C
252
253config BMC150_ACCEL_SPI
254	tristate
255	select REGMAP_SPI
256
257config BMI088_ACCEL
258	tristate "Bosch BMI088 Accelerometer Driver"
259	depends on SPI
260	select IIO_BUFFER
261	select IIO_TRIGGERED_BUFFER
262	select REGMAP
263	select BMI088_ACCEL_SPI
264	help
265	  Say yes here to build support for the Bosch BMI088 accelerometer.
266
267	  This is a combo module with both accelerometer and gyroscope. This
268	  driver only implements the accelerometer part, which has its own
269	  address and register map. BMG160 provides the gyroscope driver.
270
271config BMI088_ACCEL_SPI
272	tristate
273	select REGMAP_SPI
274
275config DA280
276	tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver"
277	depends on I2C
278	help
279	  Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit
280	  digital accelerometer.
281
282	  To compile this driver as a module, choose M here: the
283	  module will be called da280.
284
285config DA311
286	tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver"
287	depends on I2C
288	help
289	  Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit
290	  digital accelerometer.
291
292	  To compile this driver as a module, choose M here: the
293	  module will be called da311.
294
295config DMARD06
296	tristate "Domintech DMARD06 Digital Accelerometer Driver"
297	depends on I2C
298	help
299	  Say yes here to build support for the Domintech low-g tri-axial
300	  digital accelerometers: DMARD05, DMARD06, DMARD07.
301
302	  To compile this driver as a module, choose M here: the
303	  module will be called dmard06.
304
305config DMARD09
306	tristate "Domintech DMARD09 3-axis Accelerometer Driver"
307	depends on I2C
308	help
309	  Say yes here to get support for the Domintech DMARD09 3-axis
310	  accelerometer.
311
312	  Choosing M will build the driver as a module. If so, the module
313	  will be called dmard09.
314
315config DMARD10
316	tristate "Domintech DMARD10 3-axis Accelerometer Driver"
317	depends on I2C
318	help
319	  Say yes here to get support for the Domintech DMARD10 3-axis
320	  accelerometer.
321
322	  Choosing M will build the driver as a module. If so, the module
323	  will be called dmard10.
324
325config FXLS8962AF
326	tristate
327	depends on I2C || !I2C # cannot be built-in for modular I2C
328	select IIO_BUFFER
329	select IIO_KFIFO_BUF
330
331config FXLS8962AF_I2C
332	tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
333	depends on I2C
334	select FXLS8962AF
335	select REGMAP_I2C
336	help
337	  Say yes here to build support for the NXP 3-axis automotive
338	  accelerometer FXLS8962AF/FXLS8964AF with I2C support.
339
340	  To compile this driver as a module, choose M here: the module
341	  will be called fxls8962af_i2c.
342
343config FXLS8962AF_SPI
344	tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver"
345	depends on SPI
346	depends on I2C || !I2C
347	select FXLS8962AF
348	select REGMAP_SPI
349	help
350	  Say yes here to build support for the NXP 3-axis automotive
351	  accelerometer FXLS8962AF/FXLS8964AF with SPI support.
352
353	  To compile this driver as a module, choose M here: the module
354	  will be called fxls8962af_spi.
355
356config HID_SENSOR_ACCEL_3D
357	depends on HID_SENSOR_HUB
358	select IIO_BUFFER
359	select HID_SENSOR_IIO_COMMON
360	select HID_SENSOR_IIO_TRIGGER
361	tristate "HID Accelerometers 3D"
362	help
363	  Say yes here to build support for the HID SENSOR
364	  accelerometers 3D.
365
366	  To compile this driver as a module, choose M here: the
367	  module will be called hid-sensor-accel-3d.
368
369config IIO_CROS_EC_ACCEL_LEGACY
370	tristate "ChromeOS EC Legacy Accelerometer Sensor"
371	depends on IIO_CROS_EC_SENSORS_CORE
372	help
373	  Say yes here to get support for accelerometers on Chromebook using
374	  legacy EC firmware.
375	  Sensor data is retrieved through IO memory.
376	  Newer devices should use IIO_CROS_EC_SENSORS.
377
378config IIO_ST_ACCEL_3AXIS
379	tristate "STMicroelectronics accelerometers 3-Axis Driver"
380	depends on (I2C || SPI_MASTER) && SYSFS
381	depends on !SENSORS_LIS3_I2C
382	depends on !SENSORS_LIS3_SPI
383	select IIO_ST_SENSORS_CORE
384	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
385	help
386	  Say yes here to build support for STMicroelectronics accelerometers:
387	  LSM303C, LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
388	  LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
389	  LNG2DM, LIS3DE, LIS2DE12, LIS2HH12
390
391	  Also need to enable at least one of I2C and SPI interface drivers
392	  below.
393
394config IIO_ST_ACCEL_I2C_3AXIS
395	tristate "STMicroelectronics accelerometers 3-Axis I2C Interface"
396	depends on I2C && IIO_ST_ACCEL_3AXIS
397	default I2C && IIO_ST_ACCEL_3AXIS
398	select IIO_ST_SENSORS_I2C
399	help
400	  Build support for STMicroelectronics accelerometers I2C interface.
401
402	  To compile this driver as a module, choose M here. The module
403	  will be called st_accel_i2c.
404
405config IIO_ST_ACCEL_SPI_3AXIS
406	tristate "STMicroelectronics accelerometers 3-Axis SPI Interface"
407	depends on SPI_MASTER && IIO_ST_ACCEL_3AXIS
408	default SPI_MASTER && IIO_ST_ACCEL_3AXIS
409	select IIO_ST_SENSORS_SPI
410	help
411	  Build support for STMicroelectronics accelerometers SPI interface.
412
413	  To compile this driver as a module, choose M here. The module
414	  will be called st_accel_spi.
415
416config IIO_KX022A
417	tristate
418	select IIO_BUFFER
419	select IIO_TRIGGERED_BUFFER
420
421config IIO_KX022A_SPI
422	tristate "Kionix KX022A tri-axis digital accelerometer SPI interface"
423	depends on SPI
424	select IIO_KX022A
425	select REGMAP_SPI
426	help
427	  Enable support for the Kionix KX022A digital tri-axis
428	  accelerometer connected to I2C interface.
429
430config IIO_KX022A_I2C
431	tristate "Kionix KX022A tri-axis digital accelerometer I2C interface"
432	depends on I2C
433	select IIO_KX022A
434	select REGMAP_I2C
435	help
436	  Enable support for the Kionix KX022A digital tri-axis
437	  accelerometer connected to I2C interface.
438
439config KXSD9
440	tristate "Kionix KXSD9 Accelerometer Driver"
441	select IIO_BUFFER
442	select IIO_TRIGGERED_BUFFER
443	help
444	  Say yes here to build support for the Kionix KXSD9 accelerometer.
445	  It can be accessed using an (optional) SPI or I2C interface.
446
447	  To compile this driver as a module, choose M here: the module
448	  will be called kxsd9.
449
450config KXSD9_SPI
451	tristate "Kionix KXSD9 SPI transport"
452	depends on KXSD9
453	depends on SPI
454	default KXSD9
455	select REGMAP_SPI
456	help
457	  Say yes here to enable the Kionix KXSD9 accelerometer
458	  SPI transport channel.
459
460config KXSD9_I2C
461	tristate "Kionix KXSD9 I2C transport"
462	depends on KXSD9
463	depends on I2C
464	default KXSD9
465	select REGMAP_I2C
466	help
467	  Say yes here to enable the Kionix KXSD9 accelerometer
468	  I2C transport channel.
469
470config KXCJK1013
471	tristate "Kionix 3-Axis Accelerometer Driver"
472	depends on I2C
473	select IIO_BUFFER
474	select IIO_TRIGGERED_BUFFER
475	help
476	  Say Y here if you want to build a driver for the Kionix KXCJK-1013
477	  triaxial acceleration sensor. This driver also supports KXCJ9-1008,
478	  KXTJ2-1009 and KXTF9.
479
480	  To compile this driver as a module, choose M here: the module will
481	  be called kxcjk-1013.
482
483config MC3230
484	tristate "mCube MC3230 Digital Accelerometer Driver"
485	depends on I2C
486	help
487	  Say yes here to build support for the mCube MC3230 low-g tri-axial
488	  digital accelerometer.
489
490	  To compile this driver as a module, choose M here: the
491	  module will be called mc3230.
492
493config MMA7455
494	tristate
495	select IIO_BUFFER
496	select IIO_TRIGGERED_BUFFER
497
498config MMA7455_I2C
499	tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver"
500	depends on I2C
501	select MMA7455
502	select REGMAP_I2C
503	help
504	  Say yes here to build support for the Freescale MMA7455L and
505	  MMA7456L 3-axis accelerometer.
506
507	  To compile this driver as a module, choose M here: the module
508	  will be called mma7455_i2c.
509
510config MMA7455_SPI
511	tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver"
512	depends on SPI_MASTER
513	select MMA7455
514	select REGMAP_SPI
515	help
516	  Say yes here to build support for the Freescale MMA7455L and
517	  MMA7456L 3-axis accelerometer.
518
519	  To compile this driver as a module, choose M here: the module
520	  will be called mma7455_spi.
521
522config MMA7660
523	tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver"
524	depends on I2C
525	help
526	  Say yes here to get support for the Freescale MMA7660FC 3-Axis
527	  accelerometer.
528
529	  Choosing M will build the driver as a module. If so, the module
530	  will be called mma7660.
531
532config MMA8452
533	tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver"
534	depends on I2C
535	select IIO_BUFFER
536	select IIO_TRIGGERED_BUFFER
537	help
538	  Say yes here to build support for the following Freescale / NXP 3-axis
539	  accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC,
540	  FXLS8471Q.
541
542	  To compile this driver as a module, choose M here: the module
543	  will be called mma8452.
544
545config MMA9551_CORE
546	tristate
547
548config MMA9551
549	tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver"
550	depends on I2C
551	select MMA9551_CORE
552
553	help
554	  Say yes here to build support for the Freescale MMA9551L
555	  Intelligent Motion-Sensing Platform Driver.
556
557	  To compile this driver as a module, choose M here: the module
558	  will be called mma9551.
559
560config MMA9553
561	tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver"
562	depends on I2C
563	select MMA9551_CORE
564	help
565	  Say yes here to build support for the Freescale MMA9553L
566	  Intelligent Pedometer Platform Driver.
567
568	  To compile this driver as a module, choose M here: the module
569	  will be called mma9553.
570
571config MSA311
572	tristate "MEMSensing Digital 3-Axis Accelerometer Driver"
573	depends on I2C
574	select IIO_BUFFER
575	select IIO_TRIGGERED_BUFFER
576	select REGMAP_I2C
577	help
578	  Say yes here to build support for the MEMSensing MSA311
579	  accelerometer driver.
580
581	  To compile this driver as a module, choose M here: the module will be
582	  called msa311.
583
584config MXC4005
585	tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver"
586	depends on I2C
587	select IIO_BUFFER
588	select IIO_TRIGGERED_BUFFER
589	select REGMAP_I2C
590	help
591	  Say yes here to build support for the Memsic MXC4005XC 3-axis
592	  accelerometer.
593
594	  To compile this driver as a module, choose M. The module will be
595	  called mxc4005.
596
597config MXC6255
598	tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver"
599	depends on I2C
600	select REGMAP_I2C
601	help
602	  Say yes here to build support for the Memsic MXC6255 Orientation
603	  Sensing Accelerometer Driver.
604
605	  To compile this driver as a module, choose M here: the module will be
606	  called mxc6255.
607
608config SCA3000
609	select IIO_BUFFER
610	select IIO_KFIFO_BUF
611	depends on SPI
612	tristate "VTI SCA3000 series accelerometers"
613	help
614	  Say Y here to build support for the VTI SCA3000 series of SPI
615	  accelerometers. These devices use a hardware ring buffer.
616
617	  To compile this driver as a module, say M here: the module will be
618	  called sca3000.
619
620config SCA3300
621	tristate "Murata SCA3300 3-Axis Accelerometer Driver"
622	depends on SPI
623	select CRC8
624	select IIO_BUFFER
625	select IIO_TRIGGERED_BUFFER
626	help
627	  Say yes here to build support for Murata SCA3300 3-Axis
628	  accelerometer.
629
630	  To compile this driver as a module, choose M here: the module will be
631	  called sca3300.
632
633config STK8312
634	tristate "Sensortek STK8312 3-Axis Accelerometer Driver"
635	depends on I2C
636	select IIO_BUFFER
637	select IIO_TRIGGERED_BUFFER
638	help
639	  Say yes here to get support for the Sensortek STK8312 3-axis
640	  accelerometer.
641
642	  Choosing M will build the driver as a module. If so, the module
643	  will be called stk8312.
644
645config STK8BA50
646	tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver"
647	depends on I2C
648	select IIO_BUFFER
649	select IIO_TRIGGERED_BUFFER
650	help
651	  Say yes here to get support for the Sensortek STK8BA50 3-axis
652	  accelerometer.
653
654	  Choosing M will build the driver as a module. If so, the module
655	  will be called stk8ba50.
656
657endmenu
658