Kconfig 17 KB

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