xref: /linux/drivers/iio/magnetometer/Kconfig (revision 2d762281950877eb450ac98bc77a6d340f6b5249)
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 BMC150_MAGN
58	tristate
59	select IIO_BUFFER
60	select IIO_TRIGGERED_BUFFER
61
62config BMC150_MAGN_I2C
63	tristate "Bosch BMC150 I2C Magnetometer Driver"
64	depends on I2C
65	select BMC150_MAGN
66	select REGMAP_I2C
67	help
68	  Say yes here to build support for the BMC150 magnetometer with
69	  I2C interface.
70
71	  This is a combo module with both accelerometer and magnetometer.
72	  This driver is only implementing magnetometer part, which has
73	  its own address and register map.
74
75	  This driver also supports I2C Bosch BMC156 and BMM150 chips.
76	  To compile this driver as a module, choose M here: the module will be
77	  called bmc150_magn_i2c.
78
79config BMC150_MAGN_SPI
80	tristate "Bosch BMC150 SPI Magnetometer Driver"
81	depends on SPI
82	select BMC150_MAGN
83	select REGMAP_SPI
84	help
85	  Say yes here to build support for the BMC150 magnetometer with
86	  SPI interface.
87
88	  This is a combo module with both accelerometer and magnetometer.
89	  This driver is only implementing magnetometer part, which has
90	  its own address and register map.
91
92	  This driver also supports SPI Bosch BMC156 and BMM150 chips.
93	  To compile this driver as a module, choose M here: the module will be
94	  called bmc150_magn_spi.
95
96config MAG3110
97	tristate "Freescale MAG3110 3-Axis Magnetometer"
98	depends on I2C
99	select IIO_BUFFER
100	select IIO_TRIGGERED_BUFFER
101	help
102	  Say yes here to build support for the Freescale MAG3110 3-Axis
103	  magnetometer.
104
105	  To compile this driver as a module, choose M here: the module
106	  will be called mag3110.
107
108config HID_SENSOR_MAGNETOMETER_3D
109	depends on HID_SENSOR_HUB
110	select IIO_BUFFER
111	select HID_SENSOR_IIO_COMMON
112	select HID_SENSOR_IIO_TRIGGER
113	tristate "HID Magenetometer 3D"
114	help
115	  Say yes here to build support for the HID SENSOR
116	  Magnetometer 3D.
117
118config MMC35240
119	tristate "MEMSIC MMC35240 3-axis magnetic sensor"
120	select REGMAP_I2C
121	depends on I2C
122	help
123	  Say yes here to build support for the MEMSIC MMC35240 3-axis
124	  magnetic sensor.
125
126	  To compile this driver as a module, choose M here: the module
127	  will be called mmc35240.
128
129config IIO_ST_MAGN_3AXIS
130	tristate "STMicroelectronics magnetometers 3-Axis Driver"
131	depends on (I2C || SPI_MASTER) && SYSFS
132	select IIO_ST_SENSORS_CORE
133	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
134	help
135	  Say yes here to build support for STMicroelectronics magnetometers:
136	  LSM303C, LSM303DLHC, LSM303DLM, LIS3MDL.
137
138	  Also need to enable at least one of I2C and SPI interface drivers
139	  below.
140
141config IIO_ST_MAGN_I2C_3AXIS
142	tristate "STMicroelectronics magnetometers 3-Axis I2C Interface"
143	depends on I2C && IIO_ST_MAGN_3AXIS
144	default I2C && IIO_ST_MAGN_3AXIS
145	select IIO_ST_SENSORS_I2C
146	help
147	  Build support for STMicroelectronics magnetometers I2C interface.
148
149	  To compile this driver as a module, choose M here. The module
150	  will be called st_magn_i2c.
151
152config IIO_ST_MAGN_SPI_3AXIS
153	tristate "STMicroelectronics magnetometers 3-Axis SPI Interface"
154	depends on SPI_MASTER && IIO_ST_MAGN_3AXIS
155	default SPI_MASTER && IIO_ST_MAGN_3AXIS
156	select IIO_ST_SENSORS_SPI
157	help
158	  Build support for STMicroelectronics magnetometers SPI interface.
159
160	  To compile this driver as a module, choose M here. The module
161	  will be called st_magn_spi.
162
163config SENSORS_HMC5843
164	tristate
165	select IIO_BUFFER
166	select IIO_TRIGGERED_BUFFER
167
168config SENSORS_HMC5843_I2C
169	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
170	depends on I2C
171	select SENSORS_HMC5843
172	select REGMAP_I2C
173	help
174	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
175	  HMC5883L 3-Axis Magnetometer (digital compass).
176
177	  This driver can also be compiled as a set of modules.
178	  If so, these modules will be created:
179	  - hmc5843_core (core functions)
180	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
181
182config SENSORS_HMC5843_SPI
183	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
184	depends on SPI_MASTER
185	select SENSORS_HMC5843
186	select REGMAP_SPI
187	help
188	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
189	  (digital compass).
190
191	  This driver can also be compiled as a set of modules.
192	  If so, these modules will be created:
193	  - hmc5843_core (core functions)
194	  - hmc5843_spi (support for HMC5983)
195
196config SENSORS_RM3100
197	tristate
198	select IIO_BUFFER
199	select IIO_TRIGGERED_BUFFER
200
201config SENSORS_RM3100_I2C
202	tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
203	depends on I2C
204	select SENSORS_RM3100
205	select REGMAP_I2C
206	help
207	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
208
209	  This driver can also be compiled as a module.
210	  To compile this driver as a module, choose M here: the module
211	  will be called rm3100-i2c.
212
213config SENSORS_RM3100_SPI
214	tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
215	depends on SPI_MASTER
216	select SENSORS_RM3100
217	select REGMAP_SPI
218	help
219	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
220
221	  This driver can also be compiled as a module.
222	  To compile this driver as a module, choose M here: the module
223	  will be called rm3100-spi.
224
225config TI_TMAG5273
226	tristate "TI TMAG5273 Low-Power Linear 3D Hall-Effect Sensor"
227	depends on I2C
228	select REGMAP_I2C
229	help
230	  Say Y here to add support for the TI TMAG5273 Low-Power
231	  Linear 3D Hall-Effect Sensor.
232
233	  This driver can also be compiled as a module.
234	  To compile this driver as a module, choose M here: the module
235	  will be called tmag5273.
236
237config YAMAHA_YAS530
238	tristate "Yamaha YAS530 family of 3-Axis Magnetometers (I2C)"
239	depends on I2C
240	select REGMAP_I2C
241	select IIO_BUFFER
242	select IIO_TRIGGERED_BUFFER
243	help
244	  Say Y here to add support for the Yamaha YAS530 series of
245	  3-Axis Magnetometers. YAS530, YAS532, YAS533 and YAS537 are
246	  supported.
247
248	  This driver can also be compiled as a module.
249	  To compile this driver as a module, choose M here: the module
250	  will be called yamaha-yas.
251
252endmenu
253