162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Magnetometer sensors
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci# When adding new entries keep the list in alphabetical order
662306a36Sopenharmony_ci
762306a36Sopenharmony_cimenu "Magnetometer sensors"
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciconfig AK8974
1062306a36Sopenharmony_ci	tristate "Asahi Kasei AK8974 3-Axis Magnetometer"
1162306a36Sopenharmony_ci	depends on I2C
1262306a36Sopenharmony_ci	select REGMAP_I2C
1362306a36Sopenharmony_ci	select IIO_BUFFER
1462306a36Sopenharmony_ci	select IIO_TRIGGERED_BUFFER
1562306a36Sopenharmony_ci	help
1662306a36Sopenharmony_ci	  Say yes here to build support for Asahi Kasei AK8974, AMI305 or
1762306a36Sopenharmony_ci	  AMI306 I2C-based 3-axis magnetometer chips.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
2062306a36Sopenharmony_ci	  will be called ak8974.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciconfig AK8975
2362306a36Sopenharmony_ci	tristate "Asahi Kasei AK8975 3-Axis Magnetometer"
2462306a36Sopenharmony_ci	depends on I2C
2562306a36Sopenharmony_ci	depends on GPIOLIB || COMPILE_TEST
2662306a36Sopenharmony_ci	select IIO_BUFFER
2762306a36Sopenharmony_ci	select IIO_TRIGGERED_BUFFER
2862306a36Sopenharmony_ci	help
2962306a36Sopenharmony_ci	  Say yes here to build support for Asahi Kasei AK8975, AK8963,
3062306a36Sopenharmony_ci	  AK09911, AK09912 or AK09916 3-Axis Magnetometer.
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
3362306a36Sopenharmony_ci	  will be called ak8975.
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ciconfig AK09911
3662306a36Sopenharmony_ci	tristate "Asahi Kasei AK09911 3-axis Compass"
3762306a36Sopenharmony_ci	depends on I2C
3862306a36Sopenharmony_ci	depends on GPIOLIB || COMPILE_TEST
3962306a36Sopenharmony_ci	select AK8975
4062306a36Sopenharmony_ci	help
4162306a36Sopenharmony_ci	  Deprecated: AK09911 is now supported by AK8975 driver.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciconfig BMC150_MAGN
4462306a36Sopenharmony_ci	tristate
4562306a36Sopenharmony_ci	select IIO_BUFFER
4662306a36Sopenharmony_ci	select IIO_TRIGGERED_BUFFER
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciconfig BMC150_MAGN_I2C
4962306a36Sopenharmony_ci	tristate "Bosch BMC150 I2C Magnetometer Driver"
5062306a36Sopenharmony_ci	depends on I2C
5162306a36Sopenharmony_ci	select BMC150_MAGN
5262306a36Sopenharmony_ci	select REGMAP_I2C
5362306a36Sopenharmony_ci	help
5462306a36Sopenharmony_ci	  Say yes here to build support for the BMC150 magnetometer with
5562306a36Sopenharmony_ci	  I2C interface.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	  This is a combo module with both accelerometer and magnetometer.
5862306a36Sopenharmony_ci	  This driver is only implementing magnetometer part, which has
5962306a36Sopenharmony_ci	  its own address and register map.
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci	  This driver also supports I2C Bosch BMC156 and BMM150 chips.
6262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will be
6362306a36Sopenharmony_ci	  called bmc150_magn_i2c.
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciconfig BMC150_MAGN_SPI
6662306a36Sopenharmony_ci	tristate "Bosch BMC150 SPI Magnetometer Driver"
6762306a36Sopenharmony_ci	depends on SPI
6862306a36Sopenharmony_ci	select BMC150_MAGN
6962306a36Sopenharmony_ci	select REGMAP_SPI
7062306a36Sopenharmony_ci	help
7162306a36Sopenharmony_ci	  Say yes here to build support for the BMC150 magnetometer with
7262306a36Sopenharmony_ci	  SPI interface.
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci	  This is a combo module with both accelerometer and magnetometer.
7562306a36Sopenharmony_ci	  This driver is only implementing magnetometer part, which has
7662306a36Sopenharmony_ci	  its own address and register map.
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci	  This driver also supports SPI Bosch BMC156 and BMM150 chips.
7962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will be
8062306a36Sopenharmony_ci	  called bmc150_magn_spi.
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ciconfig MAG3110
8362306a36Sopenharmony_ci	tristate "Freescale MAG3110 3-Axis Magnetometer"
8462306a36Sopenharmony_ci	depends on I2C
8562306a36Sopenharmony_ci	select IIO_BUFFER
8662306a36Sopenharmony_ci	select IIO_TRIGGERED_BUFFER
8762306a36Sopenharmony_ci	help
8862306a36Sopenharmony_ci	  Say yes here to build support for the Freescale MAG3110 3-Axis
8962306a36Sopenharmony_ci	  magnetometer.
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
9262306a36Sopenharmony_ci	  will be called mag3110.
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ciconfig HID_SENSOR_MAGNETOMETER_3D
9562306a36Sopenharmony_ci	depends on HID_SENSOR_HUB
9662306a36Sopenharmony_ci	select IIO_BUFFER
9762306a36Sopenharmony_ci	select HID_SENSOR_IIO_COMMON
9862306a36Sopenharmony_ci	select HID_SENSOR_IIO_TRIGGER
9962306a36Sopenharmony_ci	tristate "HID Magenetometer 3D"
10062306a36Sopenharmony_ci	help
10162306a36Sopenharmony_ci	  Say yes here to build support for the HID SENSOR
10262306a36Sopenharmony_ci	  Magnetometer 3D.
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ciconfig MMC35240
10562306a36Sopenharmony_ci	tristate "MEMSIC MMC35240 3-axis magnetic sensor"
10662306a36Sopenharmony_ci	select REGMAP_I2C
10762306a36Sopenharmony_ci	depends on I2C
10862306a36Sopenharmony_ci	help
10962306a36Sopenharmony_ci	  Say yes here to build support for the MEMSIC MMC35240 3-axis
11062306a36Sopenharmony_ci	  magnetic sensor.
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
11362306a36Sopenharmony_ci	  will be called mmc35240.
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ciconfig IIO_ST_MAGN_3AXIS
11662306a36Sopenharmony_ci	tristate "STMicroelectronics magnetometers 3-Axis Driver"
11762306a36Sopenharmony_ci	depends on (I2C || SPI_MASTER) && SYSFS
11862306a36Sopenharmony_ci	select IIO_ST_SENSORS_CORE
11962306a36Sopenharmony_ci	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
12062306a36Sopenharmony_ci	help
12162306a36Sopenharmony_ci	  Say yes here to build support for STMicroelectronics magnetometers:
12262306a36Sopenharmony_ci	  LSM303C, LSM303DLHC, LSM303DLM, LIS3MDL.
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci	  Also need to enable at least one of I2C and SPI interface drivers
12562306a36Sopenharmony_ci	  below.
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ciconfig IIO_ST_MAGN_I2C_3AXIS
12862306a36Sopenharmony_ci	tristate "STMicroelectronics magnetometers 3-Axis I2C Interface"
12962306a36Sopenharmony_ci	depends on I2C && IIO_ST_MAGN_3AXIS
13062306a36Sopenharmony_ci	default I2C && IIO_ST_MAGN_3AXIS
13162306a36Sopenharmony_ci	select IIO_ST_SENSORS_I2C
13262306a36Sopenharmony_ci	help
13362306a36Sopenharmony_ci	  Build support for STMicroelectronics magnetometers I2C interface.
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here. The module
13662306a36Sopenharmony_ci	  will be called st_magn_i2c.
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ciconfig IIO_ST_MAGN_SPI_3AXIS
13962306a36Sopenharmony_ci	tristate "STMicroelectronics magnetometers 3-Axis SPI Interface"
14062306a36Sopenharmony_ci	depends on SPI_MASTER && IIO_ST_MAGN_3AXIS
14162306a36Sopenharmony_ci	default SPI_MASTER && IIO_ST_MAGN_3AXIS
14262306a36Sopenharmony_ci	select IIO_ST_SENSORS_SPI
14362306a36Sopenharmony_ci	help
14462306a36Sopenharmony_ci	  Build support for STMicroelectronics magnetometers SPI interface.
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ci	  To compile this driver as a module, choose M here. The module
14762306a36Sopenharmony_ci	  will be called st_magn_spi.
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ciconfig SENSORS_HMC5843
15062306a36Sopenharmony_ci	tristate
15162306a36Sopenharmony_ci	select IIO_BUFFER
15262306a36Sopenharmony_ci	select IIO_TRIGGERED_BUFFER
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ciconfig SENSORS_HMC5843_I2C
15562306a36Sopenharmony_ci	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
15662306a36Sopenharmony_ci	depends on I2C
15762306a36Sopenharmony_ci	select SENSORS_HMC5843
15862306a36Sopenharmony_ci	select REGMAP_I2C
15962306a36Sopenharmony_ci	help
16062306a36Sopenharmony_ci	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
16162306a36Sopenharmony_ci	  HMC5883L 3-Axis Magnetometer (digital compass).
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci	  This driver can also be compiled as a set of modules.
16462306a36Sopenharmony_ci	  If so, these modules will be created:
16562306a36Sopenharmony_ci	  - hmc5843_core (core functions)
16662306a36Sopenharmony_ci	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ciconfig SENSORS_HMC5843_SPI
16962306a36Sopenharmony_ci	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
17062306a36Sopenharmony_ci	depends on SPI_MASTER
17162306a36Sopenharmony_ci	select SENSORS_HMC5843
17262306a36Sopenharmony_ci	select REGMAP_SPI
17362306a36Sopenharmony_ci	help
17462306a36Sopenharmony_ci	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
17562306a36Sopenharmony_ci	  (digital compass).
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci	  This driver can also be compiled as a set of modules.
17862306a36Sopenharmony_ci	  If so, these modules will be created:
17962306a36Sopenharmony_ci	  - hmc5843_core (core functions)
18062306a36Sopenharmony_ci	  - hmc5843_spi (support for HMC5983)
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ciconfig SENSORS_RM3100
18362306a36Sopenharmony_ci	tristate
18462306a36Sopenharmony_ci	select IIO_BUFFER
18562306a36Sopenharmony_ci	select IIO_TRIGGERED_BUFFER
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ciconfig SENSORS_RM3100_I2C
18862306a36Sopenharmony_ci	tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
18962306a36Sopenharmony_ci	depends on I2C
19062306a36Sopenharmony_ci	select SENSORS_RM3100
19162306a36Sopenharmony_ci	select REGMAP_I2C
19262306a36Sopenharmony_ci	help
19362306a36Sopenharmony_ci	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ci	  This driver can also be compiled as a module.
19662306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
19762306a36Sopenharmony_ci	  will be called rm3100-i2c.
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ciconfig SENSORS_RM3100_SPI
20062306a36Sopenharmony_ci	tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
20162306a36Sopenharmony_ci	depends on SPI_MASTER
20262306a36Sopenharmony_ci	select SENSORS_RM3100
20362306a36Sopenharmony_ci	select REGMAP_SPI
20462306a36Sopenharmony_ci	help
20562306a36Sopenharmony_ci	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ci	  This driver can also be compiled as a module.
20862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
20962306a36Sopenharmony_ci	  will be called rm3100-spi.
21062306a36Sopenharmony_ci
21162306a36Sopenharmony_ciconfig TI_TMAG5273
21262306a36Sopenharmony_ci	tristate "TI TMAG5273 Low-Power Linear 3D Hall-Effect Sensor"
21362306a36Sopenharmony_ci	depends on I2C
21462306a36Sopenharmony_ci	select REGMAP_I2C
21562306a36Sopenharmony_ci	help
21662306a36Sopenharmony_ci	  Say Y here to add support for the TI TMAG5273 Low-Power
21762306a36Sopenharmony_ci	  Linear 3D Hall-Effect Sensor.
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_ci	  This driver can also be compiled as a module.
22062306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
22162306a36Sopenharmony_ci	  will be called tmag5273.
22262306a36Sopenharmony_ci
22362306a36Sopenharmony_ciconfig YAMAHA_YAS530
22462306a36Sopenharmony_ci	tristate "Yamaha YAS530 family of 3-Axis Magnetometers (I2C)"
22562306a36Sopenharmony_ci	depends on I2C
22662306a36Sopenharmony_ci	select REGMAP_I2C
22762306a36Sopenharmony_ci	select IIO_BUFFER
22862306a36Sopenharmony_ci	select IIO_TRIGGERED_BUFFER
22962306a36Sopenharmony_ci	help
23062306a36Sopenharmony_ci	  Say Y here to add support for the Yamaha YAS530 series of
23162306a36Sopenharmony_ci	  3-Axis Magnetometers. YAS530, YAS532, YAS533 and YAS537 are
23262306a36Sopenharmony_ci	  supported.
23362306a36Sopenharmony_ci
23462306a36Sopenharmony_ci	  This driver can also be compiled as a module.
23562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
23662306a36Sopenharmony_ci	  will be called yamaha-yas.
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ciendmenu
239