xref: /linux-6.15/drivers/iio/accel/Kconfig (revision 26b2ec2e)
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 ADXL372
127	tristate
128	select IIO_BUFFER
129	select IIO_TRIGGERED_BUFFER
130
131config ADXL372_SPI
132	tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver"
133	depends on SPI
134	select ADXL372
135	select REGMAP_SPI
136	help
137	  Say yes here to add support for the Analog Devices ADXL372 triaxial
138	  acceleration sensor.
139	  To compile this driver as a module, choose M here: the
140	  module will be called adxl372_spi.
141
142config ADXL372_I2C
143	tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver"
144	depends on I2C
145	select ADXL372
146	select REGMAP_I2C
147	help
148	  Say yes here to add support for the Analog Devices ADXL372 triaxial
149	  acceleration sensor.
150	  To compile this driver as a module, choose M here: the
151	  module will be called adxl372_i2c.
152
153config BMA180
154	tristate "Bosch BMA023/BMA1x0/BMA250 3-Axis Accelerometer Driver"
155	depends on I2C && INPUT_BMA150=n
156	select IIO_BUFFER
157	select IIO_TRIGGERED_BUFFER
158	help
159	  Say Y here if you want to build a driver for the Bosch BMA023, BMA150
160	  BMA180, BMA250 or SMB380 triaxial acceleration sensor.
161
162	  To compile this driver as a module, choose M here: the
163	  module will be called bma180.
164
165config BMA220
166	tristate "Bosch BMA220 3-Axis Accelerometer Driver"
167	depends on SPI
168	select IIO_BUFFER
169	select IIO_TRIGGERED_BUFFER
170	help
171	  Say yes here to add support for the Bosch BMA220 triaxial
172	  acceleration sensor.
173
174	  To compile this driver as a module, choose M here: the
175	  module will be called bma220_spi.
176
177config BMA400
178	tristate "Bosch BMA400 3-Axis Accelerometer Driver"
179	select REGMAP
180	select BMA400_I2C if I2C
181	select BMA400_SPI if SPI
182	help
183	  Say Y here if you want to build a driver for the Bosch BMA400
184	  triaxial acceleration sensor.
185
186	  To compile this driver as a module, choose M here: the
187	  module will be called bma400_core and you will also get
188	  bma400_i2c if I2C is enabled and bma400_spi if SPI is
189	  enabled.
190
191config BMA400_I2C
192	tristate
193	depends on BMA400
194
195config BMA400_SPI
196	tristate
197	depends on BMA400
198
199config BMC150_ACCEL
200	tristate "Bosch BMC150 Accelerometer Driver"
201	select IIO_BUFFER
202	select IIO_TRIGGERED_BUFFER
203	select REGMAP
204	select BMC150_ACCEL_I2C if I2C
205	select BMC150_ACCEL_SPI if SPI
206	help
207	  Say yes here to build support for the following Bosch accelerometers:
208	  BMA222, BMA222E, BMA250E, BMA253, BMA254, BMA255, BMA280, BMC150, BMC156
209	  BMI055.
210
211	  Note that some of these are combo modules:
212	    - BMC150/BMC156: accelerometer and magnetometer
213	    - BMI055: accelerometer and gyroscope
214
215	  This driver is only implementing accelerometer part, which has
216	  its own address and register map.
217
218config BMC150_ACCEL_I2C
219	tristate
220	select REGMAP_I2C
221
222config BMC150_ACCEL_SPI
223	tristate
224	select REGMAP_SPI
225
226config BMI088_ACCEL
227	tristate "Bosch BMI088 Accelerometer Driver"
228	depends on SPI
229	select IIO_BUFFER
230	select IIO_TRIGGERED_BUFFER
231	select REGMAP
232	select BMI088_ACCEL_SPI
233	help
234	  Say yes here to build support for the Bosch BMI088 accelerometer.
235
236	  This is a combo module with both accelerometer and gyroscope. This
237	  driver only implements the accelerometer part, which has its own
238	  address and register map. BMG160 provides the gyroscope driver.
239
240config BMI088_ACCEL_SPI
241	tristate
242	select REGMAP_SPI
243
244config DA280
245	tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver"
246	depends on I2C
247	help
248	  Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit
249	  digital accelerometer.
250
251	  To compile this driver as a module, choose M here: the
252	  module will be called da280.
253
254config DA311
255	tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver"
256	depends on I2C
257	help
258	  Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit
259	  digital accelerometer.
260
261	  To compile this driver as a module, choose M here: the
262	  module will be called da311.
263
264config DMARD06
265	tristate "Domintech DMARD06 Digital Accelerometer Driver"
266	depends on OF || COMPILE_TEST
267	depends on I2C
268	help
269	  Say yes here to build support for the Domintech low-g tri-axial
270	  digital accelerometers: DMARD05, DMARD06, DMARD07.
271
272	  To compile this driver as a module, choose M here: the
273	  module will be called dmard06.
274
275config DMARD09
276	tristate "Domintech DMARD09 3-axis Accelerometer Driver"
277	depends on I2C
278	help
279	  Say yes here to get support for the Domintech DMARD09 3-axis
280	  accelerometer.
281
282	  Choosing M will build the driver as a module. If so, the module
283	  will be called dmard09.
284
285config DMARD10
286	tristate "Domintech DMARD10 3-axis Accelerometer Driver"
287	depends on I2C
288	help
289	  Say yes here to get support for the Domintech DMARD10 3-axis
290	  accelerometer.
291
292	  Choosing M will build the driver as a module. If so, the module
293	  will be called dmard10.
294
295config FXLS8962AF
296	tristate
297	depends on I2C || !I2C # cannot be built-in for modular I2C
298
299config FXLS8962AF_I2C
300	tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
301	depends on I2C
302	select FXLS8962AF
303	select REGMAP_I2C
304	help
305	  Say yes here to build support for the NXP 3-axis automotive
306	  accelerometer FXLS8962AF/FXLS8964AF with I2C support.
307
308	  To compile this driver as a module, choose M here: the module
309	  will be called fxls8962af_i2c.
310
311config FXLS8962AF_SPI
312	tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver"
313	depends on SPI
314	depends on I2C || !I2C
315	select FXLS8962AF
316	select REGMAP_SPI
317	help
318	  Say yes here to build support for the NXP 3-axis automotive
319	  accelerometer FXLS8962AF/FXLS8964AF with SPI support.
320
321	  To compile this driver as a module, choose M here: the module
322	  will be called fxls8962af_spi.
323
324config HID_SENSOR_ACCEL_3D
325	depends on HID_SENSOR_HUB
326	select IIO_BUFFER
327	select HID_SENSOR_IIO_COMMON
328	select HID_SENSOR_IIO_TRIGGER
329	tristate "HID Accelerometers 3D"
330	help
331	  Say yes here to build support for the HID SENSOR
332	  accelerometers 3D.
333
334	  To compile this driver as a module, choose M here: the
335	  module will be called hid-sensor-accel-3d.
336
337config IIO_CROS_EC_ACCEL_LEGACY
338	tristate "ChromeOS EC Legacy Accelerometer Sensor"
339	depends on IIO_CROS_EC_SENSORS_CORE
340	help
341	  Say yes here to get support for accelerometers on Chromebook using
342	  legacy EC firmware.
343	  Sensor data is retrieved through IO memory.
344	  Newer devices should use IIO_CROS_EC_SENSORS.
345
346config IIO_ST_ACCEL_3AXIS
347	tristate "STMicroelectronics accelerometers 3-Axis Driver"
348	depends on (I2C || SPI_MASTER) && SYSFS
349	depends on !SENSORS_LIS3_I2C
350	depends on !SENSORS_LIS3_SPI
351	select IIO_ST_SENSORS_CORE
352	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
353	help
354	  Say yes here to build support for STMicroelectronics accelerometers:
355	  LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
356	  LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
357	  LNG2DM, LIS3DE, LIS2DE12, LIS2HH12
358
359	  Also need to enable at least one of I2C and SPI interface drivers
360	  below.
361
362config IIO_ST_ACCEL_I2C_3AXIS
363	tristate "STMicroelectronics accelerometers 3-Axis I2C Interface"
364	depends on I2C && IIO_ST_ACCEL_3AXIS
365	default I2C && IIO_ST_ACCEL_3AXIS
366	select IIO_ST_SENSORS_I2C
367	help
368	  Build support for STMicroelectronics accelerometers I2C interface.
369
370	  To compile this driver as a module, choose M here. The module
371	  will be called st_accel_i2c.
372
373config IIO_ST_ACCEL_SPI_3AXIS
374	tristate "STMicroelectronics accelerometers 3-Axis SPI Interface"
375	depends on SPI_MASTER && IIO_ST_ACCEL_3AXIS
376	default SPI_MASTER && IIO_ST_ACCEL_3AXIS
377	select IIO_ST_SENSORS_SPI
378	help
379	  Build support for STMicroelectronics accelerometers SPI interface.
380
381	  To compile this driver as a module, choose M here. The module
382	  will be called st_accel_spi.
383
384config KXSD9
385	tristate "Kionix KXSD9 Accelerometer Driver"
386	select IIO_BUFFER
387	select IIO_TRIGGERED_BUFFER
388	help
389	  Say yes here to build support for the Kionix KXSD9 accelerometer.
390	  It can be accessed using an (optional) SPI or I2C interface.
391
392	  To compile this driver as a module, choose M here: the module
393	  will be called kxsd9.
394
395config KXSD9_SPI
396	tristate "Kionix KXSD9 SPI transport"
397	depends on KXSD9
398	depends on SPI
399	default KXSD9
400	select REGMAP_SPI
401	help
402	  Say yes here to enable the Kionix KXSD9 accelerometer
403	  SPI transport channel.
404
405config KXSD9_I2C
406	tristate "Kionix KXSD9 I2C transport"
407	depends on KXSD9
408	depends on I2C
409	default KXSD9
410	select REGMAP_I2C
411	help
412	  Say yes here to enable the Kionix KXSD9 accelerometer
413	  I2C transport channel.
414
415config KXCJK1013
416	tristate "Kionix 3-Axis Accelerometer Driver"
417	depends on I2C
418	select IIO_BUFFER
419	select IIO_TRIGGERED_BUFFER
420	help
421	  Say Y here if you want to build a driver for the Kionix KXCJK-1013
422	  triaxial acceleration sensor. This driver also supports KXCJ9-1008,
423	  KXTJ2-1009 and KXTF9.
424
425	  To compile this driver as a module, choose M here: the module will
426	  be called kxcjk-1013.
427
428config MC3230
429	tristate "mCube MC3230 Digital Accelerometer Driver"
430	depends on I2C
431	help
432	  Say yes here to build support for the mCube MC3230 low-g tri-axial
433	  digital accelerometer.
434
435	  To compile this driver as a module, choose M here: the
436	  module will be called mc3230.
437
438config MMA7455
439	tristate
440	select IIO_BUFFER
441	select IIO_TRIGGERED_BUFFER
442
443config MMA7455_I2C
444	tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver"
445	depends on I2C
446	select MMA7455
447	select REGMAP_I2C
448	help
449	  Say yes here to build support for the Freescale MMA7455L and
450	  MMA7456L 3-axis accelerometer.
451
452	  To compile this driver as a module, choose M here: the module
453	  will be called mma7455_i2c.
454
455config MMA7455_SPI
456	tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver"
457	depends on SPI_MASTER
458	select MMA7455
459	select REGMAP_SPI
460	help
461	  Say yes here to build support for the Freescale MMA7455L and
462	  MMA7456L 3-axis accelerometer.
463
464	  To compile this driver as a module, choose M here: the module
465	  will be called mma7455_spi.
466
467config MMA7660
468	tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver"
469	depends on I2C
470	help
471	  Say yes here to get support for the Freescale MMA7660FC 3-Axis
472	  accelerometer.
473
474	  Choosing M will build the driver as a module. If so, the module
475	  will be called mma7660.
476
477config MMA8452
478	tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver"
479	depends on I2C
480	select IIO_BUFFER
481	select IIO_TRIGGERED_BUFFER
482	help
483	  Say yes here to build support for the following Freescale / NXP 3-axis
484	  accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC,
485	  FXLS8471Q.
486
487	  To compile this driver as a module, choose M here: the module
488	  will be called mma8452.
489
490config MMA9551_CORE
491	tristate
492
493config MMA9551
494	tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver"
495	depends on I2C
496	select MMA9551_CORE
497
498	help
499	  Say yes here to build support for the Freescale MMA9551L
500	  Intelligent Motion-Sensing Platform Driver.
501
502	  To compile this driver as a module, choose M here: the module
503	  will be called mma9551.
504
505config MMA9553
506	tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver"
507	depends on I2C
508	select MMA9551_CORE
509	help
510	  Say yes here to build support for the Freescale MMA9553L
511	  Intelligent Pedometer Platform Driver.
512
513	  To compile this driver as a module, choose M here: the module
514	  will be called mma9553.
515
516config MXC4005
517	tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver"
518	depends on I2C
519	select IIO_BUFFER
520	select IIO_TRIGGERED_BUFFER
521	select REGMAP_I2C
522	help
523	  Say yes here to build support for the Memsic MXC4005XC 3-axis
524	  accelerometer.
525
526	  To compile this driver as a module, choose M. The module will be
527	  called mxc4005.
528
529config MXC6255
530	tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver"
531	depends on I2C
532	select REGMAP_I2C
533	help
534	  Say yes here to build support for the Memsic MXC6255 Orientation
535	  Sensing Accelerometer Driver.
536
537	  To compile this driver as a module, choose M here: the module will be
538	  called mxc6255.
539
540config SCA3000
541	select IIO_BUFFER
542	select IIO_KFIFO_BUF
543	depends on SPI
544	tristate "VTI SCA3000 series accelerometers"
545	help
546	  Say Y here to build support for the VTI SCA3000 series of SPI
547	  accelerometers. These devices use a hardware ring buffer.
548
549	  To compile this driver as a module, say M here: the module will be
550	  called sca3000.
551
552config SCA3300
553	tristate "Murata SCA3300 3-Axis Accelerometer Driver"
554	depends on SPI
555	select CRC8
556	select IIO_BUFFER
557	select IIO_TRIGGERED_BUFFER
558	help
559	  Say yes here to build support for Murata SCA3300 3-Axis
560	  accelerometer.
561
562	  To compile this driver as a module, choose M here: the module will be
563	  called sca3300.
564
565config STK8312
566	tristate "Sensortek STK8312 3-Axis Accelerometer Driver"
567	depends on I2C
568	select IIO_BUFFER
569	select IIO_TRIGGERED_BUFFER
570	help
571	  Say yes here to get support for the Sensortek STK8312 3-axis
572	  accelerometer.
573
574	  Choosing M will build the driver as a module. If so, the module
575	  will be called stk8312.
576
577config STK8BA50
578	tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver"
579	depends on I2C
580	select IIO_BUFFER
581	select IIO_TRIGGERED_BUFFER
582	help
583	  Say yes here to get support for the Sensortek STK8BA50 3-axis
584	  accelerometer.
585
586	  Choosing M will build the driver as a module. If so, the module
587	  will be called stk8ba50.
588
589endmenu
590