xref: /linux/drivers/iio/magnetometer/Kconfig (revision bbfd5594756011167b8f8de9a00e0c946afda1e6)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2bc1d57baSsrinivas pandruvada#
3bc1d57baSsrinivas pandruvada# Magnetometer sensors
4bc1d57baSsrinivas pandruvada#
53edc84e6SLars-Peter Clausen# When adding new entries keep the list in alphabetical order
63edc84e6SLars-Peter Clausen
7bc1d57baSsrinivas pandruvadamenu "Magnetometer sensors"
8bc1d57baSsrinivas pandruvada
91d8f4b04SIcenowy Zhengconfig AF8133J
101d8f4b04SIcenowy Zheng	tristate "Voltafield AF8133J 3-Axis Magnetometer"
111d8f4b04SIcenowy Zheng	depends on I2C
121d8f4b04SIcenowy Zheng	depends on OF
131d8f4b04SIcenowy Zheng	select REGMAP_I2C
14fbb91389SJavier Carrasco	select IIO_BUFFER
15fbb91389SJavier Carrasco	select IIO_TRIGGERED_BUFFER
161d8f4b04SIcenowy Zheng	help
171d8f4b04SIcenowy Zheng	  Say yes here to build support for Voltafield AF8133J I2C-based
181d8f4b04SIcenowy Zheng	  3-axis magnetometer chip.
191d8f4b04SIcenowy Zheng
201d8f4b04SIcenowy Zheng	  To compile this driver as a module, choose M here: the module
211d8f4b04SIcenowy Zheng	  will be called af8133j.
221d8f4b04SIcenowy Zheng
237c94a8b2SLinus Walleijconfig AK8974
247c94a8b2SLinus Walleij	tristate "Asahi Kasei AK8974 3-Axis Magnetometer"
257c94a8b2SLinus Walleij	depends on I2C
267c94a8b2SLinus Walleij	select REGMAP_I2C
277c94a8b2SLinus Walleij	select IIO_BUFFER
287c94a8b2SLinus Walleij	select IIO_TRIGGERED_BUFFER
297c94a8b2SLinus Walleij	help
3021be26fcSMichał Mirosław	  Say yes here to build support for Asahi Kasei AK8974, AMI305 or
3121be26fcSMichał Mirosław	  AMI306 I2C-based 3-axis magnetometer chips.
327c94a8b2SLinus Walleij
337c94a8b2SLinus Walleij	  To compile this driver as a module, choose M here: the module
347c94a8b2SLinus Walleij	  will be called ak8974.
357c94a8b2SLinus Walleij
362fc72cd8SJonathan Cameronconfig AK8975
377c94a8b2SLinus Walleij	tristate "Asahi Kasei AK8975 3-Axis Magnetometer"
382fc72cd8SJonathan Cameron	depends on I2C
3984935853SGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
40bc11ca4aSGregor Boirie	select IIO_BUFFER
41bc11ca4aSGregor Boirie	select IIO_TRIGGERED_BUFFER
422fc72cd8SJonathan Cameron	help
4357e73a42SGwendal Grignou	  Say yes here to build support for Asahi Kasei AK8975, AK8963,
4489cf93bfSDanila Tikhonov	  AK09911, AK09912, AK09916 or AK09918 3-Axis Magnetometer.
452fc72cd8SJonathan Cameron
462fc72cd8SJonathan Cameron	  To compile this driver as a module, choose M here: the module
472fc72cd8SJonathan Cameron	  will be called ak8975.
482fc72cd8SJonathan Cameron
49d14c0f10SSrinivas Pandruvadaconfig AK09911
50d14c0f10SSrinivas Pandruvada	tristate "Asahi Kasei AK09911 3-axis Compass"
5136086889SArnd Bergmann	depends on I2C
5284935853SGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
5357e73a42SGwendal Grignou	select AK8975
54d14c0f10SSrinivas Pandruvada	help
5557e73a42SGwendal Grignou	  Deprecated: AK09911 is now supported by AK8975 driver.
56d14c0f10SSrinivas Pandruvada
573c9b6fd7SNeil Armstrongconfig ALS31300
583c9b6fd7SNeil Armstrong	tristate "Allegro MicroSystems ALS31300 3-D Linear Hall Effect Sensor"
593c9b6fd7SNeil Armstrong	depends on I2C
603c9b6fd7SNeil Armstrong	select REGMAP_I2C
613c9b6fd7SNeil Armstrong	select IIO_BUFFER
623c9b6fd7SNeil Armstrong	select IIO_TRIGGERED_BUFFER
633c9b6fd7SNeil Armstrong	help
643c9b6fd7SNeil Armstrong	  Say yes here to build support for the Allegro MicroSystems
653c9b6fd7SNeil Armstrong	  ALS31300 Hall Effect Sensor through its I2C interface.
663c9b6fd7SNeil Armstrong
673c9b6fd7SNeil Armstrong	  To compile this driver as a module, choose M here: the
683c9b6fd7SNeil Armstrong	  module will be called als31300.
693c9b6fd7SNeil Armstrong
702427d22dSHartmut Knaackconfig BMC150_MAGN
71761b7910SDaniel Baluta	tristate
722427d22dSHartmut Knaack	select IIO_BUFFER
732427d22dSHartmut Knaack	select IIO_TRIGGERED_BUFFER
742427d22dSHartmut Knaack
75761b7910SDaniel Balutaconfig BMC150_MAGN_I2C
76761b7910SDaniel Baluta	tristate "Bosch BMC150 I2C Magnetometer Driver"
77761b7910SDaniel Baluta	depends on I2C
78761b7910SDaniel Baluta	select BMC150_MAGN
79761b7910SDaniel Baluta	select REGMAP_I2C
80761b7910SDaniel Baluta	help
81761b7910SDaniel Baluta	  Say yes here to build support for the BMC150 magnetometer with
82761b7910SDaniel Baluta	  I2C interface.
832427d22dSHartmut Knaack
842427d22dSHartmut Knaack	  This is a combo module with both accelerometer and magnetometer.
852427d22dSHartmut Knaack	  This driver is only implementing magnetometer part, which has
862427d22dSHartmut Knaack	  its own address and register map.
872427d22dSHartmut Knaack
880aea7ac8SDaniel Baluta	  This driver also supports I2C Bosch BMC156 and BMM150 chips.
892427d22dSHartmut Knaack	  To compile this driver as a module, choose M here: the module will be
90761b7910SDaniel Baluta	  called bmc150_magn_i2c.
912427d22dSHartmut Knaack
92534536acSDaniel Balutaconfig BMC150_MAGN_SPI
93534536acSDaniel Baluta	tristate "Bosch BMC150 SPI Magnetometer Driver"
94534536acSDaniel Baluta	depends on SPI
95534536acSDaniel Baluta	select BMC150_MAGN
96534536acSDaniel Baluta	select REGMAP_SPI
97534536acSDaniel Baluta	help
98534536acSDaniel Baluta	  Say yes here to build support for the BMC150 magnetometer with
99534536acSDaniel Baluta	  SPI interface.
100534536acSDaniel Baluta
101534536acSDaniel Baluta	  This is a combo module with both accelerometer and magnetometer.
102534536acSDaniel Baluta	  This driver is only implementing magnetometer part, which has
103534536acSDaniel Baluta	  its own address and register map.
104534536acSDaniel Baluta
1050aea7ac8SDaniel Baluta	  This driver also supports SPI Bosch BMC156 and BMM150 chips.
106534536acSDaniel Baluta	  To compile this driver as a module, choose M here: the module will be
107534536acSDaniel Baluta	  called bmc150_magn_spi.
108534536acSDaniel Baluta
10939631b5fSPeter Meerwaldconfig MAG3110
11039631b5fSPeter Meerwald	tristate "Freescale MAG3110 3-Axis Magnetometer"
11139631b5fSPeter Meerwald	depends on I2C
11250619cb1SPeter Meerwald	select IIO_BUFFER
11350619cb1SPeter Meerwald	select IIO_TRIGGERED_BUFFER
11439631b5fSPeter Meerwald	help
11539631b5fSPeter Meerwald	  Say yes here to build support for the Freescale MAG3110 3-Axis
11639631b5fSPeter Meerwald	  magnetometer.
11739631b5fSPeter Meerwald
11839631b5fSPeter Meerwald	  To compile this driver as a module, choose M here: the module
11939631b5fSPeter Meerwald	  will be called mag3110.
12039631b5fSPeter Meerwald
121bc1d57baSsrinivas pandruvadaconfig HID_SENSOR_MAGNETOMETER_3D
122bc1d57baSsrinivas pandruvada	depends on HID_SENSOR_HUB
123bc1d57baSsrinivas pandruvada	select IIO_BUFFER
124bc1d57baSsrinivas pandruvada	select HID_SENSOR_IIO_COMMON
1259541cc39SAlexander Holler	select HID_SENSOR_IIO_TRIGGER
126bc1d57baSsrinivas pandruvada	tristate "HID Magenetometer 3D"
127bc1d57baSsrinivas pandruvada	help
128bc1d57baSsrinivas pandruvada	  Say yes here to build support for the HID SENSOR
129bc1d57baSsrinivas pandruvada	  Magnetometer 3D.
130bc1d57baSsrinivas pandruvada
131abeb6b1eSDaniel Balutaconfig MMC35240
132abeb6b1eSDaniel Baluta	tristate "MEMSIC MMC35240 3-axis magnetic sensor"
133abeb6b1eSDaniel Baluta	select REGMAP_I2C
134abeb6b1eSDaniel Baluta	depends on I2C
135abeb6b1eSDaniel Baluta	help
136abeb6b1eSDaniel Baluta	  Say yes here to build support for the MEMSIC MMC35240 3-axis
137abeb6b1eSDaniel Baluta	  magnetic sensor.
138abeb6b1eSDaniel Baluta
139abeb6b1eSDaniel Baluta	  To compile this driver as a module, choose M here: the module
140abeb6b1eSDaniel Baluta	  will be called mmc35240.
141abeb6b1eSDaniel Baluta
142872e79adSDenis Cioccaconfig IIO_ST_MAGN_3AXIS
143872e79adSDenis Ciocca	tristate "STMicroelectronics magnetometers 3-Axis Driver"
144872e79adSDenis Ciocca	depends on (I2C || SPI_MASTER) && SYSFS
145872e79adSDenis Ciocca	select IIO_ST_SENSORS_CORE
146872e79adSDenis Ciocca	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
147872e79adSDenis Ciocca	help
148872e79adSDenis Ciocca	  Say yes here to build support for STMicroelectronics magnetometers:
149721a2a7eSStephan Gerhold	  LSM303C, LSM303DLHC, LSM303DLM, LIS3MDL.
150872e79adSDenis Ciocca
15126b2ec2eSNikita Yushchenko	  Also need to enable at least one of I2C and SPI interface drivers
15226b2ec2eSNikita Yushchenko	  below.
153872e79adSDenis Ciocca
154872e79adSDenis Cioccaconfig IIO_ST_MAGN_I2C_3AXIS
15526b2ec2eSNikita Yushchenko	tristate "STMicroelectronics magnetometers 3-Axis I2C Interface"
15626b2ec2eSNikita Yushchenko	depends on I2C && IIO_ST_MAGN_3AXIS
15726b2ec2eSNikita Yushchenko	default I2C && IIO_ST_MAGN_3AXIS
15826b2ec2eSNikita Yushchenko	select IIO_ST_SENSORS_I2C
15926b2ec2eSNikita Yushchenko	help
16026b2ec2eSNikita Yushchenko	  Build support for STMicroelectronics magnetometers I2C interface.
16126b2ec2eSNikita Yushchenko
16226b2ec2eSNikita Yushchenko	  To compile this driver as a module, choose M here. The module
16326b2ec2eSNikita Yushchenko	  will be called st_magn_i2c.
164872e79adSDenis Ciocca
165872e79adSDenis Cioccaconfig IIO_ST_MAGN_SPI_3AXIS
16626b2ec2eSNikita Yushchenko	tristate "STMicroelectronics magnetometers 3-Axis SPI Interface"
16726b2ec2eSNikita Yushchenko	depends on SPI_MASTER && IIO_ST_MAGN_3AXIS
16826b2ec2eSNikita Yushchenko	default SPI_MASTER && IIO_ST_MAGN_3AXIS
16926b2ec2eSNikita Yushchenko	select IIO_ST_SENSORS_SPI
17026b2ec2eSNikita Yushchenko	help
17126b2ec2eSNikita Yushchenko	  Build support for STMicroelectronics magnetometers SPI interface.
17226b2ec2eSNikita Yushchenko
17326b2ec2eSNikita Yushchenko	  To compile this driver as a module, choose M here. The module
17426b2ec2eSNikita Yushchenko	  will be called st_magn_spi.
175872e79adSDenis Ciocca
1767247645fSCristina Moraruconfig SENSORS_HMC5843
1777247645fSCristina Moraru	tristate
1787247645fSCristina Moraru	select IIO_BUFFER
1797247645fSCristina Moraru	select IIO_TRIGGERED_BUFFER
1807247645fSCristina Moraru
1817247645fSCristina Moraruconfig SENSORS_HMC5843_I2C
1827247645fSCristina Moraru	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
1837247645fSCristina Moraru	depends on I2C
1847247645fSCristina Moraru	select SENSORS_HMC5843
1857247645fSCristina Moraru	select REGMAP_I2C
1867247645fSCristina Moraru	help
1877247645fSCristina Moraru	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
1887247645fSCristina Moraru	  HMC5883L 3-Axis Magnetometer (digital compass).
1897247645fSCristina Moraru
1907247645fSCristina Moraru	  This driver can also be compiled as a set of modules.
1917247645fSCristina Moraru	  If so, these modules will be created:
1927247645fSCristina Moraru	  - hmc5843_core (core functions)
1937247645fSCristina Moraru	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
1947247645fSCristina Moraru
1957247645fSCristina Moraruconfig SENSORS_HMC5843_SPI
1967247645fSCristina Moraru	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
1977247645fSCristina Moraru	depends on SPI_MASTER
1987247645fSCristina Moraru	select SENSORS_HMC5843
1997247645fSCristina Moraru	select REGMAP_SPI
2007247645fSCristina Moraru	help
2017247645fSCristina Moraru	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
2027247645fSCristina Moraru	  (digital compass).
2037247645fSCristina Moraru
2047247645fSCristina Moraru	  This driver can also be compiled as a set of modules.
2057247645fSCristina Moraru	  If so, these modules will be created:
2067247645fSCristina Moraru	  - hmc5843_core (core functions)
2077247645fSCristina Moraru	  - hmc5843_spi (support for HMC5983)
2087247645fSCristina Moraru
209121354b2SSong Qiangconfig SENSORS_RM3100
210121354b2SSong Qiang	tristate
211121354b2SSong Qiang	select IIO_BUFFER
212121354b2SSong Qiang	select IIO_TRIGGERED_BUFFER
213121354b2SSong Qiang
214121354b2SSong Qiangconfig SENSORS_RM3100_I2C
215121354b2SSong Qiang	tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
216121354b2SSong Qiang	depends on I2C
217121354b2SSong Qiang	select SENSORS_RM3100
218121354b2SSong Qiang	select REGMAP_I2C
219121354b2SSong Qiang	help
220121354b2SSong Qiang	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
221121354b2SSong Qiang
222121354b2SSong Qiang	  This driver can also be compiled as a module.
223121354b2SSong Qiang	  To compile this driver as a module, choose M here: the module
224121354b2SSong Qiang	  will be called rm3100-i2c.
225121354b2SSong Qiang
226121354b2SSong Qiangconfig SENSORS_RM3100_SPI
227121354b2SSong Qiang	tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
228121354b2SSong Qiang	depends on SPI_MASTER
229121354b2SSong Qiang	select SENSORS_RM3100
230121354b2SSong Qiang	select REGMAP_SPI
231121354b2SSong Qiang	help
232121354b2SSong Qiang	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
233121354b2SSong Qiang
234121354b2SSong Qiang	  This driver can also be compiled as a module.
235121354b2SSong Qiang	  To compile this driver as a module, choose M here: the module
236121354b2SSong Qiang	  will be called rm3100-spi.
237121354b2SSong Qiang
238*15dbaed4SAntoni Pokusinskiconfig SI7210
239*15dbaed4SAntoni Pokusinski	tristate "SI7210 Hall effect sensor"
240*15dbaed4SAntoni Pokusinski	depends on I2C
241*15dbaed4SAntoni Pokusinski	select REGMAP_I2C
242*15dbaed4SAntoni Pokusinski	help
243*15dbaed4SAntoni Pokusinski	  Say Y here to add support for the SI7210 Hall effect sensor.
244*15dbaed4SAntoni Pokusinski
245*15dbaed4SAntoni Pokusinski	  This driver can also be compiled as a module.
246*15dbaed4SAntoni Pokusinski	  To compile this driver as a module, choose M here: the module
247*15dbaed4SAntoni Pokusinski	  will be called si7210.
248*15dbaed4SAntoni Pokusinski
249866a1389SGerald Loackerconfig TI_TMAG5273
250866a1389SGerald Loacker	tristate "TI TMAG5273 Low-Power Linear 3D Hall-Effect Sensor"
251866a1389SGerald Loacker	depends on I2C
252866a1389SGerald Loacker	select REGMAP_I2C
253866a1389SGerald Loacker	help
254866a1389SGerald Loacker	  Say Y here to add support for the TI TMAG5273 Low-Power
255866a1389SGerald Loacker	  Linear 3D Hall-Effect Sensor.
256866a1389SGerald Loacker
257866a1389SGerald Loacker	  This driver can also be compiled as a module.
258866a1389SGerald Loacker	  To compile this driver as a module, choose M here: the module
259866a1389SGerald Loacker	  will be called tmag5273.
260866a1389SGerald Loacker
261de8860b1SLinus Walleijconfig YAMAHA_YAS530
262de8860b1SLinus Walleij	tristate "Yamaha YAS530 family of 3-Axis Magnetometers (I2C)"
263de8860b1SLinus Walleij	depends on I2C
264de8860b1SLinus Walleij	select REGMAP_I2C
265de8860b1SLinus Walleij	select IIO_BUFFER
266de8860b1SLinus Walleij	select IIO_TRIGGERED_BUFFER
267de8860b1SLinus Walleij	help
268de8860b1SLinus Walleij	  Say Y here to add support for the Yamaha YAS530 series of
26965f79b50SJakob Hauser	  3-Axis Magnetometers. YAS530, YAS532, YAS533 and YAS537 are
27065f79b50SJakob Hauser	  supported.
271de8860b1SLinus Walleij
272de8860b1SLinus Walleij	  This driver can also be compiled as a module.
273de8860b1SLinus Walleij	  To compile this driver as a module, choose M here: the module
274de8860b1SLinus Walleij	  will be called yamaha-yas.
275de8860b1SLinus Walleij
276bc1d57baSsrinivas pandruvadaendmenu
277