xref: /openbmc/linux/drivers/iio/magnetometer/Kconfig (revision de8860b1)
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	depends on OF
137c94a8b2SLinus Walleij	select REGMAP_I2C
147c94a8b2SLinus Walleij	select IIO_BUFFER
157c94a8b2SLinus Walleij	select IIO_TRIGGERED_BUFFER
167c94a8b2SLinus Walleij	help
1721be26fcSMichał Mirosław	  Say yes here to build support for Asahi Kasei AK8974, AMI305 or
1821be26fcSMichał Mirosław	  AMI306 I2C-based 3-axis magnetometer chips.
197c94a8b2SLinus Walleij
207c94a8b2SLinus Walleij	  To compile this driver as a module, choose M here: the module
217c94a8b2SLinus Walleij	  will be called ak8974.
227c94a8b2SLinus Walleij
232fc72cd8SJonathan Cameronconfig AK8975
247c94a8b2SLinus Walleij	tristate "Asahi Kasei AK8975 3-Axis Magnetometer"
252fc72cd8SJonathan Cameron	depends on I2C
2684935853SGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
27bc11ca4aSGregor Boirie	select IIO_BUFFER
28bc11ca4aSGregor Boirie	select IIO_TRIGGERED_BUFFER
292fc72cd8SJonathan Cameron	help
3057e73a42SGwendal Grignou	  Say yes here to build support for Asahi Kasei AK8975, AK8963,
3157e73a42SGwendal Grignou	  AK09911 or AK09912 3-Axis Magnetometer.
322fc72cd8SJonathan Cameron
332fc72cd8SJonathan Cameron	  To compile this driver as a module, choose M here: the module
342fc72cd8SJonathan Cameron	  will be called ak8975.
352fc72cd8SJonathan Cameron
36d14c0f10SSrinivas Pandruvadaconfig AK09911
37d14c0f10SSrinivas Pandruvada	tristate "Asahi Kasei AK09911 3-axis Compass"
3836086889SArnd Bergmann	depends on I2C
3984935853SGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
4057e73a42SGwendal Grignou	select AK8975
41d14c0f10SSrinivas Pandruvada	help
4257e73a42SGwendal Grignou	  Deprecated: AK09911 is now supported by AK8975 driver.
43d14c0f10SSrinivas Pandruvada
442427d22dSHartmut Knaackconfig BMC150_MAGN
45761b7910SDaniel Baluta	tristate
462427d22dSHartmut Knaack	select IIO_BUFFER
472427d22dSHartmut Knaack	select IIO_TRIGGERED_BUFFER
482427d22dSHartmut Knaack
49761b7910SDaniel Balutaconfig BMC150_MAGN_I2C
50761b7910SDaniel Baluta	tristate "Bosch BMC150 I2C Magnetometer Driver"
51761b7910SDaniel Baluta	depends on I2C
52761b7910SDaniel Baluta	select BMC150_MAGN
53761b7910SDaniel Baluta	select REGMAP_I2C
54761b7910SDaniel Baluta	help
55761b7910SDaniel Baluta	  Say yes here to build support for the BMC150 magnetometer with
56761b7910SDaniel Baluta	  I2C interface.
572427d22dSHartmut Knaack
582427d22dSHartmut Knaack	  This is a combo module with both accelerometer and magnetometer.
592427d22dSHartmut Knaack	  This driver is only implementing magnetometer part, which has
602427d22dSHartmut Knaack	  its own address and register map.
612427d22dSHartmut Knaack
620aea7ac8SDaniel Baluta	  This driver also supports I2C Bosch BMC156 and BMM150 chips.
632427d22dSHartmut Knaack	  To compile this driver as a module, choose M here: the module will be
64761b7910SDaniel Baluta	  called bmc150_magn_i2c.
652427d22dSHartmut Knaack
66534536acSDaniel Balutaconfig BMC150_MAGN_SPI
67534536acSDaniel Baluta	tristate "Bosch BMC150 SPI Magnetometer Driver"
68534536acSDaniel Baluta	depends on SPI
69534536acSDaniel Baluta	select BMC150_MAGN
70534536acSDaniel Baluta	select REGMAP_SPI
71534536acSDaniel Baluta	help
72534536acSDaniel Baluta	  Say yes here to build support for the BMC150 magnetometer with
73534536acSDaniel Baluta	  SPI interface.
74534536acSDaniel Baluta
75534536acSDaniel Baluta	  This is a combo module with both accelerometer and magnetometer.
76534536acSDaniel Baluta	  This driver is only implementing magnetometer part, which has
77534536acSDaniel Baluta	  its own address and register map.
78534536acSDaniel Baluta
790aea7ac8SDaniel Baluta	  This driver also supports SPI Bosch BMC156 and BMM150 chips.
80534536acSDaniel Baluta	  To compile this driver as a module, choose M here: the module will be
81534536acSDaniel Baluta	  called bmc150_magn_spi.
82534536acSDaniel Baluta
8339631b5fSPeter Meerwaldconfig MAG3110
8439631b5fSPeter Meerwald	tristate "Freescale MAG3110 3-Axis Magnetometer"
8539631b5fSPeter Meerwald	depends on I2C
8650619cb1SPeter Meerwald	select IIO_BUFFER
8750619cb1SPeter Meerwald	select IIO_TRIGGERED_BUFFER
8839631b5fSPeter Meerwald	help
8939631b5fSPeter Meerwald	  Say yes here to build support for the Freescale MAG3110 3-Axis
9039631b5fSPeter Meerwald	  magnetometer.
9139631b5fSPeter Meerwald
9239631b5fSPeter Meerwald	  To compile this driver as a module, choose M here: the module
9339631b5fSPeter Meerwald	  will be called mag3110.
9439631b5fSPeter Meerwald
95bc1d57baSsrinivas pandruvadaconfig HID_SENSOR_MAGNETOMETER_3D
96bc1d57baSsrinivas pandruvada	depends on HID_SENSOR_HUB
97bc1d57baSsrinivas pandruvada	select IIO_BUFFER
98bc1d57baSsrinivas pandruvada	select IIO_TRIGGERED_BUFFER
99bc1d57baSsrinivas pandruvada	select HID_SENSOR_IIO_COMMON
1009541cc39SAlexander Holler	select HID_SENSOR_IIO_TRIGGER
101bc1d57baSsrinivas pandruvada	tristate "HID Magenetometer 3D"
102bc1d57baSsrinivas pandruvada	help
103bc1d57baSsrinivas pandruvada	  Say yes here to build support for the HID SENSOR
104bc1d57baSsrinivas pandruvada	  Magnetometer 3D.
105bc1d57baSsrinivas pandruvada
106abeb6b1eSDaniel Balutaconfig MMC35240
107abeb6b1eSDaniel Baluta	tristate "MEMSIC MMC35240 3-axis magnetic sensor"
108abeb6b1eSDaniel Baluta	select REGMAP_I2C
109abeb6b1eSDaniel Baluta	depends on I2C
110abeb6b1eSDaniel Baluta	help
111abeb6b1eSDaniel Baluta	  Say yes here to build support for the MEMSIC MMC35240 3-axis
112abeb6b1eSDaniel Baluta	  magnetic sensor.
113abeb6b1eSDaniel Baluta
114abeb6b1eSDaniel Baluta	  To compile this driver as a module, choose M here: the module
115abeb6b1eSDaniel Baluta	  will be called mmc35240.
116abeb6b1eSDaniel Baluta
117872e79adSDenis Cioccaconfig IIO_ST_MAGN_3AXIS
118872e79adSDenis Ciocca	tristate "STMicroelectronics magnetometers 3-Axis Driver"
119872e79adSDenis Ciocca	depends on (I2C || SPI_MASTER) && SYSFS
120872e79adSDenis Ciocca	select IIO_ST_SENSORS_CORE
121872e79adSDenis Ciocca	select IIO_ST_MAGN_I2C_3AXIS if (I2C)
122872e79adSDenis Ciocca	select IIO_ST_MAGN_SPI_3AXIS if (SPI_MASTER)
123872e79adSDenis Ciocca	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
124872e79adSDenis Ciocca	help
125872e79adSDenis Ciocca	  Say yes here to build support for STMicroelectronics magnetometers:
126872e79adSDenis Ciocca	  LSM303DLHC, LSM303DLM, LIS3MDL.
127872e79adSDenis Ciocca
128341673f1SPeter Meerwald	  This driver can also be built as a module. If so, these modules
129341673f1SPeter Meerwald	  will be created:
130872e79adSDenis Ciocca	  - st_magn (core functions for the driver [it is mandatory]);
131872e79adSDenis Ciocca	  - st_magn_i2c (necessary for the I2C devices [optional*]);
132872e79adSDenis Ciocca	  - st_magn_spi (necessary for the SPI devices [optional*]);
133872e79adSDenis Ciocca
134872e79adSDenis Ciocca	  (*) one of these is necessary to do something.
135872e79adSDenis Ciocca
136872e79adSDenis Cioccaconfig IIO_ST_MAGN_I2C_3AXIS
137872e79adSDenis Ciocca	tristate
138872e79adSDenis Ciocca	depends on IIO_ST_MAGN_3AXIS
139872e79adSDenis Ciocca	depends on IIO_ST_SENSORS_I2C
140872e79adSDenis Ciocca
141872e79adSDenis Cioccaconfig IIO_ST_MAGN_SPI_3AXIS
142872e79adSDenis Ciocca	tristate
143872e79adSDenis Ciocca	depends on IIO_ST_MAGN_3AXIS
144872e79adSDenis Ciocca	depends on IIO_ST_SENSORS_SPI
145872e79adSDenis Ciocca
1467247645fSCristina Moraruconfig SENSORS_HMC5843
1477247645fSCristina Moraru	tristate
1487247645fSCristina Moraru	select IIO_BUFFER
1497247645fSCristina Moraru	select IIO_TRIGGERED_BUFFER
1507247645fSCristina Moraru
1517247645fSCristina Moraruconfig SENSORS_HMC5843_I2C
1527247645fSCristina Moraru	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
1537247645fSCristina Moraru	depends on I2C
1547247645fSCristina Moraru	select SENSORS_HMC5843
1557247645fSCristina Moraru	select REGMAP_I2C
1567247645fSCristina Moraru	help
1577247645fSCristina Moraru	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
1587247645fSCristina Moraru	  HMC5883L 3-Axis Magnetometer (digital compass).
1597247645fSCristina Moraru
1607247645fSCristina Moraru	  This driver can also be compiled as a set of modules.
1617247645fSCristina Moraru	  If so, these modules will be created:
1627247645fSCristina Moraru	  - hmc5843_core (core functions)
1637247645fSCristina Moraru	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
1647247645fSCristina Moraru
1657247645fSCristina Moraruconfig SENSORS_HMC5843_SPI
1667247645fSCristina Moraru	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
1677247645fSCristina Moraru	depends on SPI_MASTER
1687247645fSCristina Moraru	select SENSORS_HMC5843
1697247645fSCristina Moraru	select REGMAP_SPI
1707247645fSCristina Moraru	help
1717247645fSCristina Moraru	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
1727247645fSCristina Moraru	  (digital compass).
1737247645fSCristina Moraru
1747247645fSCristina Moraru	  This driver can also be compiled as a set of modules.
1757247645fSCristina Moraru	  If so, these modules will be created:
1767247645fSCristina Moraru	  - hmc5843_core (core functions)
1777247645fSCristina Moraru	  - hmc5843_spi (support for HMC5983)
1787247645fSCristina Moraru
179121354b2SSong Qiangconfig SENSORS_RM3100
180121354b2SSong Qiang	tristate
181121354b2SSong Qiang	select IIO_BUFFER
182121354b2SSong Qiang	select IIO_TRIGGERED_BUFFER
183121354b2SSong Qiang
184121354b2SSong Qiangconfig SENSORS_RM3100_I2C
185121354b2SSong Qiang	tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
186121354b2SSong Qiang	depends on I2C
187121354b2SSong Qiang	select SENSORS_RM3100
188121354b2SSong Qiang	select REGMAP_I2C
189121354b2SSong Qiang	help
190121354b2SSong Qiang	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
191121354b2SSong Qiang
192121354b2SSong Qiang	  This driver can also be compiled as a module.
193121354b2SSong Qiang	  To compile this driver as a module, choose M here: the module
194121354b2SSong Qiang	  will be called rm3100-i2c.
195121354b2SSong Qiang
196121354b2SSong Qiangconfig SENSORS_RM3100_SPI
197121354b2SSong Qiang	tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
198121354b2SSong Qiang	depends on SPI_MASTER
199121354b2SSong Qiang	select SENSORS_RM3100
200121354b2SSong Qiang	select REGMAP_SPI
201121354b2SSong Qiang	help
202121354b2SSong Qiang	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
203121354b2SSong Qiang
204121354b2SSong Qiang	  This driver can also be compiled as a module.
205121354b2SSong Qiang	  To compile this driver as a module, choose M here: the module
206121354b2SSong Qiang	  will be called rm3100-spi.
207121354b2SSong Qiang
208*de8860b1SLinus Walleijconfig YAMAHA_YAS530
209*de8860b1SLinus Walleij	tristate "Yamaha YAS530 family of 3-Axis Magnetometers (I2C)"
210*de8860b1SLinus Walleij	depends on I2C
211*de8860b1SLinus Walleij	select REGMAP_I2C
212*de8860b1SLinus Walleij	select IIO_BUFFER
213*de8860b1SLinus Walleij	select IIO_TRIGGERED_BUFFER
214*de8860b1SLinus Walleij	help
215*de8860b1SLinus Walleij	  Say Y here to add support for the Yamaha YAS530 series of
216*de8860b1SLinus Walleij	  3-Axis Magnetometers. Right now YAS530, YAS532 and YAS533 are
217*de8860b1SLinus Walleij	  fully supported.
218*de8860b1SLinus Walleij
219*de8860b1SLinus Walleij	  This driver can also be compiled as a module.
220*de8860b1SLinus Walleij	  To compile this driver as a module, choose M here: the module
221*de8860b1SLinus Walleij	  will be called yamaha-yas.
222*de8860b1SLinus Walleij
223bc1d57baSsrinivas pandruvadaendmenu
224