kernel: iio: fix st_accel_{i2c, spi} driver
[openwrt/staging/jow.git] / package / kernel / linux / modules / iio.mk
1 #
2 # This is free software, licensed under the GNU General Public License v2.
3 # See /LICENSE for more information.
4 #
5
6 IIO_MENU:=Industrial I/O Modules
7
8
9 define KernelPackage/iio-core
10 SUBMENU:=$(IIO_MENU)
11 TITLE:=Industrial IO core
12 KCONFIG:= \
13 CONFIG_IIO \
14 CONFIG_IIO_BUFFER=y \
15 CONFIG_IIO_TRIGGER=y
16 FILES:=$(LINUX_DIR)/drivers/iio/industrialio.ko
17 AUTOLOAD:=$(call AutoLoad,55,industrialio)
18 endef
19
20 define KernelPackage/iio-core/description
21 The industrial I/O subsystem provides a unified framework for
22 drivers for many different types of embedded sensors using a
23 number of different physical interfaces (i2c, spi, etc)
24 endef
25
26 $(eval $(call KernelPackage,iio-core))
27
28
29 define KernelPackage/iio-kfifo-buf
30 SUBMENU:=$(IIO_MENU)
31 TITLE:=Industrial I/O buffering based on kfifo
32 DEPENDS:=+kmod-iio-core
33 KCONFIG:=CONFIG_IIO_KFIFO_BUF
34 FILES:=$(LINUX_DIR)/drivers/iio/buffer/kfifo_buf.ko
35 AUTOLOAD:=$(call AutoLoad,55,kfifo_buf)
36 endef
37
38 define KernelPackage/iio-kfifo-buf/description
39 A simple fifo based on kfifo. Note that this currently provides no buffer
40 events so it is up to userspace to work out how often to read from the buffer.
41 endef
42
43 $(eval $(call KernelPackage,iio-kfifo-buf))
44
45
46 define KernelPackage/industrialio-triggered-buffer
47 SUBMENU:=$(IIO_MENU)
48 TITLE:=Provides helper functions for setting up triggered buffers.
49 DEPENDS:=+kmod-iio-core +kmod-iio-kfifo-buf
50 KCONFIG:=CONFIG_IIO_TRIGGERED_BUFFER
51 FILES:=$(LINUX_DIR)/drivers/iio/buffer/industrialio-triggered-buffer.ko
52 AUTOLOAD:=$(call AutoLoad,55,industrialio-triggered-buffer)
53 endef
54
55 define KernelPackage/industrialio-triggered-buffer/description
56 Provides helper functions for setting up triggered buffers.
57 endef
58
59 $(eval $(call KernelPackage,industrialio-triggered-buffer))
60
61
62 define KernelPackage/iio-ad799x
63 SUBMENU:=$(IIO_MENU)
64 DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer
65 TITLE:=Analog Devices AD799x ADC driver
66 KCONFIG:= \
67 CONFIG_AD799X_RING_BUFFER=y \
68 CONFIG_AD799X
69 FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
70 AUTOLOAD:=$(call AutoLoad,56,ad799x)
71 endef
72
73 define KernelPackage/iio-ad799x/description
74 support for Analog Devices:
75 ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
76 i2c analog to digital converters (ADC).
77 endef
78
79 $(eval $(call KernelPackage,iio-ad799x))
80
81 define KernelPackage/iio-hmc5843
82 SUBMENU:=$(IIO_MENU)
83 DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-regmap-i2c +kmod-industrialio-triggered-buffer
84 TITLE:=Honeywell HMC58x3 Magnetometer
85 KCONFIG:= CONFIG_SENSORS_HMC5843_I2C
86 FILES:= \
87 $(LINUX_DIR)/drivers/iio/magnetometer/hmc5843_i2c.ko \
88 $(LINUX_DIR)/drivers/iio/magnetometer/hmc5843_core.ko
89 AUTOLOAD:=$(call AutoLoad,56,hmc5843)
90 endef
91
92 define KernelPackage/iio-hmc5843/description
93 Honeywell HMC5843/5883/5883L 3-Axis Magnetometer
94 endef
95
96 $(eval $(call KernelPackage,iio-hmc5843))
97
98 define KernelPackage/iio-bh1750
99 SUBMENU:=$(IIO_MENU)
100 DEPENDS:=+kmod-i2c-core +kmod-iio-core
101 TITLE:=ROHM BH1750 ambient light sensor
102 KCONFIG:= CONFIG_BH1750
103 FILES:=$(LINUX_DIR)/drivers/iio/light/bh1750.ko
104 AUTOLOAD:=$(call AutoLoad,56,bh1750)
105 endef
106 define KernelPackage/iio-bh1750/description
107 ROHM BH1750 ambient light sensor (i2c bus)
108 endef
109 $(eval $(call KernelPackage,iio-bh1750))
110
111 define KernelPackage/iio-am2315
112 SUBMENU:=$(IIO_MENU)
113 DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer
114 TITLE:=Asong AM2315 humidity/temperature sensor
115 KCONFIG:= CONFIG_AM2315
116 FILES:=$(LINUX_DIR)/drivers/iio/humidity/am2315.ko
117 AUTOLOAD:=$(call AutoLoad,56,am2315)
118 endef
119 define KernelPackage/iio-am2315/description
120 Aosong AM2315 humidity/temperature sensor (I2C bus)
121 endef
122 $(eval $(call KernelPackage,iio-am2315))
123
124 define KernelPackage/iio-mxs-lradc
125 SUBMENU:=$(IIO_MENU)
126 DEPENDS:=@TARGET_mxs +kmod-iio-core +kmod-industrialio-triggered-buffer
127 TITLE:=Freescale i.MX23/i.MX28 LRADC ADC driver
128 KCONFIG:= \
129 CONFIG_MXS_LRADC_ADC
130 FILES:=$(LINUX_DIR)/drivers/iio/adc/mxs-lradc-adc.ko
131 AUTOLOAD:=$(call AutoLoad,56,mxs-lradc-adc)
132 endef
133
134 define KernelPackage/iio-mxs-lradc/description
135 Support for Freescale's i.MX23/i.MX28 SoC internal Low-Resolution ADC
136 endef
137
138 $(eval $(call KernelPackage,iio-mxs-lradc))
139
140 define KernelPackage/iio-dht11
141 SUBMENU:=$(IIO_MENU)
142 DEPENDS:=+kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
143 TITLE:=DHT11 (and compatible) humidity and temperature sensors
144 KCONFIG:= \
145 CONFIG_DHT11
146 FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
147 AUTOLOAD:=$(call AutoLoad,56,dht11)
148 endef
149
150 define KernelPackage/iio-dht11/description
151 support for DHT11 and DHT22 digitial humidity and temperature sensors
152 attached at GPIO lines. You will need a custom device tree file to
153 specify the GPIO line to use.
154 endef
155
156 $(eval $(call KernelPackage,iio-dht11))
157
158
159 define KernelPackage/iio-bme680
160 SUBMENU:=$(IIO_MENU)
161 TITLE:=BME680 gas/humidity/pressure/temperature sensor
162 DEPENDS:=@!LINUX_4_14 +kmod-iio-core +kmod-regmap-core
163 KCONFIG:=CONFIG_BME680
164 FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_core.ko
165 endef
166
167 define KernelPackage/iio-bme680/description
168 This driver adds support for Bosch Sensortec BME680 sensor with gas,
169 humidity, pressure and temperatue sensing capability.
170 endef
171
172 $(eval $(call KernelPackage,iio-bme680))
173
174 define KernelPackage/iio-bme680-i2c
175 SUBMENU:=$(IIO_MENU)
176 TITLE:=BME680 gas/humidity/pressure/temperature sensor (I2C)
177 DEPENDS:=+kmod-iio-bme680 +kmod-regmap-i2c
178 KCONFIG:=CONFIG_BME680_I2C
179 FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_i2c.ko
180 AUTOLOAD:=$(call AutoProbe,bme680-i2c)
181 endef
182 define KernelPackage/iio-bme680-i2c/description
183 This driver adds support for Bosch Sensortec's BME680 connected via I2C.
184 endef
185
186 $(eval $(call KernelPackage,iio-bme680-i2c))
187
188 define KernelPackage/iio-bme680-spi
189 SUBMENU:=$(IIO_MENU)
190 TITLE:=BME680 gas/humidity/pressure/temperature sensor (SPI)
191 DEPENDS:=+kmod-iio-bme680 +kmod-regmap-spi
192 KCONFIG:=CONFIG_BME680_SPI
193 FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_spi.ko
194 AUTOLOAD:=$(call AutoProbe,bme680-spi)
195 endef
196 define KernelPackage/iio-bme680-spi/description
197 This driver adds support for Bosch Sensortec's BME680 connected via SPI.
198 endef
199
200 $(eval $(call KernelPackage,iio-bme680-spi))
201
202
203 define KernelPackage/iio-bmp280
204 SUBMENU:=$(IIO_MENU)
205 TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor
206 DEPENDS:=+kmod-iio-core +kmod-regmap-core
207 KCONFIG:=CONFIG_BMP280
208 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280.ko
209 endef
210
211 define KernelPackage/iio-bmp280/description
212 This driver adds support for Bosch Sensortec BMP180 and BMP280 pressure and
213 temperature sensors. Also supports the BME280 with an additional humidity
214 sensor channel.
215 endef
216
217 $(eval $(call KernelPackage,iio-bmp280))
218
219
220 define KernelPackage/iio-bmp280-i2c
221 SUBMENU:=$(IIO_MENU)
222 TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (I2C)
223 DEPENDS:=+kmod-iio-bmp280 +kmod-i2c-core +kmod-regmap-i2c
224 KCONFIG:=CONFIG_BMP280_I2C
225 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-i2c.ko
226 AUTOLOAD:=$(call AutoProbe,bmp280-i2c)
227 endef
228 define KernelPackage/iio-bmp280-i2c/description
229 This driver adds support for Bosch Sensortec's digital pressure and
230 temperature sensor connected via I2C.
231 endef
232
233 $(eval $(call KernelPackage,iio-bmp280-i2c))
234
235
236 define KernelPackage/iio-bmp280-spi
237 SUBMENU:=$(IIO_MENU)
238 TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (SPI)
239 DEPENDS:=+kmod-iio-bmp280 +kmod-spi-bitbang
240 KCONFIG:=CONFIG_BMP280_SPI
241 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-spi.ko
242 AUTOLOAD:=$(call AutoProbe,bmp280-spi)
243 endef
244 define KernelPackage/iio-bmp280-spi/description
245 This driver adds support for Bosch Sensortec's digital pressure and
246 temperature sensor connected via SPI.
247 endef
248
249 $(eval $(call KernelPackage,iio-bmp280-spi))
250
251 define KernelPackage/iio-htu21
252 SUBMENU:=$(IIO_MENU)
253 DEPENDS:=+kmod-i2c-core +kmod-iio-core
254 TITLE:=HTU21 humidity & temperature sensor
255 KCONFIG:= \
256 CONFIG_HTU21 \
257 CONFIG_IIO_MS_SENSORS_I2C
258 FILES:= \
259 $(LINUX_DIR)/drivers/iio/humidity/htu21.ko \
260 $(LINUX_DIR)/drivers/iio/common/ms_sensors/ms_sensors_i2c.ko
261 AUTOLOAD:=$(call AutoLoad,56,htu21)
262 endef
263
264 define KernelPackage/iio-htu21/description
265 support for the Measurement Specialties HTU21 humidity and
266 temperature sensor.
267 This driver is also used for MS8607 temperature, pressure & humidity
268 sensor
269 endef
270
271 $(eval $(call KernelPackage,iio-htu21))
272
273
274 define KernelPackage/iio-ccs811
275 SUBMENU:=$(IIO_MENU)
276 DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer
277 TITLE:=AMS CCS811 VOC sensor
278 KCONFIG:= \
279 CONFIG_CCS811
280 FILES:= $(LINUX_DIR)/drivers/iio/chemical/ccs811.ko
281 AUTOLOAD:=$(call AutoLoad,56,ccs811)
282 endef
283
284 define KernelPackage/iio-ccs811/description
285 Support for the AMS CCS811 VOC (Volatile Organic Compounds) sensor
286 endef
287
288 $(eval $(call KernelPackage,iio-ccs811))
289
290
291 define KernelPackage/iio-si7020
292 SUBMENU:=$(IIO_MENU)
293 DEPENDS:=+kmod-i2c-core +kmod-iio-core
294 TITLE:=Silicon Labs Si7020 sensor
295 KCONFIG:= CONFIG_SI7020
296 FILES:=$(LINUX_DIR)/drivers/iio/humidity/si7020.ko
297 AUTOLOAD:=$(call AutoLoad,56,si7020)
298 endef
299
300 define KernelPackage/iio-si7020/description
301 Support for Silicon Labs Si7020 family of relative humidity and
302 temperature sensors connected via I2C. Following models are usable:
303 Si7013, Si7020, Si7021, Hoperf TH06.
304 endef
305
306 $(eval $(call KernelPackage,iio-si7020))
307
308
309 define KernelPackage/iio-st_accel
310 SUBMENU:=$(IIO_MENU)
311 TITLE:=STMicroelectronics accelerometer 3-Axis Driver
312 DEPENDS:=+kmod-iio-core +kmod-regmap-core +kmod-industrialio-triggered-buffer
313 KCONFIG:= \
314 CONFIG_IIO_ST_ACCEL_3AXIS \
315 CONFIG_IIO_ST_SENSORS_CORE
316 FILES:= \
317 $(LINUX_DIR)/drivers/iio/accel/st_accel.ko \
318 $(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors.ko
319 endef
320
321 define KernelPackage/iio-st_accel/description
322 This package adds support for STMicroelectronics accelerometers:
323 LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
324 LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
325 LNG2DM, LIS3DE, LIS2DE12
326 endef
327
328 $(eval $(call KernelPackage,iio-st_accel))
329
330
331 define KernelPackage/iio-st_accel-i2c
332 SUBMENU:=$(IIO_MENU)
333 TITLE:=STMicroelectronics accelerometer 3-Axis Driver (I2C)
334 DEPENDS:=+kmod-iio-st_accel +kmod-i2c-core +kmod-regmap-i2c
335 KCONFIG:= CONFIG_IIO_ST_ACCEL_I2C_3AXIS
336 FILES:= \
337 $(LINUX_DIR)/drivers/iio/accel/st_accel_i2c.ko \
338 $(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors_i2c.ko
339 AUTOLOAD:=$(call AutoLoad,56,st_accel_i2c)
340 endef
341
342 define KernelPackage/iio-st_accel-i2c/description
343 This package adds support for STMicroelectronics I2C based accelerometers
344 endef
345
346 $(eval $(call KernelPackage,iio-st_accel-i2c))
347
348
349 define KernelPackage/iio-st_accel-spi
350 SUBMENU:=$(IIO_MENU)
351 TITLE:=STMicroelectronics accelerometer 3-Axis Driver (SPI)
352 DEPENDS:=+kmod-iio-st_accel +kmod-regmap-spi
353 KCONFIG:= CONFIG_IIO_ST_ACCEL_SPI_3AXIS
354 FILES:= \
355 $(LINUX_DIR)/drivers/iio/accel/st_accel_spi.ko \
356 $(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors_spi.ko
357 AUTOLOAD:=$(call AutoLoad,56,st_accel_spi)
358 endef
359
360 define KernelPackage/iio-st_accel-spi/description
361 This package adds support for STMicroelectronics SPI based accelerometers
362 endef
363
364 $(eval $(call KernelPackage,iio-st_accel-spi))
365
366
367 define KernelPackage/iio-sps30
368 SUBMENU:=$(IIO_MENU)
369 DEPENDS:=@!LINUX_4_14 +kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer +kmod-lib-crc8
370 TITLE:=Sensirion SPS30 particulate matter sensor
371 KCONFIG:=CONFIG_SPS30
372 FILES:=$(LINUX_DIR)/drivers/iio/chemical/sps30.ko
373 AUTOLOAD:=$(call AutoProbe,sps30)
374 endef
375
376 define KernelPackage/iio-sps30/description
377 Support for the Sensirion SPS30 particulate matter sensor.
378 endef
379
380 $(eval $(call KernelPackage,iio-sps30))
381
382
383 define KernelPackage/iio-tsl4531
384 SUBMENU:=$(IIO_MENU)
385 DEPENDS:=+kmod-i2c-core +kmod-iio-core
386 TITLE:=TAOS TSL4531 ambient light sensor
387 KCONFIG:= CONFIG_TSL4531
388 FILES:=$(LINUX_DIR)/drivers/iio/light/tsl4531.ko
389 AUTOLOAD:=$(call AutoLoad,56,tsl4531)
390 endef
391
392 define KernelPackage/iio-tsl4531/description
393 Support for TAOS TSL4531x family of ambient light sensors
394 connected via I2C. Following models are usable:
395 TSL45311, TSL45313, TSL45315, TSL45317.
396 endef
397
398 $(eval $(call KernelPackage,iio-tsl4531))
399
400
401 define KernelPackage/iio-fxos8700
402 SUBMENU:=$(IIO_MENU)
403 TITLE:=Freescale FXOS8700 3-axis accelerometer driver
404 DEPENDS:=+kmod-iio-core +kmod-regmap-core
405 KCONFIG:= CONFIG_FXOS8700
406 FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_core.ko
407 AUTOLOAD:=$(call AutoLoad,56,fxos8700)
408 endef
409
410 define KernelPackage/iio-fxos8700/description
411 Support for Freescale FXOS8700 3-axis accelerometer.
412 endef
413
414 $(eval $(call KernelPackage,iio-fxos8700))
415
416
417 define KernelPackage/iio-fxos8700-i2c
418 SUBMENU:=$(IIO_MENU)
419 TITLE:=Freescale FXOS8700 3-axis acceleromter driver (I2C)
420 DEPENDS:=+kmod-iio-fxos8700 +kmod-i2c-core +kmod-regmap-i2c
421 KCONFIG:= CONFIG_FXOS8700_I2C
422 FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_i2c.ko
423 AUTOLOAD:=$(call AutoLoad,56,fxos8700_i2c)
424 endef
425
426 define KernelPackage/iio-fxos8700-i2c/description
427 Support for Freescale FXOS8700 3-axis accelerometer
428 connected via I2C.
429 endef
430
431
432 $(eval $(call KernelPackage,iio-fxos8700-i2c))
433
434 define KernelPackage/iio-fxos8700-spi
435 SUBMENU:=$(IIO_MENU)
436 DEPENDS:=+kmod-iio-fxos8700 +kmod-regmap-spi
437 TITLE:=Freescale FXOS8700 3-axis accelerometer driver (SPI)
438 KCONFIG:= CONFIG_FXOS8700_SPI
439 FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_spi.ko
440 AUTOLOAD:=$(call AutoLoad,56,fxos8700_spi)
441 endef
442
443 define KernelPackage/iio-fxos8700-spi/description
444 Support for Freescale FXOS8700 3-axis accelerometer
445 connected via SPI.
446 endef
447
448 $(eval $(call KernelPackage,iio-fxos8700-spi))