8edb099edda5092ed8fcf25fbd2aaa2c90ceadbb
[openwrt/openwrt.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:=+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-lsm6dsx
368 SUBMENU:=$(IIO_MENU)
369 DEPENDS:=+kmod-iio-core +kmod-iio-kfifo-buf +kmod-regmap-core
370 TITLE:=ST LSM6DSx driver for IMU MEMS sensors
371 KCONFIG:=CONFIG_IIO_ST_LSM6DSX
372 FILES:=$(LINUX_DIR)/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.ko
373 AUTOLOAD:=$(call AutoProbe,st_lsm6dsx)
374 endef
375
376 define KernelPackage/iio-lsm6dsx/description
377 Support for the ST LSM6DSx and related IMU MEMS sensors.
378 endef
379
380 $(eval $(call KernelPackage,iio-lsm6dsx))
381
382
383 define KernelPackage/iio-lsm6dsx-i2c
384 SUBMENU:=$(IIO_MENU)
385 DEPENDS:=+kmod-iio-lsm6dsx +kmod-i2c-core +kmod-regmap-i2c
386 TITLE:=ST LSM6DSx driver for IMU MEMS sensors (I2C)
387 KCONFIG:=CONFIG_IIO_ST_LSM6DSX
388 FILES:=$(LINUX_DIR)/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.ko
389 AUTOLOAD:=$(call AutoProbe,st_lsm6dsx-i2c)
390 endef
391
392 define KernelPackage/iio-lsm6dsx-i2c/description
393 Support for the ST LSM6DSx and related IMU MEMS I2C sensors.
394 endef
395
396 $(eval $(call KernelPackage,iio-lsm6dsx-i2c))
397
398
399 define KernelPackage/iio-lsm6dsx-spi
400 SUBMENU:=$(IIO_MENU)
401 DEPENDS:=+kmod-iio-lsm6dsx +kmod-regmap-spi
402 TITLE:=ST LSM6DSx driver for IMU MEMS sensors (SPI)
403 KCONFIG:=CONFIG_IIO_ST_LSM6DSX
404 FILES:=$(LINUX_DIR)/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_spi.ko
405 AUTOLOAD:=$(call AutoProbe,st_lsm6dsx-spi)
406 endef
407
408 define KernelPackage/iio-lsm6dsx-spi/description
409 Support for the ST LSM6DSx and related IMU MEMS SPI sensors.
410 endef
411
412 $(eval $(call KernelPackage,iio-lsm6dsx-spi))
413
414
415 define KernelPackage/iio-sps30
416 SUBMENU:=$(IIO_MENU)
417 DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer +kmod-lib-crc8
418 TITLE:=Sensirion SPS30 particulate matter sensor
419 KCONFIG:=CONFIG_SPS30
420 FILES:=$(LINUX_DIR)/drivers/iio/chemical/sps30.ko
421 AUTOLOAD:=$(call AutoProbe,sps30)
422 endef
423
424 define KernelPackage/iio-sps30/description
425 Support for the Sensirion SPS30 particulate matter sensor.
426 endef
427
428 $(eval $(call KernelPackage,iio-sps30))
429
430
431 define KernelPackage/iio-tsl4531
432 SUBMENU:=$(IIO_MENU)
433 DEPENDS:=+kmod-i2c-core +kmod-iio-core
434 TITLE:=TAOS TSL4531 ambient light sensor
435 KCONFIG:= CONFIG_TSL4531
436 FILES:=$(LINUX_DIR)/drivers/iio/light/tsl4531.ko
437 AUTOLOAD:=$(call AutoLoad,56,tsl4531)
438 endef
439
440 define KernelPackage/iio-tsl4531/description
441 Support for TAOS TSL4531x family of ambient light sensors
442 connected via I2C. Following models are usable:
443 TSL45311, TSL45313, TSL45315, TSL45317.
444 endef
445
446 $(eval $(call KernelPackage,iio-tsl4531))
447
448
449 define KernelPackage/iio-fxos8700
450 SUBMENU:=$(IIO_MENU)
451 TITLE:=Freescale FXOS8700 3-axis accelerometer driver
452 DEPENDS:=+kmod-iio-core +kmod-regmap-core
453 KCONFIG:= CONFIG_FXOS8700
454 FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_core.ko
455 AUTOLOAD:=$(call AutoLoad,56,fxos8700)
456 endef
457
458 define KernelPackage/iio-fxos8700/description
459 Support for Freescale FXOS8700 3-axis accelerometer.
460 endef
461
462 $(eval $(call KernelPackage,iio-fxos8700))
463
464
465 define KernelPackage/iio-fxos8700-i2c
466 SUBMENU:=$(IIO_MENU)
467 TITLE:=Freescale FXOS8700 3-axis acceleromter driver (I2C)
468 DEPENDS:=+kmod-iio-fxos8700 +kmod-i2c-core +kmod-regmap-i2c
469 KCONFIG:= CONFIG_FXOS8700_I2C
470 FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_i2c.ko
471 AUTOLOAD:=$(call AutoLoad,56,fxos8700_i2c)
472 endef
473
474 define KernelPackage/iio-fxos8700-i2c/description
475 Support for Freescale FXOS8700 3-axis accelerometer
476 connected via I2C.
477 endef
478
479
480 $(eval $(call KernelPackage,iio-fxos8700-i2c))
481
482 define KernelPackage/iio-fxos8700-spi
483 SUBMENU:=$(IIO_MENU)
484 DEPENDS:=+kmod-iio-fxos8700 +kmod-regmap-spi
485 TITLE:=Freescale FXOS8700 3-axis accelerometer driver (SPI)
486 KCONFIG:= CONFIG_FXOS8700_SPI
487 FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_spi.ko
488 AUTOLOAD:=$(call AutoLoad,56,fxos8700_spi)
489 endef
490
491 define KernelPackage/iio-fxos8700-spi/description
492 Support for Freescale FXOS8700 3-axis accelerometer
493 connected via SPI.
494 endef
495
496 $(eval $(call KernelPackage,iio-fxos8700-spi))