xref: /openbmc/linux/drivers/iio/magnetometer/Kconfig (revision 82e6fdd6)
1#
2# Magnetometer sensors
3#
4# When adding new entries keep the list in alphabetical order
5
6menu "Magnetometer sensors"
7
8config AK8974
9	tristate "Asahi Kasei AK8974 3-Axis Magnetometer"
10	depends on I2C
11	depends on OF
12	select REGMAP_I2C
13	select IIO_BUFFER
14	select IIO_TRIGGERED_BUFFER
15	help
16	  Say yes here to build support for Asahi Kasei AK8974, AMI305 or
17	  AMI306 I2C-based 3-axis magnetometer chips.
18
19	  To compile this driver as a module, choose M here: the module
20	  will be called ak8974.
21
22config AK8975
23	tristate "Asahi Kasei AK8975 3-Axis Magnetometer"
24	depends on I2C
25	depends on GPIOLIB || COMPILE_TEST
26	select IIO_BUFFER
27	select IIO_TRIGGERED_BUFFER
28	help
29	  Say yes here to build support for Asahi Kasei AK8975, AK8963,
30	  AK09911 or AK09912 3-Axis Magnetometer.
31
32	  To compile this driver as a module, choose M here: the module
33	  will be called ak8975.
34
35config AK09911
36	tristate "Asahi Kasei AK09911 3-axis Compass"
37	depends on I2C
38	depends on GPIOLIB || COMPILE_TEST
39	select AK8975
40	help
41	  Deprecated: AK09911 is now supported by AK8975 driver.
42
43config BMC150_MAGN
44	tristate
45	select IIO_BUFFER
46	select IIO_TRIGGERED_BUFFER
47
48config BMC150_MAGN_I2C
49	tristate "Bosch BMC150 I2C Magnetometer Driver"
50	depends on I2C
51	select BMC150_MAGN
52	select REGMAP_I2C
53	help
54	  Say yes here to build support for the BMC150 magnetometer with
55	  I2C interface.
56
57	  This is a combo module with both accelerometer and magnetometer.
58	  This driver is only implementing magnetometer part, which has
59	  its own address and register map.
60
61	  This driver also supports I2C Bosch BMC156 and BMM150 chips.
62	  To compile this driver as a module, choose M here: the module will be
63	  called bmc150_magn_i2c.
64
65config BMC150_MAGN_SPI
66	tristate "Bosch BMC150 SPI Magnetometer Driver"
67	depends on SPI
68	select BMC150_MAGN
69	select REGMAP_SPI
70	help
71	  Say yes here to build support for the BMC150 magnetometer with
72	  SPI interface.
73
74	  This is a combo module with both accelerometer and magnetometer.
75	  This driver is only implementing magnetometer part, which has
76	  its own address and register map.
77
78	  This driver also supports SPI Bosch BMC156 and BMM150 chips.
79	  To compile this driver as a module, choose M here: the module will be
80	  called bmc150_magn_spi.
81
82config MAG3110
83	tristate "Freescale MAG3110 3-Axis Magnetometer"
84	depends on I2C
85	select IIO_BUFFER
86	select IIO_TRIGGERED_BUFFER
87	help
88	  Say yes here to build support for the Freescale MAG3110 3-Axis
89	  magnetometer.
90
91	  To compile this driver as a module, choose M here: the module
92	  will be called mag3110.
93
94config HID_SENSOR_MAGNETOMETER_3D
95	depends on HID_SENSOR_HUB
96	select IIO_BUFFER
97	select IIO_TRIGGERED_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_ST_MAGN_I2C_3AXIS if (I2C)
121	select IIO_ST_MAGN_SPI_3AXIS if (SPI_MASTER)
122	select IIO_TRIGGERED_BUFFER if (IIO_BUFFER)
123	help
124	  Say yes here to build support for STMicroelectronics magnetometers:
125	  LSM303DLHC, LSM303DLM, LIS3MDL.
126
127	  This driver can also be built as a module. If so, these modules
128	  will be created:
129	  - st_magn (core functions for the driver [it is mandatory]);
130	  - st_magn_i2c (necessary for the I2C devices [optional*]);
131	  - st_magn_spi (necessary for the SPI devices [optional*]);
132
133	  (*) one of these is necessary to do something.
134
135config IIO_ST_MAGN_I2C_3AXIS
136	tristate
137	depends on IIO_ST_MAGN_3AXIS
138	depends on IIO_ST_SENSORS_I2C
139
140config IIO_ST_MAGN_SPI_3AXIS
141	tristate
142	depends on IIO_ST_MAGN_3AXIS
143	depends on IIO_ST_SENSORS_SPI
144
145config SENSORS_HMC5843
146	tristate
147	select IIO_BUFFER
148	select IIO_TRIGGERED_BUFFER
149
150config SENSORS_HMC5843_I2C
151	tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)"
152	depends on I2C
153	select SENSORS_HMC5843
154	select REGMAP_I2C
155	help
156	  Say Y here to add support for the Honeywell HMC5843, HMC5883 and
157	  HMC5883L 3-Axis Magnetometer (digital compass).
158
159	  This driver can also be compiled as a set of modules.
160	  If so, these modules will be created:
161	  - hmc5843_core (core functions)
162	  - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983)
163
164config SENSORS_HMC5843_SPI
165	tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)"
166	depends on SPI_MASTER
167	select SENSORS_HMC5843
168	select REGMAP_SPI
169	help
170	  Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer
171	  (digital compass).
172
173	  This driver can also be compiled as a set of modules.
174	  If so, these modules will be created:
175	  - hmc5843_core (core functions)
176	  - hmc5843_spi (support for HMC5983)
177
178endmenu
179