18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Magnetometer sensors
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci# When adding new entries keep the list in alphabetical order
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cimenu "Magnetometer sensors"
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciconfig AK8974
108c2ecf20Sopenharmony_ci	tristate "Asahi Kasei AK8974 3-Axis Magnetometer"
118c2ecf20Sopenharmony_ci	depends on I2C
128c2ecf20Sopenharmony_ci	depends on OF
138c2ecf20Sopenharmony_ci	select REGMAP_I2C
148c2ecf20Sopenharmony_ci	select IIO_BUFFER
158c2ecf20Sopenharmony_ci	select IIO_TRIGGERED_BUFFER
168c2ecf20Sopenharmony_ci	help
178c2ecf20Sopenharmony_ci	  Say yes here to build support for Asahi Kasei AK8974, AMI305 or
188c2ecf20Sopenharmony_ci	  AMI306 I2C-based 3-axis magnetometer chips.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
218c2ecf20Sopenharmony_ci	  will be called ak8974.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciconfig AK8975
248c2ecf20Sopenharmony_ci	tristate "Asahi Kasei AK8975 3-Axis Magnetometer"
258c2ecf20Sopenharmony_ci	depends on I2C
268c2ecf20Sopenharmony_ci	depends on GPIOLIB || COMPILE_TEST
278c2ecf20Sopenharmony_ci	select IIO_BUFFER
288c2ecf20Sopenharmony_ci	select IIO_TRIGGERED_BUFFER
298c2ecf20Sopenharmony_ci	help
308c2ecf20Sopenharmony_ci	  Say yes here to build support for Asahi Kasei AK8975, AK8963,
318c2ecf20Sopenharmony_ci	  AK09911 or AK09912 3-Axis Magnetometer.
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
348c2ecf20Sopenharmony_ci	  will be called ak8975.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ciconfig AK09911
378c2ecf20Sopenharmony_ci	tristate "Asahi Kasei AK09911 3-axis Compass"
388c2ecf20Sopenharmony_ci	depends on I2C
398c2ecf20Sopenharmony_ci	depends on GPIOLIB || COMPILE_TEST
408c2ecf20Sopenharmony_ci	select AK8975
418c2ecf20Sopenharmony_ci	help
428c2ecf20Sopenharmony_ci	  Deprecated: AK09911 is now supported by AK8975 driver.
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ciconfig BMC150_MAGN
458c2ecf20Sopenharmony_ci	tristate
468c2ecf20Sopenharmony_ci	select IIO_BUFFER
478c2ecf20Sopenharmony_ci	select IIO_TRIGGERED_BUFFER
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciconfig BMC150_MAGN_I2C
508c2ecf20Sopenharmony_ci	tristate "Bosch BMC150 I2C Magnetometer Driver"
518c2ecf20Sopenharmony_ci	depends on I2C
528c2ecf20Sopenharmony_ci	select BMC150_MAGN
538c2ecf20Sopenharmony_ci	select REGMAP_I2C
548c2ecf20Sopenharmony_ci	help
558c2ecf20Sopenharmony_ci	  Say yes here to build support for the BMC150 magnetometer with
568c2ecf20Sopenharmony_ci	  I2C interface.
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci	  This is a combo module with both accelerometer and magnetometer.
598c2ecf20Sopenharmony_ci	  This driver is only implementing magnetometer part, which has
608c2ecf20Sopenharmony_ci	  its own address and register map.
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci	  This driver also supports I2C Bosch BMC156 and BMM150 chips.
638c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will be
648c2ecf20Sopenharmony_ci	  called bmc150_magn_i2c.
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciconfig BMC150_MAGN_SPI
678c2ecf20Sopenharmony_ci	tristate "Bosch BMC150 SPI Magnetometer Driver"
688c2ecf20Sopenharmony_ci	depends on SPI
698c2ecf20Sopenharmony_ci	select BMC150_MAGN
708c2ecf20Sopenharmony_ci	select REGMAP_SPI
718c2ecf20Sopenharmony_ci	help
728c2ecf20Sopenharmony_ci	  Say yes here to build support for the BMC150 magnetometer with
738c2ecf20Sopenharmony_ci	  SPI interface.
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci	  This is a combo module with both accelerometer and magnetometer.
768c2ecf20Sopenharmony_ci	  This driver is only implementing magnetometer part, which has
778c2ecf20Sopenharmony_ci	  its own address and register map.
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci	  This driver also supports SPI Bosch BMC156 and BMM150 chips.
808c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will be
818c2ecf20Sopenharmony_ci	  called bmc150_magn_spi.
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ciconfig MAG3110
848c2ecf20Sopenharmony_ci	tristate "Freescale MAG3110 3-Axis Magnetometer"
858c2ecf20Sopenharmony_ci	depends on I2C
868c2ecf20Sopenharmony_ci	select IIO_BUFFER
878c2ecf20Sopenharmony_ci	select IIO_TRIGGERED_BUFFER
888c2ecf20Sopenharmony_ci	help
898c2ecf20Sopenharmony_ci	  Say yes here to build support for the Freescale MAG3110 3-Axis
908c2ecf20Sopenharmony_ci	  magnetometer.
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
938c2ecf20Sopenharmony_ci	  will be called mag3110.
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ciconfig HID_SENSOR_MAGNETOMETER_3D
968c2ecf20Sopenharmony_ci	depends on HID_SENSOR_HUB
978c2ecf20Sopenharmony_ci	select IIO_BUFFER
988c2ecf20Sopenharmony_ci	select HID_SENSOR_IIO_COMMON
998c2ecf20Sopenharmony_ci	select HID_SENSOR_IIO_TRIGGER
1008c2ecf20Sopenharmony_ci	tristate "HID Magenetometer 3D"
1018c2ecf20Sopenharmony_ci	help
1028c2ecf20Sopenharmony_ci	  Say yes here to build support for the HID SENSOR
1038c2ecf20Sopenharmony_ci	  Magnetometer 3D.
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ciconfig MMC35240
1068c2ecf20Sopenharmony_ci	tristate "MEMSIC MMC35240 3-axis magnetic sensor"
1078c2ecf20Sopenharmony_ci	select REGMAP_I2C
1088c2ecf20Sopenharmony_ci	depends on I2C
1098c2ecf20Sopenharmony_ci	help
1108c2ecf20Sopenharmony_ci	  Say yes here to build support for the MEMSIC MMC35240 3-axis
1118c2ecf20Sopenharmony_ci	  magnetic sensor.
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1148c2ecf20Sopenharmony_ci	  will be called mmc35240.
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ciconfig IIO_ST_MAGN_3AXIS
1178c2ecf20Sopenharmony_ci	tristate "STMicroelectronics magnetometers 3-Axis Driver"
1188c2ecf20Sopenharmony_ci	depends on (I2C || SPI_MASTER) && SYSFS
1198c2ecf20Sopenharmony_ci	select IIO_ST_SENSORS_CORE
1208c2ecf20Sopenharmony_ci	select IIO_ST_MAGN_I2C_3AXIS if (I2C)
1218c2ecf20Sopenharmony_ci	select IIO_ST_MAGN_SPI_3AXIS if (SPI_MASTER)
1228c2ecf20Sopenharmony_ci	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
1238c2ecf20Sopenharmony_ci	help
1248c2ecf20Sopenharmony_ci	  Say yes here to build support for STMicroelectronics magnetometers:
1258c2ecf20Sopenharmony_ci	  LSM303DLHC, LSM303DLM, LIS3MDL.
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci	  This driver can also be built as a module. If so, these modules
1288c2ecf20Sopenharmony_ci	  will be created:
1298c2ecf20Sopenharmony_ci	  - st_magn (core functions for the driver [it is mandatory]);
1308c2ecf20Sopenharmony_ci	  - st_magn_i2c (necessary for the I2C devices [optional*]);
1318c2ecf20Sopenharmony_ci	  - st_magn_spi (necessary for the SPI devices [optional*]);
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_ci	  (*) one of these is necessary to do something.
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ciconfig IIO_ST_MAGN_I2C_3AXIS
1368c2ecf20Sopenharmony_ci	tristate
1378c2ecf20Sopenharmony_ci	depends on IIO_ST_MAGN_3AXIS
1388c2ecf20Sopenharmony_ci	depends on IIO_ST_SENSORS_I2C
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ciconfig IIO_ST_MAGN_SPI_3AXIS
1418c2ecf20Sopenharmony_ci	tristate
1428c2ecf20Sopenharmony_ci	depends on IIO_ST_MAGN_3AXIS
1438c2ecf20Sopenharmony_ci	depends on IIO_ST_SENSORS_SPI
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ciconfig SENSORS_HMC5843
1468c2ecf20Sopenharmony_ci	tristate
1478c2ecf20Sopenharmony_ci	select IIO_BUFFER
1488c2ecf20Sopenharmony_ci	select IIO_TRIGGERED_BUFFER
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ciconfig SENSORS_HMC5843_I2C
1518c2ecf20Sopenharmony_ci	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
1528c2ecf20Sopenharmony_ci	depends on I2C
1538c2ecf20Sopenharmony_ci	select SENSORS_HMC5843
1548c2ecf20Sopenharmony_ci	select REGMAP_I2C
1558c2ecf20Sopenharmony_ci	help
1568c2ecf20Sopenharmony_ci	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
1578c2ecf20Sopenharmony_ci	  HMC5883L 3-Axis Magnetometer (digital compass).
1588c2ecf20Sopenharmony_ci
1598c2ecf20Sopenharmony_ci	  This driver can also be compiled as a set of modules.
1608c2ecf20Sopenharmony_ci	  If so, these modules will be created:
1618c2ecf20Sopenharmony_ci	  - hmc5843_core (core functions)
1628c2ecf20Sopenharmony_ci	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ciconfig SENSORS_HMC5843_SPI
1658c2ecf20Sopenharmony_ci	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
1668c2ecf20Sopenharmony_ci	depends on SPI_MASTER
1678c2ecf20Sopenharmony_ci	select SENSORS_HMC5843
1688c2ecf20Sopenharmony_ci	select REGMAP_SPI
1698c2ecf20Sopenharmony_ci	help
1708c2ecf20Sopenharmony_ci	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
1718c2ecf20Sopenharmony_ci	  (digital compass).
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ci	  This driver can also be compiled as a set of modules.
1748c2ecf20Sopenharmony_ci	  If so, these modules will be created:
1758c2ecf20Sopenharmony_ci	  - hmc5843_core (core functions)
1768c2ecf20Sopenharmony_ci	  - hmc5843_spi (support for HMC5983)
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ciconfig SENSORS_RM3100
1798c2ecf20Sopenharmony_ci	tristate
1808c2ecf20Sopenharmony_ci	select IIO_BUFFER
1818c2ecf20Sopenharmony_ci	select IIO_TRIGGERED_BUFFER
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ciconfig SENSORS_RM3100_I2C
1848c2ecf20Sopenharmony_ci	tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
1858c2ecf20Sopenharmony_ci	depends on I2C
1868c2ecf20Sopenharmony_ci	select SENSORS_RM3100
1878c2ecf20Sopenharmony_ci	select REGMAP_I2C
1888c2ecf20Sopenharmony_ci	help
1898c2ecf20Sopenharmony_ci	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
1908c2ecf20Sopenharmony_ci
1918c2ecf20Sopenharmony_ci	  This driver can also be compiled as a module.
1928c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
1938c2ecf20Sopenharmony_ci	  will be called rm3100-i2c.
1948c2ecf20Sopenharmony_ci
1958c2ecf20Sopenharmony_ciconfig SENSORS_RM3100_SPI
1968c2ecf20Sopenharmony_ci	tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
1978c2ecf20Sopenharmony_ci	depends on SPI_MASTER
1988c2ecf20Sopenharmony_ci	select SENSORS_RM3100
1998c2ecf20Sopenharmony_ci	select REGMAP_SPI
2008c2ecf20Sopenharmony_ci	help
2018c2ecf20Sopenharmony_ci	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ci	  This driver can also be compiled as a module.
2048c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
2058c2ecf20Sopenharmony_ci	  will be called rm3100-spi.
2068c2ecf20Sopenharmony_ci
2078c2ecf20Sopenharmony_ciendmenu
208