xref: /openbmc/linux/drivers/iio/magnetometer/Kconfig (revision 721a2a7e)
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
97c94a8b2SLinus Walleijconfig AK8974
107c94a8b2SLinus Walleij	tristate "Asahi Kasei AK8974 3-Axis Magnetometer"
117c94a8b2SLinus Walleij	depends on I2C
127c94a8b2SLinus Walleij	select REGMAP_I2C
137c94a8b2SLinus Walleij	select IIO_BUFFER
147c94a8b2SLinus Walleij	select IIO_TRIGGERED_BUFFER
157c94a8b2SLinus Walleij	help
1621be26fcSMichał Mirosław	  Say yes here to build support for Asahi Kasei AK8974, AMI305 or
1721be26fcSMichał Mirosław	  AMI306 I2C-based 3-axis magnetometer chips.
187c94a8b2SLinus Walleij
197c94a8b2SLinus Walleij	  To compile this driver as a module, choose M here: the module
207c94a8b2SLinus Walleij	  will be called ak8974.
217c94a8b2SLinus Walleij
222fc72cd8SJonathan Cameronconfig AK8975
237c94a8b2SLinus Walleij	tristate "Asahi Kasei AK8975 3-Axis Magnetometer"
242fc72cd8SJonathan Cameron	depends on I2C
2584935853SGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
26bc11ca4aSGregor Boirie	select IIO_BUFFER
27bc11ca4aSGregor Boirie	select IIO_TRIGGERED_BUFFER
282fc72cd8SJonathan Cameron	help
2957e73a42SGwendal Grignou	  Say yes here to build support for Asahi Kasei AK8975, AK8963,
3076e28aa9SMatt Ranostay	  AK09911, AK09912 or AK09916 3-Axis Magnetometer.
312fc72cd8SJonathan Cameron
322fc72cd8SJonathan Cameron	  To compile this driver as a module, choose M here: the module
332fc72cd8SJonathan Cameron	  will be called ak8975.
342fc72cd8SJonathan Cameron
35d14c0f10SSrinivas Pandruvadaconfig AK09911
36d14c0f10SSrinivas Pandruvada	tristate "Asahi Kasei AK09911 3-axis Compass"
3736086889SArnd Bergmann	depends on I2C
3884935853SGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
3957e73a42SGwendal Grignou	select AK8975
40d14c0f10SSrinivas Pandruvada	help
4157e73a42SGwendal Grignou	  Deprecated: AK09911 is now supported by AK8975 driver.
42d14c0f10SSrinivas Pandruvada
432427d22dSHartmut Knaackconfig BMC150_MAGN
44761b7910SDaniel Baluta	tristate
452427d22dSHartmut Knaack	select IIO_BUFFER
462427d22dSHartmut Knaack	select IIO_TRIGGERED_BUFFER
472427d22dSHartmut Knaack
48761b7910SDaniel Balutaconfig BMC150_MAGN_I2C
49761b7910SDaniel Baluta	tristate "Bosch BMC150 I2C Magnetometer Driver"
50761b7910SDaniel Baluta	depends on I2C
51761b7910SDaniel Baluta	select BMC150_MAGN
52761b7910SDaniel Baluta	select REGMAP_I2C
53761b7910SDaniel Baluta	help
54761b7910SDaniel Baluta	  Say yes here to build support for the BMC150 magnetometer with
55761b7910SDaniel Baluta	  I2C interface.
562427d22dSHartmut Knaack
572427d22dSHartmut Knaack	  This is a combo module with both accelerometer and magnetometer.
582427d22dSHartmut Knaack	  This driver is only implementing magnetometer part, which has
592427d22dSHartmut Knaack	  its own address and register map.
602427d22dSHartmut Knaack
610aea7ac8SDaniel Baluta	  This driver also supports I2C Bosch BMC156 and BMM150 chips.
622427d22dSHartmut Knaack	  To compile this driver as a module, choose M here: the module will be
63761b7910SDaniel Baluta	  called bmc150_magn_i2c.
642427d22dSHartmut Knaack
65534536acSDaniel Balutaconfig BMC150_MAGN_SPI
66534536acSDaniel Baluta	tristate "Bosch BMC150 SPI Magnetometer Driver"
67534536acSDaniel Baluta	depends on SPI
68534536acSDaniel Baluta	select BMC150_MAGN
69534536acSDaniel Baluta	select REGMAP_SPI
70534536acSDaniel Baluta	help
71534536acSDaniel Baluta	  Say yes here to build support for the BMC150 magnetometer with
72534536acSDaniel Baluta	  SPI interface.
73534536acSDaniel Baluta
74534536acSDaniel Baluta	  This is a combo module with both accelerometer and magnetometer.
75534536acSDaniel Baluta	  This driver is only implementing magnetometer part, which has
76534536acSDaniel Baluta	  its own address and register map.
77534536acSDaniel Baluta
780aea7ac8SDaniel Baluta	  This driver also supports SPI Bosch BMC156 and BMM150 chips.
79534536acSDaniel Baluta	  To compile this driver as a module, choose M here: the module will be
80534536acSDaniel Baluta	  called bmc150_magn_spi.
81534536acSDaniel Baluta
8239631b5fSPeter Meerwaldconfig MAG3110
8339631b5fSPeter Meerwald	tristate "Freescale MAG3110 3-Axis Magnetometer"
8439631b5fSPeter Meerwald	depends on I2C
8550619cb1SPeter Meerwald	select IIO_BUFFER
8650619cb1SPeter Meerwald	select IIO_TRIGGERED_BUFFER
8739631b5fSPeter Meerwald	help
8839631b5fSPeter Meerwald	  Say yes here to build support for the Freescale MAG3110 3-Axis
8939631b5fSPeter Meerwald	  magnetometer.
9039631b5fSPeter Meerwald
9139631b5fSPeter Meerwald	  To compile this driver as a module, choose M here: the module
9239631b5fSPeter Meerwald	  will be called mag3110.
9339631b5fSPeter Meerwald
94bc1d57baSsrinivas pandruvadaconfig HID_SENSOR_MAGNETOMETER_3D
95bc1d57baSsrinivas pandruvada	depends on HID_SENSOR_HUB
96bc1d57baSsrinivas pandruvada	select IIO_BUFFER
97bc1d57baSsrinivas pandruvada	select HID_SENSOR_IIO_COMMON
989541cc39SAlexander Holler	select HID_SENSOR_IIO_TRIGGER
99bc1d57baSsrinivas pandruvada	tristate "HID Magenetometer 3D"
100bc1d57baSsrinivas pandruvada	help
101bc1d57baSsrinivas pandruvada	  Say yes here to build support for the HID SENSOR
102bc1d57baSsrinivas pandruvada	  Magnetometer 3D.
103bc1d57baSsrinivas pandruvada
104abeb6b1eSDaniel Balutaconfig MMC35240
105abeb6b1eSDaniel Baluta	tristate "MEMSIC MMC35240 3-axis magnetic sensor"
106abeb6b1eSDaniel Baluta	select REGMAP_I2C
107abeb6b1eSDaniel Baluta	depends on I2C
108abeb6b1eSDaniel Baluta	help
109abeb6b1eSDaniel Baluta	  Say yes here to build support for the MEMSIC MMC35240 3-axis
110abeb6b1eSDaniel Baluta	  magnetic sensor.
111abeb6b1eSDaniel Baluta
112abeb6b1eSDaniel Baluta	  To compile this driver as a module, choose M here: the module
113abeb6b1eSDaniel Baluta	  will be called mmc35240.
114abeb6b1eSDaniel Baluta
115872e79adSDenis Cioccaconfig IIO_ST_MAGN_3AXIS
116872e79adSDenis Ciocca	tristate "STMicroelectronics magnetometers 3-Axis Driver"
117872e79adSDenis Ciocca	depends on (I2C || SPI_MASTER) && SYSFS
118872e79adSDenis Ciocca	select IIO_ST_SENSORS_CORE
119872e79adSDenis Ciocca	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
120872e79adSDenis Ciocca	help
121872e79adSDenis Ciocca	  Say yes here to build support for STMicroelectronics magnetometers:
122*721a2a7eSStephan Gerhold	  LSM303C, LSM303DLHC, LSM303DLM, LIS3MDL.
123872e79adSDenis Ciocca
12426b2ec2eSNikita Yushchenko	  Also need to enable at least one of I2C and SPI interface drivers
12526b2ec2eSNikita Yushchenko	  below.
126872e79adSDenis Ciocca
127872e79adSDenis Cioccaconfig IIO_ST_MAGN_I2C_3AXIS
12826b2ec2eSNikita Yushchenko	tristate "STMicroelectronics magnetometers 3-Axis I2C Interface"
12926b2ec2eSNikita Yushchenko	depends on I2C && IIO_ST_MAGN_3AXIS
13026b2ec2eSNikita Yushchenko	default I2C && IIO_ST_MAGN_3AXIS
13126b2ec2eSNikita Yushchenko	select IIO_ST_SENSORS_I2C
13226b2ec2eSNikita Yushchenko	help
13326b2ec2eSNikita Yushchenko	  Build support for STMicroelectronics magnetometers I2C interface.
13426b2ec2eSNikita Yushchenko
13526b2ec2eSNikita Yushchenko	  To compile this driver as a module, choose M here. The module
13626b2ec2eSNikita Yushchenko	  will be called st_magn_i2c.
137872e79adSDenis Ciocca
138872e79adSDenis Cioccaconfig IIO_ST_MAGN_SPI_3AXIS
13926b2ec2eSNikita Yushchenko	tristate "STMicroelectronics magnetometers 3-Axis SPI Interface"
14026b2ec2eSNikita Yushchenko	depends on SPI_MASTER && IIO_ST_MAGN_3AXIS
14126b2ec2eSNikita Yushchenko	default SPI_MASTER && IIO_ST_MAGN_3AXIS
14226b2ec2eSNikita Yushchenko	select IIO_ST_SENSORS_SPI
14326b2ec2eSNikita Yushchenko	help
14426b2ec2eSNikita Yushchenko	  Build support for STMicroelectronics magnetometers SPI interface.
14526b2ec2eSNikita Yushchenko
14626b2ec2eSNikita Yushchenko	  To compile this driver as a module, choose M here. The module
14726b2ec2eSNikita Yushchenko	  will be called st_magn_spi.
148872e79adSDenis Ciocca
1497247645fSCristina Moraruconfig SENSORS_HMC5843
1507247645fSCristina Moraru	tristate
1517247645fSCristina Moraru	select IIO_BUFFER
1527247645fSCristina Moraru	select IIO_TRIGGERED_BUFFER
1537247645fSCristina Moraru
1547247645fSCristina Moraruconfig SENSORS_HMC5843_I2C
1557247645fSCristina Moraru	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
1567247645fSCristina Moraru	depends on I2C
1577247645fSCristina Moraru	select SENSORS_HMC5843
1587247645fSCristina Moraru	select REGMAP_I2C
1597247645fSCristina Moraru	help
1607247645fSCristina Moraru	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
1617247645fSCristina Moraru	  HMC5883L 3-Axis Magnetometer (digital compass).
1627247645fSCristina Moraru
1637247645fSCristina Moraru	  This driver can also be compiled as a set of modules.
1647247645fSCristina Moraru	  If so, these modules will be created:
1657247645fSCristina Moraru	  - hmc5843_core (core functions)
1667247645fSCristina Moraru	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
1677247645fSCristina Moraru
1687247645fSCristina Moraruconfig SENSORS_HMC5843_SPI
1697247645fSCristina Moraru	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
1707247645fSCristina Moraru	depends on SPI_MASTER
1717247645fSCristina Moraru	select SENSORS_HMC5843
1727247645fSCristina Moraru	select REGMAP_SPI
1737247645fSCristina Moraru	help
1747247645fSCristina Moraru	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
1757247645fSCristina Moraru	  (digital compass).
1767247645fSCristina Moraru
1777247645fSCristina Moraru	  This driver can also be compiled as a set of modules.
1787247645fSCristina Moraru	  If so, these modules will be created:
1797247645fSCristina Moraru	  - hmc5843_core (core functions)
1807247645fSCristina Moraru	  - hmc5843_spi (support for HMC5983)
1817247645fSCristina Moraru
182121354b2SSong Qiangconfig SENSORS_RM3100
183121354b2SSong Qiang	tristate
184121354b2SSong Qiang	select IIO_BUFFER
185121354b2SSong Qiang	select IIO_TRIGGERED_BUFFER
186121354b2SSong Qiang
187121354b2SSong Qiangconfig SENSORS_RM3100_I2C
188121354b2SSong Qiang	tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
189121354b2SSong Qiang	depends on I2C
190121354b2SSong Qiang	select SENSORS_RM3100
191121354b2SSong Qiang	select REGMAP_I2C
192121354b2SSong Qiang	help
193121354b2SSong Qiang	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
194121354b2SSong Qiang
195121354b2SSong Qiang	  This driver can also be compiled as a module.
196121354b2SSong Qiang	  To compile this driver as a module, choose M here: the module
197121354b2SSong Qiang	  will be called rm3100-i2c.
198121354b2SSong Qiang
199121354b2SSong Qiangconfig SENSORS_RM3100_SPI
200121354b2SSong Qiang	tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
201121354b2SSong Qiang	depends on SPI_MASTER
202121354b2SSong Qiang	select SENSORS_RM3100
203121354b2SSong Qiang	select REGMAP_SPI
204121354b2SSong Qiang	help
205121354b2SSong Qiang	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
206121354b2SSong Qiang
207121354b2SSong Qiang	  This driver can also be compiled as a module.
208121354b2SSong Qiang	  To compile this driver as a module, choose M here: the module
209121354b2SSong Qiang	  will be called rm3100-spi.
210121354b2SSong Qiang
211866a1389SGerald Loackerconfig TI_TMAG5273
212866a1389SGerald Loacker	tristate "TI TMAG5273 Low-Power Linear 3D Hall-Effect Sensor"
213866a1389SGerald Loacker	depends on I2C
214866a1389SGerald Loacker	select REGMAP_I2C
215866a1389SGerald Loacker	help
216866a1389SGerald Loacker	  Say Y here to add support for the TI TMAG5273 Low-Power
217866a1389SGerald Loacker	  Linear 3D Hall-Effect Sensor.
218866a1389SGerald Loacker
219866a1389SGerald Loacker	  This driver can also be compiled as a module.
220866a1389SGerald Loacker	  To compile this driver as a module, choose M here: the module
221866a1389SGerald Loacker	  will be called tmag5273.
222866a1389SGerald Loacker
223de8860b1SLinus Walleijconfig YAMAHA_YAS530
224de8860b1SLinus Walleij	tristate "Yamaha YAS530 family of 3-Axis Magnetometers (I2C)"
225de8860b1SLinus Walleij	depends on I2C
226de8860b1SLinus Walleij	select REGMAP_I2C
227de8860b1SLinus Walleij	select IIO_BUFFER
228de8860b1SLinus Walleij	select IIO_TRIGGERED_BUFFER
229de8860b1SLinus Walleij	help
230de8860b1SLinus Walleij	  Say Y here to add support for the Yamaha YAS530 series of
23165f79b50SJakob Hauser	  3-Axis Magnetometers. YAS530, YAS532, YAS533 and YAS537 are
23265f79b50SJakob Hauser	  supported.
233de8860b1SLinus Walleij
234de8860b1SLinus Walleij	  This driver can also be compiled as a module.
235de8860b1SLinus Walleij	  To compile this driver as a module, choose M here: the module
236de8860b1SLinus Walleij	  will be called yamaha-yas.
237de8860b1SLinus Walleij
238bc1d57baSsrinivas pandruvadaendmenu
239