xref: /openbmc/linux/drivers/iio/magnetometer/Kconfig (revision 76e28aa9)
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,
31*76e28aa9SMatt Ranostay	  AK09911, AK09912 or AK09916 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 HID_SENSOR_IIO_COMMON
999541cc39SAlexander Holler	select HID_SENSOR_IIO_TRIGGER
100bc1d57baSsrinivas pandruvada	tristate "HID Magenetometer 3D"
101bc1d57baSsrinivas pandruvada	help
102bc1d57baSsrinivas pandruvada	  Say yes here to build support for the HID SENSOR
103bc1d57baSsrinivas pandruvada	  Magnetometer 3D.
104bc1d57baSsrinivas pandruvada
105abeb6b1eSDaniel Balutaconfig MMC35240
106abeb6b1eSDaniel Baluta	tristate "MEMSIC MMC35240 3-axis magnetic sensor"
107abeb6b1eSDaniel Baluta	select REGMAP_I2C
108abeb6b1eSDaniel Baluta	depends on I2C
109abeb6b1eSDaniel Baluta	help
110abeb6b1eSDaniel Baluta	  Say yes here to build support for the MEMSIC MMC35240 3-axis
111abeb6b1eSDaniel Baluta	  magnetic sensor.
112abeb6b1eSDaniel Baluta
113abeb6b1eSDaniel Baluta	  To compile this driver as a module, choose M here: the module
114abeb6b1eSDaniel Baluta	  will be called mmc35240.
115abeb6b1eSDaniel Baluta
116872e79adSDenis Cioccaconfig IIO_ST_MAGN_3AXIS
117872e79adSDenis Ciocca	tristate "STMicroelectronics magnetometers 3-Axis Driver"
118872e79adSDenis Ciocca	depends on (I2C || SPI_MASTER) && SYSFS
119872e79adSDenis Ciocca	select IIO_ST_SENSORS_CORE
120872e79adSDenis Ciocca	select IIO_ST_MAGN_I2C_3AXIS if (I2C)
121872e79adSDenis Ciocca	select IIO_ST_MAGN_SPI_3AXIS if (SPI_MASTER)
122872e79adSDenis Ciocca	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
123872e79adSDenis Ciocca	help
124872e79adSDenis Ciocca	  Say yes here to build support for STMicroelectronics magnetometers:
125872e79adSDenis Ciocca	  LSM303DLHC, LSM303DLM, LIS3MDL.
126872e79adSDenis Ciocca
127341673f1SPeter Meerwald	  This driver can also be built as a module. If so, these modules
128341673f1SPeter Meerwald	  will be created:
129872e79adSDenis Ciocca	  - st_magn (core functions for the driver [it is mandatory]);
130872e79adSDenis Ciocca	  - st_magn_i2c (necessary for the I2C devices [optional*]);
131872e79adSDenis Ciocca	  - st_magn_spi (necessary for the SPI devices [optional*]);
132872e79adSDenis Ciocca
133872e79adSDenis Ciocca	  (*) one of these is necessary to do something.
134872e79adSDenis Ciocca
135872e79adSDenis Cioccaconfig IIO_ST_MAGN_I2C_3AXIS
136872e79adSDenis Ciocca	tristate
137872e79adSDenis Ciocca	depends on IIO_ST_MAGN_3AXIS
138872e79adSDenis Ciocca	depends on IIO_ST_SENSORS_I2C
139872e79adSDenis Ciocca
140872e79adSDenis Cioccaconfig IIO_ST_MAGN_SPI_3AXIS
141872e79adSDenis Ciocca	tristate
142872e79adSDenis Ciocca	depends on IIO_ST_MAGN_3AXIS
143872e79adSDenis Ciocca	depends on IIO_ST_SENSORS_SPI
144872e79adSDenis Ciocca
1457247645fSCristina Moraruconfig SENSORS_HMC5843
1467247645fSCristina Moraru	tristate
1477247645fSCristina Moraru	select IIO_BUFFER
1487247645fSCristina Moraru	select IIO_TRIGGERED_BUFFER
1497247645fSCristina Moraru
1507247645fSCristina Moraruconfig SENSORS_HMC5843_I2C
1517247645fSCristina Moraru	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
1527247645fSCristina Moraru	depends on I2C
1537247645fSCristina Moraru	select SENSORS_HMC5843
1547247645fSCristina Moraru	select REGMAP_I2C
1557247645fSCristina Moraru	help
1567247645fSCristina Moraru	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
1577247645fSCristina Moraru	  HMC5883L 3-Axis Magnetometer (digital compass).
1587247645fSCristina Moraru
1597247645fSCristina Moraru	  This driver can also be compiled as a set of modules.
1607247645fSCristina Moraru	  If so, these modules will be created:
1617247645fSCristina Moraru	  - hmc5843_core (core functions)
1627247645fSCristina Moraru	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
1637247645fSCristina Moraru
1647247645fSCristina Moraruconfig SENSORS_HMC5843_SPI
1657247645fSCristina Moraru	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
1667247645fSCristina Moraru	depends on SPI_MASTER
1677247645fSCristina Moraru	select SENSORS_HMC5843
1687247645fSCristina Moraru	select REGMAP_SPI
1697247645fSCristina Moraru	help
1707247645fSCristina Moraru	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
1717247645fSCristina Moraru	  (digital compass).
1727247645fSCristina Moraru
1737247645fSCristina Moraru	  This driver can also be compiled as a set of modules.
1747247645fSCristina Moraru	  If so, these modules will be created:
1757247645fSCristina Moraru	  - hmc5843_core (core functions)
1767247645fSCristina Moraru	  - hmc5843_spi (support for HMC5983)
1777247645fSCristina Moraru
178121354b2SSong Qiangconfig SENSORS_RM3100
179121354b2SSong Qiang	tristate
180121354b2SSong Qiang	select IIO_BUFFER
181121354b2SSong Qiang	select IIO_TRIGGERED_BUFFER
182121354b2SSong Qiang
183121354b2SSong Qiangconfig SENSORS_RM3100_I2C
184121354b2SSong Qiang	tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
185121354b2SSong Qiang	depends on I2C
186121354b2SSong Qiang	select SENSORS_RM3100
187121354b2SSong Qiang	select REGMAP_I2C
188121354b2SSong Qiang	help
189121354b2SSong Qiang	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
190121354b2SSong Qiang
191121354b2SSong Qiang	  This driver can also be compiled as a module.
192121354b2SSong Qiang	  To compile this driver as a module, choose M here: the module
193121354b2SSong Qiang	  will be called rm3100-i2c.
194121354b2SSong Qiang
195121354b2SSong Qiangconfig SENSORS_RM3100_SPI
196121354b2SSong Qiang	tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
197121354b2SSong Qiang	depends on SPI_MASTER
198121354b2SSong Qiang	select SENSORS_RM3100
199121354b2SSong Qiang	select REGMAP_SPI
200121354b2SSong Qiang	help
201121354b2SSong Qiang	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
202121354b2SSong Qiang
203121354b2SSong Qiang	  This driver can also be compiled as a module.
204121354b2SSong Qiang	  To compile this driver as a module, choose M here: the module
205121354b2SSong Qiang	  will be called rm3100-spi.
206121354b2SSong Qiang
207de8860b1SLinus Walleijconfig YAMAHA_YAS530
208de8860b1SLinus Walleij	tristate "Yamaha YAS530 family of 3-Axis Magnetometers (I2C)"
209de8860b1SLinus Walleij	depends on I2C
210de8860b1SLinus Walleij	select REGMAP_I2C
211de8860b1SLinus Walleij	select IIO_BUFFER
212de8860b1SLinus Walleij	select IIO_TRIGGERED_BUFFER
213de8860b1SLinus Walleij	help
214de8860b1SLinus Walleij	  Say Y here to add support for the Yamaha YAS530 series of
215de8860b1SLinus Walleij	  3-Axis Magnetometers. Right now YAS530, YAS532 and YAS533 are
216de8860b1SLinus Walleij	  fully supported.
217de8860b1SLinus Walleij
218de8860b1SLinus Walleij	  This driver can also be compiled as a module.
219de8860b1SLinus Walleij	  To compile this driver as a module, choose M here: the module
220de8860b1SLinus Walleij	  will be called yamaha-yas.
221de8860b1SLinus Walleij
222bc1d57baSsrinivas pandruvadaendmenu
223