xref: /openbmc/linux/drivers/iio/magnetometer/Kconfig (revision 26b2ec2e)
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,
3176e28aa9SMatt 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_TRIGGERED_BUFFER if (IIO_BUFFER)
121872e79adSDenis Ciocca	help
122872e79adSDenis Ciocca	  Say yes here to build support for STMicroelectronics magnetometers:
123872e79adSDenis Ciocca	  LSM303DLHC, LSM303DLM, LIS3MDL.
124872e79adSDenis Ciocca
125*26b2ec2eSNikita Yushchenko	  Also need to enable at least one of I2C and SPI interface drivers
126*26b2ec2eSNikita Yushchenko	  below.
127872e79adSDenis Ciocca
128872e79adSDenis Cioccaconfig IIO_ST_MAGN_I2C_3AXIS
129*26b2ec2eSNikita Yushchenko	tristate "STMicroelectronics magnetometers 3-Axis I2C Interface"
130*26b2ec2eSNikita Yushchenko	depends on I2C && IIO_ST_MAGN_3AXIS
131*26b2ec2eSNikita Yushchenko	default I2C && IIO_ST_MAGN_3AXIS
132*26b2ec2eSNikita Yushchenko	select IIO_ST_SENSORS_I2C
133*26b2ec2eSNikita Yushchenko	help
134*26b2ec2eSNikita Yushchenko	  Build support for STMicroelectronics magnetometers I2C interface.
135*26b2ec2eSNikita Yushchenko
136*26b2ec2eSNikita Yushchenko	  To compile this driver as a module, choose M here. The module
137*26b2ec2eSNikita Yushchenko	  will be called st_magn_i2c.
138872e79adSDenis Ciocca
139872e79adSDenis Cioccaconfig IIO_ST_MAGN_SPI_3AXIS
140*26b2ec2eSNikita Yushchenko	tristate "STMicroelectronics magnetometers 3-Axis SPI Interface"
141*26b2ec2eSNikita Yushchenko	depends on SPI_MASTER && IIO_ST_MAGN_3AXIS
142*26b2ec2eSNikita Yushchenko	default SPI_MASTER && IIO_ST_MAGN_3AXIS
143*26b2ec2eSNikita Yushchenko	select IIO_ST_SENSORS_SPI
144*26b2ec2eSNikita Yushchenko	help
145*26b2ec2eSNikita Yushchenko	  Build support for STMicroelectronics magnetometers SPI interface.
146*26b2ec2eSNikita Yushchenko
147*26b2ec2eSNikita Yushchenko	  To compile this driver as a module, choose M here. The module
148*26b2ec2eSNikita Yushchenko	  will be called st_magn_spi.
149872e79adSDenis Ciocca
1507247645fSCristina Moraruconfig SENSORS_HMC5843
1517247645fSCristina Moraru	tristate
1527247645fSCristina Moraru	select IIO_BUFFER
1537247645fSCristina Moraru	select IIO_TRIGGERED_BUFFER
1547247645fSCristina Moraru
1557247645fSCristina Moraruconfig SENSORS_HMC5843_I2C
1567247645fSCristina Moraru	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
1577247645fSCristina Moraru	depends on I2C
1587247645fSCristina Moraru	select SENSORS_HMC5843
1597247645fSCristina Moraru	select REGMAP_I2C
1607247645fSCristina Moraru	help
1617247645fSCristina Moraru	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
1627247645fSCristina Moraru	  HMC5883L 3-Axis Magnetometer (digital compass).
1637247645fSCristina Moraru
1647247645fSCristina Moraru	  This driver can also be compiled as a set of modules.
1657247645fSCristina Moraru	  If so, these modules will be created:
1667247645fSCristina Moraru	  - hmc5843_core (core functions)
1677247645fSCristina Moraru	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
1687247645fSCristina Moraru
1697247645fSCristina Moraruconfig SENSORS_HMC5843_SPI
1707247645fSCristina Moraru	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
1717247645fSCristina Moraru	depends on SPI_MASTER
1727247645fSCristina Moraru	select SENSORS_HMC5843
1737247645fSCristina Moraru	select REGMAP_SPI
1747247645fSCristina Moraru	help
1757247645fSCristina Moraru	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
1767247645fSCristina Moraru	  (digital compass).
1777247645fSCristina Moraru
1787247645fSCristina Moraru	  This driver can also be compiled as a set of modules.
1797247645fSCristina Moraru	  If so, these modules will be created:
1807247645fSCristina Moraru	  - hmc5843_core (core functions)
1817247645fSCristina Moraru	  - hmc5843_spi (support for HMC5983)
1827247645fSCristina Moraru
183121354b2SSong Qiangconfig SENSORS_RM3100
184121354b2SSong Qiang	tristate
185121354b2SSong Qiang	select IIO_BUFFER
186121354b2SSong Qiang	select IIO_TRIGGERED_BUFFER
187121354b2SSong Qiang
188121354b2SSong Qiangconfig SENSORS_RM3100_I2C
189121354b2SSong Qiang	tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
190121354b2SSong Qiang	depends on I2C
191121354b2SSong Qiang	select SENSORS_RM3100
192121354b2SSong Qiang	select REGMAP_I2C
193121354b2SSong Qiang	help
194121354b2SSong Qiang	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
195121354b2SSong Qiang
196121354b2SSong Qiang	  This driver can also be compiled as a module.
197121354b2SSong Qiang	  To compile this driver as a module, choose M here: the module
198121354b2SSong Qiang	  will be called rm3100-i2c.
199121354b2SSong Qiang
200121354b2SSong Qiangconfig SENSORS_RM3100_SPI
201121354b2SSong Qiang	tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
202121354b2SSong Qiang	depends on SPI_MASTER
203121354b2SSong Qiang	select SENSORS_RM3100
204121354b2SSong Qiang	select REGMAP_SPI
205121354b2SSong Qiang	help
206121354b2SSong Qiang	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
207121354b2SSong Qiang
208121354b2SSong Qiang	  This driver can also be compiled as a module.
209121354b2SSong Qiang	  To compile this driver as a module, choose M here: the module
210121354b2SSong Qiang	  will be called rm3100-spi.
211121354b2SSong Qiang
212de8860b1SLinus Walleijconfig YAMAHA_YAS530
213de8860b1SLinus Walleij	tristate "Yamaha YAS530 family of 3-Axis Magnetometers (I2C)"
214de8860b1SLinus Walleij	depends on I2C
215de8860b1SLinus Walleij	select REGMAP_I2C
216de8860b1SLinus Walleij	select IIO_BUFFER
217de8860b1SLinus Walleij	select IIO_TRIGGERED_BUFFER
218de8860b1SLinus Walleij	help
219de8860b1SLinus Walleij	  Say Y here to add support for the Yamaha YAS530 series of
220de8860b1SLinus Walleij	  3-Axis Magnetometers. Right now YAS530, YAS532 and YAS533 are
221de8860b1SLinus Walleij	  fully supported.
222de8860b1SLinus Walleij
223de8860b1SLinus Walleij	  This driver can also be compiled as a module.
224de8860b1SLinus Walleij	  To compile this driver as a module, choose M here: the module
225de8860b1SLinus Walleij	  will be called yamaha-yas.
226de8860b1SLinus Walleij
227bc1d57baSsrinivas pandruvadaendmenu
228