xref: /linux/drivers/iio/magnetometer/Kconfig (revision cbac924200b838cfb8d8b1415113d788089dc50b)
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 AK8974
10	tristate "Asahi Kasei AK8974 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 Asahi Kasei AK8974, AMI305 or
18	  AMI306 I2C-based 3-axis magnetometer chips.
19
20	  To compile this driver as a module, choose M here: the module
21	  will be called ak8974.
22
23config AK8975
24	tristate "Asahi Kasei AK8975 3-Axis Magnetometer"
25	depends on I2C
26	depends on GPIOLIB || COMPILE_TEST
27	select IIO_BUFFER
28	select IIO_TRIGGERED_BUFFER
29	help
30	  Say yes here to build support for Asahi Kasei AK8975, AK8963,
31	  AK09911, AK09912 or AK09916 3-Axis Magnetometer.
32
33	  To compile this driver as a module, choose M here: the module
34	  will be called ak8975.
35
36config AK09911
37	tristate "Asahi Kasei AK09911 3-axis Compass"
38	depends on I2C
39	depends on GPIOLIB || COMPILE_TEST
40	select AK8975
41	help
42	  Deprecated: AK09911 is now supported by AK8975 driver.
43
44config BMC150_MAGN
45	tristate
46	select IIO_BUFFER
47	select IIO_TRIGGERED_BUFFER
48
49config BMC150_MAGN_I2C
50	tristate "Bosch BMC150 I2C Magnetometer Driver"
51	depends on I2C
52	select BMC150_MAGN
53	select REGMAP_I2C
54	help
55	  Say yes here to build support for the BMC150 magnetometer with
56	  I2C interface.
57
58	  This is a combo module with both accelerometer and magnetometer.
59	  This driver is only implementing magnetometer part, which has
60	  its own address and register map.
61
62	  This driver also supports I2C Bosch BMC156 and BMM150 chips.
63	  To compile this driver as a module, choose M here: the module will be
64	  called bmc150_magn_i2c.
65
66config BMC150_MAGN_SPI
67	tristate "Bosch BMC150 SPI Magnetometer Driver"
68	depends on SPI
69	select BMC150_MAGN
70	select REGMAP_SPI
71	help
72	  Say yes here to build support for the BMC150 magnetometer with
73	  SPI interface.
74
75	  This is a combo module with both accelerometer and magnetometer.
76	  This driver is only implementing magnetometer part, which has
77	  its own address and register map.
78
79	  This driver also supports SPI Bosch BMC156 and BMM150 chips.
80	  To compile this driver as a module, choose M here: the module will be
81	  called bmc150_magn_spi.
82
83config MAG3110
84	tristate "Freescale MAG3110 3-Axis Magnetometer"
85	depends on I2C
86	select IIO_BUFFER
87	select IIO_TRIGGERED_BUFFER
88	help
89	  Say yes here to build support for the Freescale MAG3110 3-Axis
90	  magnetometer.
91
92	  To compile this driver as a module, choose M here: the module
93	  will be called mag3110.
94
95config HID_SENSOR_MAGNETOMETER_3D
96	depends on HID_SENSOR_HUB
97	select IIO_BUFFER
98	select HID_SENSOR_IIO_COMMON
99	select HID_SENSOR_IIO_TRIGGER
100	tristate "HID Magenetometer 3D"
101	help
102	  Say yes here to build support for the HID SENSOR
103	  Magnetometer 3D.
104
105config MMC35240
106	tristate "MEMSIC MMC35240 3-axis magnetic sensor"
107	select REGMAP_I2C
108	depends on I2C
109	help
110	  Say yes here to build support for the MEMSIC MMC35240 3-axis
111	  magnetic sensor.
112
113	  To compile this driver as a module, choose M here: the module
114	  will be called mmc35240.
115
116config IIO_ST_MAGN_3AXIS
117	tristate "STMicroelectronics magnetometers 3-Axis Driver"
118	depends on (I2C || SPI_MASTER) && SYSFS
119	select IIO_ST_SENSORS_CORE
120	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
121	help
122	  Say yes here to build support for STMicroelectronics magnetometers:
123	  LSM303DLHC, LSM303DLM, LIS3MDL.
124
125	  Also need to enable at least one of I2C and SPI interface drivers
126	  below.
127
128config IIO_ST_MAGN_I2C_3AXIS
129	tristate "STMicroelectronics magnetometers 3-Axis I2C Interface"
130	depends on I2C && IIO_ST_MAGN_3AXIS
131	default I2C && IIO_ST_MAGN_3AXIS
132	select IIO_ST_SENSORS_I2C
133	help
134	  Build support for STMicroelectronics magnetometers I2C interface.
135
136	  To compile this driver as a module, choose M here. The module
137	  will be called st_magn_i2c.
138
139config IIO_ST_MAGN_SPI_3AXIS
140	tristate "STMicroelectronics magnetometers 3-Axis SPI Interface"
141	depends on SPI_MASTER && IIO_ST_MAGN_3AXIS
142	default SPI_MASTER && IIO_ST_MAGN_3AXIS
143	select IIO_ST_SENSORS_SPI
144	help
145	  Build support for STMicroelectronics magnetometers SPI interface.
146
147	  To compile this driver as a module, choose M here. The module
148	  will be called st_magn_spi.
149
150config SENSORS_HMC5843
151	tristate
152	select IIO_BUFFER
153	select IIO_TRIGGERED_BUFFER
154
155config SENSORS_HMC5843_I2C
156	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
157	depends on I2C
158	select SENSORS_HMC5843
159	select REGMAP_I2C
160	help
161	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
162	  HMC5883L 3-Axis Magnetometer (digital compass).
163
164	  This driver can also be compiled as a set of modules.
165	  If so, these modules will be created:
166	  - hmc5843_core (core functions)
167	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
168
169config SENSORS_HMC5843_SPI
170	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
171	depends on SPI_MASTER
172	select SENSORS_HMC5843
173	select REGMAP_SPI
174	help
175	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
176	  (digital compass).
177
178	  This driver can also be compiled as a set of modules.
179	  If so, these modules will be created:
180	  - hmc5843_core (core functions)
181	  - hmc5843_spi (support for HMC5983)
182
183config SENSORS_RM3100
184	tristate
185	select IIO_BUFFER
186	select IIO_TRIGGERED_BUFFER
187
188config SENSORS_RM3100_I2C
189	tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
190	depends on I2C
191	select SENSORS_RM3100
192	select REGMAP_I2C
193	help
194	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
195
196	  This driver can also be compiled as a module.
197	  To compile this driver as a module, choose M here: the module
198	  will be called rm3100-i2c.
199
200config SENSORS_RM3100_SPI
201	tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
202	depends on SPI_MASTER
203	select SENSORS_RM3100
204	select REGMAP_SPI
205	help
206	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
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 rm3100-spi.
211
212config YAMAHA_YAS530
213	tristate "Yamaha YAS530 family of 3-Axis Magnetometers (I2C)"
214	depends on I2C
215	select REGMAP_I2C
216	select IIO_BUFFER
217	select IIO_TRIGGERED_BUFFER
218	help
219	  Say Y here to add support for the Yamaha YAS530 series of
220	  3-Axis Magnetometers. Right now YAS530, YAS532 and YAS533 are
221	  fully supported.
222
223	  This driver can also be compiled as a module.
224	  To compile this driver as a module, choose M here: the module
225	  will be called yamaha-yas.
226
227endmenu
228