xref: /linux/drivers/iio/magnetometer/Kconfig (revision 7362b5b493102c6b71827c2da22117b475528f6d)
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
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
176*106511d2SDixit Parmarconfig INFINEON_TLV493D
177*106511d2SDixit Parmar	tristate "Infineon TLV493D Low-Power 3D Magnetic Sensor"
178*106511d2SDixit Parmar	depends on I2C
179*106511d2SDixit Parmar	select IIO_BUFFER
180*106511d2SDixit Parmar	select IIO_TRIGGERED_BUFFER
181*106511d2SDixit Parmar	help
182*106511d2SDixit Parmar	  Say Y here to add support for the Infineon TLV493D-A1B6 Low-
183*106511d2SDixit Parmar	  Power 3D Magnetic Sensor.
184*106511d2SDixit Parmar
185*106511d2SDixit Parmar	  This driver can also be compiled as a module.
186*106511d2SDixit Parmar	  To compile this driver as a module, choose M here: the module
187*106511d2SDixit Parmar	  will be called tlv493d.
188*106511d2SDixit Parmar
1897247645fSCristina Moraruconfig SENSORS_HMC5843
1907247645fSCristina Moraru	tristate
1917247645fSCristina Moraru	select IIO_BUFFER
1927247645fSCristina Moraru	select IIO_TRIGGERED_BUFFER
1937247645fSCristina Moraru
1947247645fSCristina Moraruconfig SENSORS_HMC5843_I2C
1957247645fSCristina Moraru	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
1967247645fSCristina Moraru	depends on I2C
1977247645fSCristina Moraru	select SENSORS_HMC5843
1987247645fSCristina Moraru	select REGMAP_I2C
1997247645fSCristina Moraru	help
2007247645fSCristina Moraru	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
2017247645fSCristina Moraru	  HMC5883L 3-Axis Magnetometer (digital compass).
2027247645fSCristina Moraru
2037247645fSCristina Moraru	  This driver can also be compiled as a set of modules.
2047247645fSCristina Moraru	  If so, these modules will be created:
2057247645fSCristina Moraru	  - hmc5843_core (core functions)
2067247645fSCristina Moraru	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
2077247645fSCristina Moraru
2087247645fSCristina Moraruconfig SENSORS_HMC5843_SPI
2097247645fSCristina Moraru	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
2107247645fSCristina Moraru	depends on SPI_MASTER
2117247645fSCristina Moraru	select SENSORS_HMC5843
2127247645fSCristina Moraru	select REGMAP_SPI
2137247645fSCristina Moraru	help
2147247645fSCristina Moraru	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
2157247645fSCristina Moraru	  (digital compass).
2167247645fSCristina Moraru
2177247645fSCristina Moraru	  This driver can also be compiled as a set of modules.
2187247645fSCristina Moraru	  If so, these modules will be created:
2197247645fSCristina Moraru	  - hmc5843_core (core functions)
2207247645fSCristina Moraru	  - hmc5843_spi (support for HMC5983)
2217247645fSCristina Moraru
222121354b2SSong Qiangconfig SENSORS_RM3100
223121354b2SSong Qiang	tristate
224121354b2SSong Qiang	select IIO_BUFFER
225121354b2SSong Qiang	select IIO_TRIGGERED_BUFFER
226121354b2SSong Qiang
227121354b2SSong Qiangconfig SENSORS_RM3100_I2C
228121354b2SSong Qiang	tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
229121354b2SSong Qiang	depends on I2C
230121354b2SSong Qiang	select SENSORS_RM3100
231121354b2SSong Qiang	select REGMAP_I2C
232121354b2SSong Qiang	help
233121354b2SSong Qiang	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
234121354b2SSong Qiang
235121354b2SSong Qiang	  This driver can also be compiled as a module.
236121354b2SSong Qiang	  To compile this driver as a module, choose M here: the module
237121354b2SSong Qiang	  will be called rm3100-i2c.
238121354b2SSong Qiang
239121354b2SSong Qiangconfig SENSORS_RM3100_SPI
240121354b2SSong Qiang	tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
241121354b2SSong Qiang	depends on SPI_MASTER
242121354b2SSong Qiang	select SENSORS_RM3100
243121354b2SSong Qiang	select REGMAP_SPI
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-spi.
250121354b2SSong Qiang
25115dbaed4SAntoni Pokusinskiconfig SI7210
25215dbaed4SAntoni Pokusinski	tristate "SI7210 Hall effect sensor"
25315dbaed4SAntoni Pokusinski	depends on I2C
25415dbaed4SAntoni Pokusinski	select REGMAP_I2C
25515dbaed4SAntoni Pokusinski	help
25615dbaed4SAntoni Pokusinski	  Say Y here to add support for the SI7210 Hall effect sensor.
25715dbaed4SAntoni Pokusinski
25815dbaed4SAntoni Pokusinski	  This driver can also be compiled as a module.
25915dbaed4SAntoni Pokusinski	  To compile this driver as a module, choose M here: the module
26015dbaed4SAntoni Pokusinski	  will be called si7210.
26115dbaed4SAntoni Pokusinski
262866a1389SGerald Loackerconfig TI_TMAG5273
263866a1389SGerald Loacker	tristate "TI TMAG5273 Low-Power Linear 3D Hall-Effect Sensor"
264866a1389SGerald Loacker	depends on I2C
265866a1389SGerald Loacker	select REGMAP_I2C
266866a1389SGerald Loacker	help
267866a1389SGerald Loacker	  Say Y here to add support for the TI TMAG5273 Low-Power
268866a1389SGerald Loacker	  Linear 3D Hall-Effect Sensor.
269866a1389SGerald Loacker
270866a1389SGerald Loacker	  This driver can also be compiled as a module.
271866a1389SGerald Loacker	  To compile this driver as a module, choose M here: the module
272866a1389SGerald Loacker	  will be called tmag5273.
273866a1389SGerald Loacker
274de8860b1SLinus Walleijconfig YAMAHA_YAS530
275de8860b1SLinus Walleij	tristate "Yamaha YAS530 family of 3-Axis Magnetometers (I2C)"
276de8860b1SLinus Walleij	depends on I2C
277de8860b1SLinus Walleij	select REGMAP_I2C
278de8860b1SLinus Walleij	select IIO_BUFFER
279de8860b1SLinus Walleij	select IIO_TRIGGERED_BUFFER
280de8860b1SLinus Walleij	help
281de8860b1SLinus Walleij	  Say Y here to add support for the Yamaha YAS530 series of
28265f79b50SJakob Hauser	  3-Axis Magnetometers. YAS530, YAS532, YAS533 and YAS537 are
28365f79b50SJakob Hauser	  supported.
284de8860b1SLinus Walleij
285de8860b1SLinus Walleij	  This driver can also be compiled as a module.
286de8860b1SLinus Walleij	  To compile this driver as a module, choose M here: the module
287de8860b1SLinus Walleij	  will be called yamaha-yas.
288de8860b1SLinus Walleij
289bc1d57baSsrinivas pandruvadaendmenu
290