xref: /linux/drivers/iio/magnetometer/Kconfig (revision 3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Magnetometer sensors
4#
5# When adding new entries keep the list in alphabetical order
6
7menu "Magnetometer sensors"
8
9config AF8133J
10	tristate "Voltafield AF8133J 3-Axis Magnetometer"
11	depends on I2C
12	depends on OF
13	select REGMAP_I2C
14	select IIO_BUFFER
15	select IIO_TRIGGERED_BUFFER
16	help
17	  Say yes here to build support for Voltafield AF8133J I2C-based
18	  3-axis magnetometer chip.
19
20	  To compile this driver as a module, choose M here: the module
21	  will be called af8133j.
22
23config AK8974
24	tristate "Asahi Kasei AK8974 3-Axis Magnetometer"
25	depends on I2C
26	select REGMAP_I2C
27	select IIO_BUFFER
28	select IIO_TRIGGERED_BUFFER
29	help
30	  Say yes here to build support for Asahi Kasei AK8974, AMI305 or
31	  AMI306 I2C-based 3-axis magnetometer chips.
32
33	  To compile this driver as a module, choose M here: the module
34	  will be called ak8974.
35
36config AK8975
37	tristate "Asahi Kasei AK8975 3-Axis Magnetometer"
38	depends on I2C
39	depends on GPIOLIB || COMPILE_TEST
40	select IIO_BUFFER
41	select IIO_TRIGGERED_BUFFER
42	help
43	  Say yes here to build support for Asahi Kasei AK8975, AK8963,
44	  AK09911, AK09912, AK09916 or AK09918 3-Axis Magnetometer.
45
46	  To compile this driver as a module, choose M here: the module
47	  will be called ak8975.
48
49config AK09911
50	tristate "Asahi Kasei AK09911 3-axis Compass"
51	depends on I2C
52	depends on GPIOLIB || COMPILE_TEST
53	select AK8975
54	help
55	  Deprecated: AK09911 is now supported by AK8975 driver.
56
57config ALS31300
58	tristate "Allegro MicroSystems ALS31300 3-D Linear Hall Effect Sensor"
59	depends on I2C
60	select REGMAP_I2C
61	select IIO_BUFFER
62	select IIO_TRIGGERED_BUFFER
63	help
64	  Say yes here to build support for the Allegro MicroSystems
65	  ALS31300 Hall Effect Sensor through its I2C interface.
66
67	  To compile this driver as a module, choose M here: the
68	  module will be called als31300.
69
70config BMC150_MAGN
71	tristate
72	select IIO_BUFFER
73	select IIO_TRIGGERED_BUFFER
74
75config BMC150_MAGN_I2C
76	tristate "Bosch BMC150 I2C Magnetometer Driver"
77	depends on I2C
78	select BMC150_MAGN
79	select REGMAP_I2C
80	help
81	  Say yes here to build support for the BMC150 magnetometer with
82	  I2C interface.
83
84	  This is a combo module with both accelerometer and magnetometer.
85	  This driver is only implementing magnetometer part, which has
86	  its own address and register map.
87
88	  This driver also supports I2C Bosch BMC156 and BMM150 chips.
89	  To compile this driver as a module, choose M here: the module will be
90	  called bmc150_magn_i2c.
91
92config BMC150_MAGN_SPI
93	tristate "Bosch BMC150 SPI Magnetometer Driver"
94	depends on SPI
95	select BMC150_MAGN
96	select REGMAP_SPI
97	help
98	  Say yes here to build support for the BMC150 magnetometer with
99	  SPI interface.
100
101	  This is a combo module with both accelerometer and magnetometer.
102	  This driver is only implementing magnetometer part, which has
103	  its own address and register map.
104
105	  This driver also supports SPI Bosch BMC156 and BMM150 chips.
106	  To compile this driver as a module, choose M here: the module will be
107	  called bmc150_magn_spi.
108
109config MAG3110
110	tristate "Freescale MAG3110 3-Axis Magnetometer"
111	depends on I2C
112	select IIO_BUFFER
113	select IIO_TRIGGERED_BUFFER
114	help
115	  Say yes here to build support for the Freescale MAG3110 3-Axis
116	  magnetometer.
117
118	  To compile this driver as a module, choose M here: the module
119	  will be called mag3110.
120
121config HID_SENSOR_MAGNETOMETER_3D
122	depends on HID_SENSOR_HUB
123	select IIO_BUFFER
124	select HID_SENSOR_IIO_COMMON
125	select HID_SENSOR_IIO_TRIGGER
126	tristate "HID Magnetometer 3D"
127	help
128	  Say yes here to build support for the HID SENSOR
129	  Magnetometer 3D.
130
131config MMC35240
132	tristate "MEMSIC MMC35240 3-axis magnetic sensor"
133	select REGMAP_I2C
134	depends on I2C
135	help
136	  Say yes here to build support for the MEMSIC MMC35240 3-axis
137	  magnetic sensor.
138
139	  To compile this driver as a module, choose M here: the module
140	  will be called mmc35240.
141
142config MMC5633
143	tristate "MEMSIC MMC5633 3-axis magnetic sensor"
144	select REGMAP_I2C
145	select REGMAP_I3C if I3C
146	depends on I3C_OR_I2C
147	help
148	  Say yes here to build support for the MEMSIC MMC5633 3-axis
149	  magnetic sensor.
150
151	  To compile this driver as a module, choose M here: the module
152	  will be called mmc5633
153
154config MMC5983
155	tristate "MEMSIC MMC5983 3-axis magnetic sensor"
156	depends on I2C
157	select REGMAP_I2C
158	help
159	  Say yes here to build support for the MEMSIC MMC5983 3-axis
160	  magnetic sensor.
161
162	  To compile this driver as a module, choose M here: the module
163	  will be called mmc5983
164
165config IIO_ST_MAGN_3AXIS
166	tristate "STMicroelectronics magnetometers 3-Axis Driver"
167	depends on (I2C || SPI_MASTER) && SYSFS
168	select IIO_ST_SENSORS_CORE
169	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
170	help
171	  Say yes here to build support for STMicroelectronics magnetometers:
172	  LSM303C, LSM303DLHC, LSM303DLM, LIS3MDL.
173
174	  Also need to enable at least one of I2C and SPI interface drivers
175	  below.
176
177config IIO_ST_MAGN_I2C_3AXIS
178	tristate "STMicroelectronics magnetometers 3-Axis I2C Interface"
179	depends on I2C && IIO_ST_MAGN_3AXIS
180	default I2C && IIO_ST_MAGN_3AXIS
181	select IIO_ST_SENSORS_I2C
182	help
183	  Build support for STMicroelectronics magnetometers I2C interface.
184
185	  To compile this driver as a module, choose M here. The module
186	  will be called st_magn_i2c.
187
188config IIO_ST_MAGN_SPI_3AXIS
189	tristate "STMicroelectronics magnetometers 3-Axis SPI Interface"
190	depends on SPI_MASTER && IIO_ST_MAGN_3AXIS
191	default SPI_MASTER && IIO_ST_MAGN_3AXIS
192	select IIO_ST_SENSORS_SPI
193	help
194	  Build support for STMicroelectronics magnetometers SPI interface.
195
196	  To compile this driver as a module, choose M here. The module
197	  will be called st_magn_spi.
198
199config INFINEON_TLV493D
200	tristate "Infineon TLV493D Low-Power 3D Magnetic Sensor"
201	depends on I2C
202	select IIO_BUFFER
203	select IIO_TRIGGERED_BUFFER
204	help
205	  Say Y here to add support for the Infineon TLV493D-A1B6 Low-
206	  Power 3D Magnetic Sensor.
207
208	  This driver can also be compiled as a module.
209	  To compile this driver as a module, choose M here: the module
210	  will be called tlv493d.
211
212config QMC5883L
213	tristate "QST QMC5883L 3-Axis Magnetic Sensor"
214	depends on I2C
215	select REGMAP_I2C
216	help
217	  Say Y here to add support driver for QST QMC5883L 3-Axis
218	  Magnetic Sensor.
219
220	  To compile this driver as a module, choose M here: the
221	  module will be called qmc5883l.
222
223config QMC6308
224	tristate "QST QMC6308 3-Axis Magnetic Sensor"
225	depends on I2C
226	select REGMAP_I2C
227	help
228	  Say Y here to add support for the QST QMC6308 3-Axis
229	  Magnetic Sensor.
230
231	  To compile this driver as a module, choose M here: the
232	  module will be called qmc6308.
233
234config SENSORS_HMC5843
235	tristate
236	select IIO_BUFFER
237	select IIO_TRIGGERED_BUFFER
238
239config SENSORS_HMC5843_I2C
240	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
241	depends on I2C
242	select SENSORS_HMC5843
243	select REGMAP_I2C
244	help
245	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
246	  HMC5883L 3-Axis Magnetometer (digital compass).
247
248	  This driver can also be compiled as a set of modules.
249	  If so, these modules will be created:
250	  - hmc5843_core (core functions)
251	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
252
253config SENSORS_HMC5843_SPI
254	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
255	depends on SPI_MASTER
256	select SENSORS_HMC5843
257	select REGMAP_SPI
258	help
259	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
260	  (digital compass).
261
262	  This driver can also be compiled as a set of modules.
263	  If so, these modules will be created:
264	  - hmc5843_core (core functions)
265	  - hmc5843_spi (support for HMC5983)
266
267config SENSORS_RM3100
268	tristate
269	select IIO_BUFFER
270	select IIO_TRIGGERED_BUFFER
271
272config SENSORS_RM3100_I2C
273	tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
274	depends on I2C
275	select SENSORS_RM3100
276	select REGMAP_I2C
277	help
278	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
279
280	  This driver can also be compiled as a module.
281	  To compile this driver as a module, choose M here: the module
282	  will be called rm3100-i2c.
283
284config SENSORS_RM3100_SPI
285	tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
286	depends on SPI_MASTER
287	select SENSORS_RM3100
288	select REGMAP_SPI
289	help
290	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
291
292	  This driver can also be compiled as a module.
293	  To compile this driver as a module, choose M here: the module
294	  will be called rm3100-spi.
295
296config SI7210
297	tristate "SI7210 Hall effect sensor"
298	depends on I2C
299	select REGMAP_I2C
300	help
301	  Say Y here to add support for the SI7210 Hall effect sensor.
302
303	  This driver can also be compiled as a module.
304	  To compile this driver as a module, choose M here: the module
305	  will be called si7210.
306
307config TI_TMAG5273
308	tristate "TI TMAG5273 Low-Power Linear 3D Hall-Effect Sensor"
309	depends on I2C
310	select REGMAP_I2C
311	help
312	  Say Y here to add support for the TI TMAG5273 Low-Power
313	  Linear 3D Hall-Effect Sensor.
314
315	  This driver can also be compiled as a module.
316	  To compile this driver as a module, choose M here: the module
317	  will be called tmag5273.
318
319config YAMAHA_YAS530
320	tristate "Yamaha YAS530 family of 3-Axis Magnetometers (I2C)"
321	depends on I2C
322	select REGMAP_I2C
323	select IIO_BUFFER
324	select IIO_TRIGGERED_BUFFER
325	help
326	  Say Y here to add support for the Yamaha YAS530 series of
327	  3-Axis Magnetometers. YAS530, YAS532, YAS533 and YAS537 are
328	  supported.
329
330	  This driver can also be compiled as a module.
331	  To compile this driver as a module, choose M here: the module
332	  will be called yamaha-yas.
333
334endmenu
335