xref: /OK3568_Linux_fs/kernel/drivers/iio/magnetometer/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# Magnetometer sensors
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun# When adding new entries keep the list in alphabetical order
6*4882a593Smuzhiyun
7*4882a593Smuzhiyunmenu "Magnetometer sensors"
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunconfig AK8974
10*4882a593Smuzhiyun	tristate "Asahi Kasei AK8974 3-Axis Magnetometer"
11*4882a593Smuzhiyun	depends on I2C
12*4882a593Smuzhiyun	depends on OF
13*4882a593Smuzhiyun	select REGMAP_I2C
14*4882a593Smuzhiyun	select IIO_BUFFER
15*4882a593Smuzhiyun	select IIO_TRIGGERED_BUFFER
16*4882a593Smuzhiyun	help
17*4882a593Smuzhiyun	  Say yes here to build support for Asahi Kasei AK8974, AMI305 or
18*4882a593Smuzhiyun	  AMI306 I2C-based 3-axis magnetometer chips.
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module
21*4882a593Smuzhiyun	  will be called ak8974.
22*4882a593Smuzhiyun
23*4882a593Smuzhiyunconfig AK8975
24*4882a593Smuzhiyun	tristate "Asahi Kasei AK8975 3-Axis Magnetometer"
25*4882a593Smuzhiyun	depends on I2C
26*4882a593Smuzhiyun	depends on GPIOLIB || COMPILE_TEST
27*4882a593Smuzhiyun	select IIO_BUFFER
28*4882a593Smuzhiyun	select IIO_TRIGGERED_BUFFER
29*4882a593Smuzhiyun	help
30*4882a593Smuzhiyun	  Say yes here to build support for Asahi Kasei AK8975, AK8963,
31*4882a593Smuzhiyun	  AK09911 or AK09912 3-Axis Magnetometer.
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module
34*4882a593Smuzhiyun	  will be called ak8975.
35*4882a593Smuzhiyun
36*4882a593Smuzhiyunconfig AK09911
37*4882a593Smuzhiyun	tristate "Asahi Kasei AK09911 3-axis Compass"
38*4882a593Smuzhiyun	depends on I2C
39*4882a593Smuzhiyun	depends on GPIOLIB || COMPILE_TEST
40*4882a593Smuzhiyun	select AK8975
41*4882a593Smuzhiyun	help
42*4882a593Smuzhiyun	  Deprecated: AK09911 is now supported by AK8975 driver.
43*4882a593Smuzhiyun
44*4882a593Smuzhiyunconfig BMC150_MAGN
45*4882a593Smuzhiyun	tristate
46*4882a593Smuzhiyun	select IIO_BUFFER
47*4882a593Smuzhiyun	select IIO_TRIGGERED_BUFFER
48*4882a593Smuzhiyun
49*4882a593Smuzhiyunconfig BMC150_MAGN_I2C
50*4882a593Smuzhiyun	tristate "Bosch BMC150 I2C Magnetometer Driver"
51*4882a593Smuzhiyun	depends on I2C
52*4882a593Smuzhiyun	select BMC150_MAGN
53*4882a593Smuzhiyun	select REGMAP_I2C
54*4882a593Smuzhiyun	help
55*4882a593Smuzhiyun	  Say yes here to build support for the BMC150 magnetometer with
56*4882a593Smuzhiyun	  I2C interface.
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun	  This is a combo module with both accelerometer and magnetometer.
59*4882a593Smuzhiyun	  This driver is only implementing magnetometer part, which has
60*4882a593Smuzhiyun	  its own address and register map.
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun	  This driver also supports I2C Bosch BMC156 and BMM150 chips.
63*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module will be
64*4882a593Smuzhiyun	  called bmc150_magn_i2c.
65*4882a593Smuzhiyun
66*4882a593Smuzhiyunconfig BMC150_MAGN_SPI
67*4882a593Smuzhiyun	tristate "Bosch BMC150 SPI Magnetometer Driver"
68*4882a593Smuzhiyun	depends on SPI
69*4882a593Smuzhiyun	select BMC150_MAGN
70*4882a593Smuzhiyun	select REGMAP_SPI
71*4882a593Smuzhiyun	help
72*4882a593Smuzhiyun	  Say yes here to build support for the BMC150 magnetometer with
73*4882a593Smuzhiyun	  SPI interface.
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun	  This is a combo module with both accelerometer and magnetometer.
76*4882a593Smuzhiyun	  This driver is only implementing magnetometer part, which has
77*4882a593Smuzhiyun	  its own address and register map.
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun	  This driver also supports SPI Bosch BMC156 and BMM150 chips.
80*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module will be
81*4882a593Smuzhiyun	  called bmc150_magn_spi.
82*4882a593Smuzhiyun
83*4882a593Smuzhiyunconfig MAG3110
84*4882a593Smuzhiyun	tristate "Freescale MAG3110 3-Axis Magnetometer"
85*4882a593Smuzhiyun	depends on I2C
86*4882a593Smuzhiyun	select IIO_BUFFER
87*4882a593Smuzhiyun	select IIO_TRIGGERED_BUFFER
88*4882a593Smuzhiyun	help
89*4882a593Smuzhiyun	  Say yes here to build support for the Freescale MAG3110 3-Axis
90*4882a593Smuzhiyun	  magnetometer.
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module
93*4882a593Smuzhiyun	  will be called mag3110.
94*4882a593Smuzhiyun
95*4882a593Smuzhiyunconfig HID_SENSOR_MAGNETOMETER_3D
96*4882a593Smuzhiyun	depends on HID_SENSOR_HUB
97*4882a593Smuzhiyun	select IIO_BUFFER
98*4882a593Smuzhiyun	select HID_SENSOR_IIO_COMMON
99*4882a593Smuzhiyun	select HID_SENSOR_IIO_TRIGGER
100*4882a593Smuzhiyun	tristate "HID Magenetometer 3D"
101*4882a593Smuzhiyun	help
102*4882a593Smuzhiyun	  Say yes here to build support for the HID SENSOR
103*4882a593Smuzhiyun	  Magnetometer 3D.
104*4882a593Smuzhiyun
105*4882a593Smuzhiyunconfig MMC35240
106*4882a593Smuzhiyun	tristate "MEMSIC MMC35240 3-axis magnetic sensor"
107*4882a593Smuzhiyun	select REGMAP_I2C
108*4882a593Smuzhiyun	depends on I2C
109*4882a593Smuzhiyun	help
110*4882a593Smuzhiyun	  Say yes here to build support for the MEMSIC MMC35240 3-axis
111*4882a593Smuzhiyun	  magnetic sensor.
112*4882a593Smuzhiyun
113*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module
114*4882a593Smuzhiyun	  will be called mmc35240.
115*4882a593Smuzhiyun
116*4882a593Smuzhiyunconfig IIO_ST_MAGN_3AXIS
117*4882a593Smuzhiyun	tristate "STMicroelectronics magnetometers 3-Axis Driver"
118*4882a593Smuzhiyun	depends on (I2C || SPI_MASTER) && SYSFS
119*4882a593Smuzhiyun	select IIO_ST_SENSORS_CORE
120*4882a593Smuzhiyun	select IIO_ST_MAGN_I2C_3AXIS if (I2C)
121*4882a593Smuzhiyun	select IIO_ST_MAGN_SPI_3AXIS if (SPI_MASTER)
122*4882a593Smuzhiyun	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
123*4882a593Smuzhiyun	help
124*4882a593Smuzhiyun	  Say yes here to build support for STMicroelectronics magnetometers:
125*4882a593Smuzhiyun	  LSM303DLHC, LSM303DLM, LIS3MDL.
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun	  This driver can also be built as a module. If so, these modules
128*4882a593Smuzhiyun	  will be created:
129*4882a593Smuzhiyun	  - st_magn (core functions for the driver [it is mandatory]);
130*4882a593Smuzhiyun	  - st_magn_i2c (necessary for the I2C devices [optional*]);
131*4882a593Smuzhiyun	  - st_magn_spi (necessary for the SPI devices [optional*]);
132*4882a593Smuzhiyun
133*4882a593Smuzhiyun	  (*) one of these is necessary to do something.
134*4882a593Smuzhiyun
135*4882a593Smuzhiyunconfig IIO_ST_MAGN_I2C_3AXIS
136*4882a593Smuzhiyun	tristate
137*4882a593Smuzhiyun	depends on IIO_ST_MAGN_3AXIS
138*4882a593Smuzhiyun	depends on IIO_ST_SENSORS_I2C
139*4882a593Smuzhiyun
140*4882a593Smuzhiyunconfig IIO_ST_MAGN_SPI_3AXIS
141*4882a593Smuzhiyun	tristate
142*4882a593Smuzhiyun	depends on IIO_ST_MAGN_3AXIS
143*4882a593Smuzhiyun	depends on IIO_ST_SENSORS_SPI
144*4882a593Smuzhiyun
145*4882a593Smuzhiyunconfig SENSORS_HMC5843
146*4882a593Smuzhiyun	tristate
147*4882a593Smuzhiyun	select IIO_BUFFER
148*4882a593Smuzhiyun	select IIO_TRIGGERED_BUFFER
149*4882a593Smuzhiyun
150*4882a593Smuzhiyunconfig SENSORS_HMC5843_I2C
151*4882a593Smuzhiyun	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
152*4882a593Smuzhiyun	depends on I2C
153*4882a593Smuzhiyun	select SENSORS_HMC5843
154*4882a593Smuzhiyun	select REGMAP_I2C
155*4882a593Smuzhiyun	help
156*4882a593Smuzhiyun	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
157*4882a593Smuzhiyun	  HMC5883L 3-Axis Magnetometer (digital compass).
158*4882a593Smuzhiyun
159*4882a593Smuzhiyun	  This driver can also be compiled as a set of modules.
160*4882a593Smuzhiyun	  If so, these modules will be created:
161*4882a593Smuzhiyun	  - hmc5843_core (core functions)
162*4882a593Smuzhiyun	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
163*4882a593Smuzhiyun
164*4882a593Smuzhiyunconfig SENSORS_HMC5843_SPI
165*4882a593Smuzhiyun	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
166*4882a593Smuzhiyun	depends on SPI_MASTER
167*4882a593Smuzhiyun	select SENSORS_HMC5843
168*4882a593Smuzhiyun	select REGMAP_SPI
169*4882a593Smuzhiyun	help
170*4882a593Smuzhiyun	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
171*4882a593Smuzhiyun	  (digital compass).
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun	  This driver can also be compiled as a set of modules.
174*4882a593Smuzhiyun	  If so, these modules will be created:
175*4882a593Smuzhiyun	  - hmc5843_core (core functions)
176*4882a593Smuzhiyun	  - hmc5843_spi (support for HMC5983)
177*4882a593Smuzhiyun
178*4882a593Smuzhiyunconfig SENSORS_RM3100
179*4882a593Smuzhiyun	tristate
180*4882a593Smuzhiyun	select IIO_BUFFER
181*4882a593Smuzhiyun	select IIO_TRIGGERED_BUFFER
182*4882a593Smuzhiyun
183*4882a593Smuzhiyunconfig SENSORS_RM3100_I2C
184*4882a593Smuzhiyun	tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
185*4882a593Smuzhiyun	depends on I2C
186*4882a593Smuzhiyun	select SENSORS_RM3100
187*4882a593Smuzhiyun	select REGMAP_I2C
188*4882a593Smuzhiyun	help
189*4882a593Smuzhiyun	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun	  This driver can also be compiled as a module.
192*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module
193*4882a593Smuzhiyun	  will be called rm3100-i2c.
194*4882a593Smuzhiyun
195*4882a593Smuzhiyunconfig SENSORS_RM3100_SPI
196*4882a593Smuzhiyun	tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
197*4882a593Smuzhiyun	depends on SPI_MASTER
198*4882a593Smuzhiyun	select SENSORS_RM3100
199*4882a593Smuzhiyun	select REGMAP_SPI
200*4882a593Smuzhiyun	help
201*4882a593Smuzhiyun	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
202*4882a593Smuzhiyun
203*4882a593Smuzhiyun	  This driver can also be compiled as a module.
204*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module
205*4882a593Smuzhiyun	  will be called rm3100-spi.
206*4882a593Smuzhiyun
207*4882a593Smuzhiyunendmenu
208