Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / drivers / iio / magnetometer / Kconfig
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
7 menu "Magnetometer sensors"
8
9 config 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
23 config 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
36 config 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
44 config BMC150_MAGN
45         tristate
46         select IIO_BUFFER
47         select IIO_TRIGGERED_BUFFER
48
49 config 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
66 config 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
83 config 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
95 config 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
106 config 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
117 config 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
136 config IIO_ST_MAGN_I2C_3AXIS
137         tristate
138         depends on IIO_ST_MAGN_3AXIS
139         depends on IIO_ST_SENSORS_I2C
140
141 config IIO_ST_MAGN_SPI_3AXIS
142         tristate
143         depends on IIO_ST_MAGN_3AXIS
144         depends on IIO_ST_SENSORS_SPI
145
146 config SENSORS_HMC5843
147         tristate
148         select IIO_BUFFER
149         select IIO_TRIGGERED_BUFFER
150
151 config 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
165 config 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
179 config SENSORS_RM3100
180         tristate
181         select IIO_BUFFER
182         select IIO_TRIGGERED_BUFFER
183
184 config 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
196 config 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
208 endmenu