xref: /openbmc/linux/drivers/iio/magnetometer/Kconfig (revision 31e67366)
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 or AK09912 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 IIO_TRIGGERED_BUFFER
99	select HID_SENSOR_IIO_COMMON
100	select HID_SENSOR_IIO_TRIGGER
101	tristate "HID Magenetometer 3D"
102	help
103	  Say yes here to build support for the HID SENSOR
104	  Magnetometer 3D.
105
106config MMC35240
107	tristate "MEMSIC MMC35240 3-axis magnetic sensor"
108	select REGMAP_I2C
109	depends on I2C
110	help
111	  Say yes here to build support for the MEMSIC MMC35240 3-axis
112	  magnetic sensor.
113
114	  To compile this driver as a module, choose M here: the module
115	  will be called mmc35240.
116
117config IIO_ST_MAGN_3AXIS
118	tristate "STMicroelectronics magnetometers 3-Axis Driver"
119	depends on (I2C || SPI_MASTER) && SYSFS
120	select IIO_ST_SENSORS_CORE
121	select IIO_ST_MAGN_I2C_3AXIS if (I2C)
122	select IIO_ST_MAGN_SPI_3AXIS if (SPI_MASTER)
123	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
124	help
125	  Say yes here to build support for STMicroelectronics magnetometers:
126	  LSM303DLHC, LSM303DLM, LIS3MDL.
127
128	  This driver can also be built as a module. If so, these modules
129	  will be created:
130	  - st_magn (core functions for the driver [it is mandatory]);
131	  - st_magn_i2c (necessary for the I2C devices [optional*]);
132	  - st_magn_spi (necessary for the SPI devices [optional*]);
133
134	  (*) one of these is necessary to do something.
135
136config IIO_ST_MAGN_I2C_3AXIS
137	tristate
138	depends on IIO_ST_MAGN_3AXIS
139	depends on IIO_ST_SENSORS_I2C
140
141config IIO_ST_MAGN_SPI_3AXIS
142	tristate
143	depends on IIO_ST_MAGN_3AXIS
144	depends on IIO_ST_SENSORS_SPI
145
146config SENSORS_HMC5843
147	tristate
148	select IIO_BUFFER
149	select IIO_TRIGGERED_BUFFER
150
151config SENSORS_HMC5843_I2C
152	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
153	depends on I2C
154	select SENSORS_HMC5843
155	select REGMAP_I2C
156	help
157	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
158	  HMC5883L 3-Axis Magnetometer (digital compass).
159
160	  This driver can also be compiled as a set of modules.
161	  If so, these modules will be created:
162	  - hmc5843_core (core functions)
163	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
164
165config SENSORS_HMC5843_SPI
166	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
167	depends on SPI_MASTER
168	select SENSORS_HMC5843
169	select REGMAP_SPI
170	help
171	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
172	  (digital compass).
173
174	  This driver can also be compiled as a set of modules.
175	  If so, these modules will be created:
176	  - hmc5843_core (core functions)
177	  - hmc5843_spi (support for HMC5983)
178
179config SENSORS_RM3100
180	tristate
181	select IIO_BUFFER
182	select IIO_TRIGGERED_BUFFER
183
184config SENSORS_RM3100_I2C
185	tristate "PNI RM3100 3-Axis Magnetometer (I2C)"
186	depends on I2C
187	select SENSORS_RM3100
188	select REGMAP_I2C
189	help
190	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
191
192	  This driver can also be compiled as a module.
193	  To compile this driver as a module, choose M here: the module
194	  will be called rm3100-i2c.
195
196config SENSORS_RM3100_SPI
197	tristate "PNI RM3100 3-Axis Magnetometer (SPI)"
198	depends on SPI_MASTER
199	select SENSORS_RM3100
200	select REGMAP_SPI
201	help
202	  Say Y here to add support for the PNI RM3100 3-Axis Magnetometer.
203
204	  This driver can also be compiled as a module.
205	  To compile this driver as a module, choose M here: the module
206	  will be called rm3100-spi.
207
208config YAMAHA_YAS530
209	tristate "Yamaha YAS530 family of 3-Axis Magnetometers (I2C)"
210	depends on I2C
211	select REGMAP_I2C
212	select IIO_BUFFER
213	select IIO_TRIGGERED_BUFFER
214	help
215	  Say Y here to add support for the Yamaha YAS530 series of
216	  3-Axis Magnetometers. Right now YAS530, YAS532 and YAS533 are
217	  fully supported.
218
219	  This driver can also be compiled as a module.
220	  To compile this driver as a module, choose M here: the module
221	  will be called yamaha-yas.
222
223endmenu
224