xref: /linux/drivers/iio/magnetometer/Kconfig (revision 9a48d4a130871bea7a7ae2d83cda0326b1922d3e)
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
126cddbb2f9SColin Ian King	tristate "HID Magnetometer 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
1426e5f6bf2SFrank Liconfig MMC5633
1436e5f6bf2SFrank Li	tristate "MEMSIC MMC5633 3-axis magnetic sensor"
1440713b261SJonathan Cameron	select REGMAP_I2C
145e559c864SJonathan Cameron	select REGMAP_I3C if I3C
146*663eb876SArnd Bergmann	depends on I3C_OR_I2C
1476e5f6bf2SFrank Li	help
1486e5f6bf2SFrank Li	  Say yes here to build support for the MEMSIC MMC5633 3-axis
1496e5f6bf2SFrank Li	  magnetic sensor.
1506e5f6bf2SFrank Li
1516e5f6bf2SFrank Li	  To compile this driver as a module, choose M here: the module
1526e5f6bf2SFrank Li	  will be called mmc5633
1536e5f6bf2SFrank Li
154872e79adSDenis Cioccaconfig IIO_ST_MAGN_3AXIS
155872e79adSDenis Ciocca	tristate "STMicroelectronics magnetometers 3-Axis Driver"
156872e79adSDenis Ciocca	depends on (I2C || SPI_MASTER) && SYSFS
157872e79adSDenis Ciocca	select IIO_ST_SENSORS_CORE
158872e79adSDenis Ciocca	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
159872e79adSDenis Ciocca	help
160872e79adSDenis Ciocca	  Say yes here to build support for STMicroelectronics magnetometers:
161721a2a7eSStephan Gerhold	  LSM303C, LSM303DLHC, LSM303DLM, LIS3MDL.
162872e79adSDenis Ciocca
16326b2ec2eSNikita Yushchenko	  Also need to enable at least one of I2C and SPI interface drivers
16426b2ec2eSNikita Yushchenko	  below.
165872e79adSDenis Ciocca
166872e79adSDenis Cioccaconfig IIO_ST_MAGN_I2C_3AXIS
16726b2ec2eSNikita Yushchenko	tristate "STMicroelectronics magnetometers 3-Axis I2C Interface"
16826b2ec2eSNikita Yushchenko	depends on I2C && IIO_ST_MAGN_3AXIS
16926b2ec2eSNikita Yushchenko	default I2C && IIO_ST_MAGN_3AXIS
17026b2ec2eSNikita Yushchenko	select IIO_ST_SENSORS_I2C
17126b2ec2eSNikita Yushchenko	help
17226b2ec2eSNikita Yushchenko	  Build support for STMicroelectronics magnetometers I2C interface.
17326b2ec2eSNikita Yushchenko
17426b2ec2eSNikita Yushchenko	  To compile this driver as a module, choose M here. The module
17526b2ec2eSNikita Yushchenko	  will be called st_magn_i2c.
176872e79adSDenis Ciocca
177872e79adSDenis Cioccaconfig IIO_ST_MAGN_SPI_3AXIS
17826b2ec2eSNikita Yushchenko	tristate "STMicroelectronics magnetometers 3-Axis SPI Interface"
17926b2ec2eSNikita Yushchenko	depends on SPI_MASTER && IIO_ST_MAGN_3AXIS
18026b2ec2eSNikita Yushchenko	default SPI_MASTER && IIO_ST_MAGN_3AXIS
18126b2ec2eSNikita Yushchenko	select IIO_ST_SENSORS_SPI
18226b2ec2eSNikita Yushchenko	help
18326b2ec2eSNikita Yushchenko	  Build support for STMicroelectronics magnetometers SPI interface.
18426b2ec2eSNikita Yushchenko
18526b2ec2eSNikita Yushchenko	  To compile this driver as a module, choose M here. The module
18626b2ec2eSNikita Yushchenko	  will be called st_magn_spi.
187872e79adSDenis Ciocca
188106511d2SDixit Parmarconfig INFINEON_TLV493D
189106511d2SDixit Parmar	tristate "Infineon TLV493D Low-Power 3D Magnetic Sensor"
190106511d2SDixit Parmar	depends on I2C
191106511d2SDixit Parmar	select IIO_BUFFER
192106511d2SDixit Parmar	select IIO_TRIGGERED_BUFFER
193106511d2SDixit Parmar	help
194106511d2SDixit Parmar	  Say Y here to add support for the Infineon TLV493D-A1B6 Low-
195106511d2SDixit Parmar	  Power 3D Magnetic Sensor.
196106511d2SDixit Parmar
197106511d2SDixit Parmar	  This driver can also be compiled as a module.
198106511d2SDixit Parmar	  To compile this driver as a module, choose M here: the module
199106511d2SDixit Parmar	  will be called tlv493d.
200106511d2SDixit Parmar
2017247645fSCristina Moraruconfig SENSORS_HMC5843
2027247645fSCristina Moraru	tristate
2037247645fSCristina Moraru	select IIO_BUFFER
2047247645fSCristina Moraru	select IIO_TRIGGERED_BUFFER
2057247645fSCristina Moraru
2067247645fSCristina Moraruconfig SENSORS_HMC5843_I2C
2077247645fSCristina Moraru	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
2087247645fSCristina Moraru	depends on I2C
2097247645fSCristina Moraru	select SENSORS_HMC5843
2107247645fSCristina Moraru	select REGMAP_I2C
2117247645fSCristina Moraru	help
2127247645fSCristina Moraru	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
2137247645fSCristina Moraru	  HMC5883L 3-Axis Magnetometer (digital compass).
2147247645fSCristina Moraru
2157247645fSCristina Moraru	  This driver can also be compiled as a set of modules.
2167247645fSCristina Moraru	  If so, these modules will be created:
2177247645fSCristina Moraru	  - hmc5843_core (core functions)
2187247645fSCristina Moraru	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
2197247645fSCristina Moraru
2207247645fSCristina Moraruconfig SENSORS_HMC5843_SPI
2217247645fSCristina Moraru	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
2227247645fSCristina Moraru	depends on SPI_MASTER
2237247645fSCristina Moraru	select SENSORS_HMC5843
2247247645fSCristina Moraru	select REGMAP_SPI
2257247645fSCristina Moraru	help
2267247645fSCristina Moraru	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
2277247645fSCristina Moraru	  (digital compass).
2287247645fSCristina Moraru
2297247645fSCristina Moraru	  This driver can also be compiled as a set of modules.
2307247645fSCristina Moraru	  If so, these modules will be created:
2317247645fSCristina Moraru	  - hmc5843_core (core functions)
2327247645fSCristina Moraru	  - hmc5843_spi (support for HMC5983)
2337247645fSCristina Moraru
234121354b2SSong Qiangconfig SENSORS_RM3100
235121354b2SSong Qiang	tristate
236121354b2SSong Qiang	select IIO_BUFFER
237121354b2SSong Qiang	select IIO_TRIGGERED_BUFFER
238121354b2SSong Qiang
239121354b2SSong Qiangconfig SENSORS_RM3100_I2C
240121354b2SSong Qiang	tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
241121354b2SSong Qiang	depends on I2C
242121354b2SSong Qiang	select SENSORS_RM3100
243121354b2SSong Qiang	select REGMAP_I2C
244121354b2SSong Qiang	help
245121354b2SSong Qiang	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
246121354b2SSong Qiang
247121354b2SSong Qiang	  This driver can also be compiled as a module.
248121354b2SSong Qiang	  To compile this driver as a module, choose M here: the module
249121354b2SSong Qiang	  will be called rm3100-i2c.
250121354b2SSong Qiang
251121354b2SSong Qiangconfig SENSORS_RM3100_SPI
252121354b2SSong Qiang	tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
253121354b2SSong Qiang	depends on SPI_MASTER
254121354b2SSong Qiang	select SENSORS_RM3100
255121354b2SSong Qiang	select REGMAP_SPI
256121354b2SSong Qiang	help
257121354b2SSong Qiang	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
258121354b2SSong Qiang
259121354b2SSong Qiang	  This driver can also be compiled as a module.
260121354b2SSong Qiang	  To compile this driver as a module, choose M here: the module
261121354b2SSong Qiang	  will be called rm3100-spi.
262121354b2SSong Qiang
26315dbaed4SAntoni Pokusinskiconfig SI7210
26415dbaed4SAntoni Pokusinski	tristate "SI7210 Hall effect sensor"
26515dbaed4SAntoni Pokusinski	depends on I2C
26615dbaed4SAntoni Pokusinski	select REGMAP_I2C
26715dbaed4SAntoni Pokusinski	help
26815dbaed4SAntoni Pokusinski	  Say Y here to add support for the SI7210 Hall effect sensor.
26915dbaed4SAntoni Pokusinski
27015dbaed4SAntoni Pokusinski	  This driver can also be compiled as a module.
27115dbaed4SAntoni Pokusinski	  To compile this driver as a module, choose M here: the module
27215dbaed4SAntoni Pokusinski	  will be called si7210.
27315dbaed4SAntoni Pokusinski
274866a1389SGerald Loackerconfig TI_TMAG5273
275866a1389SGerald Loacker	tristate "TI TMAG5273 Low-Power Linear 3D Hall-Effect Sensor"
276866a1389SGerald Loacker	depends on I2C
277866a1389SGerald Loacker	select REGMAP_I2C
278866a1389SGerald Loacker	help
279866a1389SGerald Loacker	  Say Y here to add support for the TI TMAG5273 Low-Power
280866a1389SGerald Loacker	  Linear 3D Hall-Effect Sensor.
281866a1389SGerald Loacker
282866a1389SGerald Loacker	  This driver can also be compiled as a module.
283866a1389SGerald Loacker	  To compile this driver as a module, choose M here: the module
284866a1389SGerald Loacker	  will be called tmag5273.
285866a1389SGerald Loacker
286de8860b1SLinus Walleijconfig YAMAHA_YAS530
287de8860b1SLinus Walleij	tristate "Yamaha YAS530 family of 3-Axis Magnetometers (I2C)"
288de8860b1SLinus Walleij	depends on I2C
289de8860b1SLinus Walleij	select REGMAP_I2C
290de8860b1SLinus Walleij	select IIO_BUFFER
291de8860b1SLinus Walleij	select IIO_TRIGGERED_BUFFER
292de8860b1SLinus Walleij	help
293de8860b1SLinus Walleij	  Say Y here to add support for the Yamaha YAS530 series of
29465f79b50SJakob Hauser	  3-Axis Magnetometers. YAS530, YAS532, YAS533 and YAS537 are
29565f79b50SJakob Hauser	  supported.
296de8860b1SLinus Walleij
297de8860b1SLinus Walleij	  This driver can also be compiled as a module.
298de8860b1SLinus Walleij	  To compile this driver as a module, choose M here: the module
299de8860b1SLinus Walleij	  will be called yamaha-yas.
300de8860b1SLinus Walleij
301bc1d57baSsrinivas pandruvadaendmenu
302