2 # This is free software, licensed under the GNU General Public License v2.
3 # See /LICENSE for more information.
6 IIO_MENU
:=Industrial I
/O Modules
9 define KernelPackage
/iio-core
11 TITLE
:=Industrial IO core
16 FILES
:=$(LINUX_DIR
)/drivers
/iio
/industrialio.ko
17 AUTOLOAD
:=$(call AutoLoad
,55,industrialio
)
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
)
26 $(eval
$(call KernelPackage
,iio-core
))
30 DEPENDS
+=+kmod-iio-core
$(1)
33 define KernelPackage
/iio-kfifo-buf
34 TITLE
:=Industrial I
/O buffering based on kfifo
35 KCONFIG
:=CONFIG_IIO_KFIFO_BUF
36 FILES
:=$(LINUX_DIR
)/drivers
/iio
/buffer
/kfifo_buf.ko
37 AUTOLOAD
:=$(call AutoLoad
,55,kfifo_buf
)
38 $(call AddDepends
/iio
)
41 define KernelPackage
/iio-kfifo-buf
/description
42 A simple fifo based on kfifo. Note that this currently provides no buffer
43 events so it is up to userspace to work out how often to read from the buffer.
46 $(eval
$(call KernelPackage
,iio-kfifo-buf
))
49 define KernelPackage
/industrialio-triggered-buffer
50 TITLE
:=Provides helper functions for setting up triggered buffers.
51 DEPENDS
:=+kmod-iio-kfifo-buf
52 KCONFIG
:=CONFIG_IIO_TRIGGERED_BUFFER
53 FILES
:=$(LINUX_DIR
)/drivers
/iio
/buffer
/industrialio-triggered-buffer.ko
54 AUTOLOAD
:=$(call AutoLoad
,55,industrialio-triggered-buffer
)
55 $(call AddDepends
/iio
)
58 define KernelPackage
/industrialio-triggered-buffer
/description
59 Provides helper functions for setting up triggered buffers.
62 $(eval
$(call KernelPackage
,industrialio-triggered-buffer
))
65 define KernelPackage
/iio-ad799x
66 DEPENDS
:=+kmod-i2c-core
+kmod-industrialio-triggered-buffer
67 TITLE
:=Analog Devices AD799x ADC driver
69 CONFIG_AD799X_RING_BUFFER
=y \
71 FILES
:=$(LINUX_DIR
)/drivers
/iio
/adc
/ad799x.ko
72 AUTOLOAD
:=$(call AutoLoad
,56,ad799x
)
73 $(call AddDepends
/iio
)
76 define KernelPackage
/iio-ad799x
/description
77 support for Analog Devices
:
78 ad7991
, ad7995
, ad7999
, ad7992
, ad7993
, ad7994
, ad7997
, ad7998
79 i2c analog to digital converters
(ADC
).
82 $(eval
$(call KernelPackage
,iio-ad799x
))
84 define KernelPackage
/iio-ads1015
85 DEPENDS
:=+kmod-i2c-core
+kmod-regmap-i2c
+kmod-industrialio-triggered-buffer
86 TITLE
:=Texas Instruments ADS1015 ADC driver
87 KCONFIG
:= CONFIG_TI_ADS1015
88 FILES
:=$(LINUX_DIR
)/drivers
/iio
/adc
/ti-ads1015.ko
89 AUTOLOAD
:=$(call AutoLoad
,56,ti-ads1015
)
90 $(call AddDepends
/iio
)
93 define KernelPackage
/iio-ads1015
/description
94 This driver adds support for Texas Instruments ADS1015 and ADS1115 ADCs.
97 $(eval
$(call KernelPackage
,iio-ads1015
))
99 define KernelPackage
/iio-hmc5843
100 DEPENDS
:=+kmod-i2c-core
+kmod-regmap-i2c
+kmod-industrialio-triggered-buffer
101 TITLE
:=Honeywell HMC58x3 Magnetometer
102 KCONFIG
:= CONFIG_SENSORS_HMC5843_I2C
104 $(LINUX_DIR
)/drivers
/iio
/magnetometer
/hmc5843_i2c.ko \
105 $(LINUX_DIR
)/drivers
/iio
/magnetometer
/hmc5843_core.ko
106 AUTOLOAD
:=$(call AutoLoad
,56,hmc5843
)
107 $(call AddDepends
/iio
)
110 define KernelPackage
/iio-hmc5843
/description
111 Honeywell HMC5843
/5883/5883L 3-Axis Magnetometer
114 $(eval
$(call KernelPackage
,iio-hmc5843
))
116 define KernelPackage
/iio-bh1750
117 DEPENDS
:=+kmod-i2c-core
118 TITLE
:=ROHM BH1750 ambient light sensor
119 KCONFIG
:= CONFIG_BH1750
120 FILES
:=$(LINUX_DIR
)/drivers
/iio
/light
/bh1750.ko
121 AUTOLOAD
:=$(call AutoLoad
,56,bh1750
)
122 $(call AddDepends
/iio
)
124 define KernelPackage
/iio-bh1750
/description
125 ROHM BH1750 ambient light sensor
(i2c bus
)
127 $(eval
$(call KernelPackage
,iio-bh1750
))
129 define KernelPackage
/iio-am2315
130 DEPENDS
:=+kmod-i2c-core
+kmod-industrialio-triggered-buffer
131 TITLE
:=Asong AM2315 humidity
/temperature sensor
132 KCONFIG
:= CONFIG_AM2315
133 FILES
:=$(LINUX_DIR
)/drivers
/iio
/humidity
/am2315.ko
134 AUTOLOAD
:=$(call AutoLoad
,56,am2315
)
135 $(call AddDepends
/iio
)
137 define KernelPackage
/iio-am2315
/description
138 Aosong AM2315 humidity
/temperature sensor
(I2C bus
)
140 $(eval
$(call KernelPackage
,iio-am2315
))
142 define KernelPackage
/iio-mxs-lradc
143 DEPENDS
:=@TARGET_mxs
+kmod-industrialio-triggered-buffer
144 TITLE
:=Freescale i.MX23
/i.MX28 LRADC ADC driver
147 FILES
:=$(LINUX_DIR
)/drivers
/iio
/adc
/mxs-lradc-adc.ko
148 AUTOLOAD
:=$(call AutoLoad
,56,mxs-lradc-adc
)
149 $(call AddDepends
/iio
)
152 define KernelPackage
/iio-mxs-lradc
/description
153 Support for Freescale
's i.MX23/i.MX28 SoC internal Low-Resolution ADC
156 $(eval $(call KernelPackage,iio-mxs-lradc))
158 define KernelPackage/iio-dht11
159 DEPENDS:=@GPIO_SUPPORT @USES_DEVICETREE
160 TITLE:=DHT11 (and compatible) humidity and temperature sensors
163 FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
164 AUTOLOAD:=$(call AutoLoad,56,dht11)
165 $(call AddDepends/iio)
168 define KernelPackage/iio-dht11/description
169 support for DHT11 and DHT22 digitial humidity and temperature sensors
170 attached at GPIO lines. You will need a custom device tree file to
171 specify the GPIO line to use.
174 $(eval $(call KernelPackage,iio-dht11))
177 define KernelPackage/iio-bme680
178 TITLE:=BME680 gas/humidity/pressure/temperature sensor
179 DEPENDS:=+kmod-regmap-core
180 KCONFIG:=CONFIG_BME680
181 FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_core.ko
182 $(call AddDepends/iio)
185 define KernelPackage/iio-bme680/description
186 This driver adds support for Bosch Sensortec BME680 sensor with gas,
187 humidity, pressure and temperatue sensing capability.
190 $(eval $(call KernelPackage,iio-bme680))
192 define KernelPackage/iio-bme680-i2c
193 TITLE:=BME680 gas/humidity/pressure/temperature sensor (I2C)
194 DEPENDS:=+kmod-iio-bme680 +kmod-regmap-i2c
195 KCONFIG:=CONFIG_BME680_I2C
196 FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_i2c.ko
197 AUTOLOAD:=$(call AutoProbe,bme680-i2c)
198 $(call AddDepends/iio)
200 define KernelPackage/iio-bme680-i2c/description
201 This driver adds support for Bosch Sensortec's BME680 connected via I2C.
204 $(eval
$(call KernelPackage
,iio-bme680-i2c
))
206 define KernelPackage
/iio-bme680-spi
207 TITLE
:=BME680 gas
/humidity
/pressure
/temperature sensor
(SPI
)
208 DEPENDS
:=+kmod-iio-bme680
+kmod-regmap-spi
209 KCONFIG
:=CONFIG_BME680_SPI
210 FILES
:=$(LINUX_DIR
)/drivers
/iio
/chemical
/bme680_spi.ko
211 AUTOLOAD
:=$(call AutoProbe
,bme680-spi
)
212 $(call AddDepends
/iio
)
214 define KernelPackage
/iio-bme680-spi
/description
215 This driver adds support for Bosch Sensortec
's BME680 connected via SPI.
218 $(eval $(call KernelPackage,iio-bme680-spi))
221 define KernelPackage/iio-bmp280
222 TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor
223 DEPENDS:=+kmod-regmap-core
224 KCONFIG:=CONFIG_BMP280
225 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280.ko
226 $(call AddDepends/iio)
229 define KernelPackage/iio-bmp280/description
230 This driver adds support for Bosch Sensortec BMP180 and BMP280 pressure and
231 temperature sensors. Also supports the BME280 with an additional humidity
235 $(eval $(call KernelPackage,iio-bmp280))
238 define KernelPackage/iio-bmp280-i2c
239 TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (I2C)
240 DEPENDS:=+kmod-iio-bmp280 +kmod-i2c-core +kmod-regmap-i2c
241 KCONFIG:=CONFIG_BMP280_I2C
242 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-i2c.ko
243 AUTOLOAD:=$(call AutoProbe,bmp280-i2c)
244 $(call AddDepends/iio)
246 define KernelPackage/iio-bmp280-i2c/description
247 This driver adds support for Bosch Sensortec's digital pressure and
248 temperature sensor connected via I2C.
251 $(eval
$(call KernelPackage
,iio-bmp280-i2c
))
254 define KernelPackage
/iio-bmp280-spi
255 TITLE
:=BMP180
/BMP280
/BME280 pressure
/temperatur sensor
(SPI
)
256 DEPENDS
:=+kmod-iio-bmp280
+kmod-spi-bitbang
257 KCONFIG
:=CONFIG_BMP280_SPI
258 FILES
:=$(LINUX_DIR
)/drivers
/iio
/pressure
/bmp280-spi.ko
259 AUTOLOAD
:=$(call AutoProbe
,bmp280-spi
)
260 $(call AddDepends
/iio
)
262 define KernelPackage
/iio-bmp280-spi
/description
263 This driver adds support for Bosch Sensortec
's digital pressure and
264 temperature sensor connected via SPI.
267 $(eval $(call KernelPackage,iio-bmp280-spi))
269 define KernelPackage/iio-htu21
270 DEPENDS:=+kmod-i2c-core
271 TITLE:=HTU21 humidity & temperature sensor
274 CONFIG_IIO_MS_SENSORS_I2C
276 $(LINUX_DIR)/drivers/iio/humidity/htu21.ko \
277 $(LINUX_DIR)/drivers/iio/common/ms_sensors/ms_sensors_i2c.ko
278 AUTOLOAD:=$(call AutoLoad,56,htu21)
279 $(call AddDepends/iio)
282 define KernelPackage/iio-htu21/description
283 support for the Measurement Specialties HTU21 humidity and
285 This driver is also used for MS8607 temperature, pressure & humidity
289 $(eval $(call KernelPackage,iio-htu21))
292 define KernelPackage/iio-ccs811
293 DEPENDS:=+kmod-i2c-core +kmod-industrialio-triggered-buffer
294 TITLE:=AMS CCS811 VOC sensor
297 FILES:= $(LINUX_DIR)/drivers/iio/chemical/ccs811.ko
298 AUTOLOAD:=$(call AutoLoad,56,ccs811)
299 $(call AddDepends/iio)
302 define KernelPackage/iio-ccs811/description
303 Support for the AMS CCS811 VOC (Volatile Organic Compounds) sensor
306 $(eval $(call KernelPackage,iio-ccs811))
309 define KernelPackage/iio-si7020
310 DEPENDS:=+kmod-i2c-core
311 TITLE:=Silicon Labs Si7020 sensor
312 KCONFIG:= CONFIG_SI7020
313 FILES:=$(LINUX_DIR)/drivers/iio/humidity/si7020.ko
314 AUTOLOAD:=$(call AutoLoad,56,si7020)
315 $(call AddDepends/iio)
318 define KernelPackage/iio-si7020/description
319 Support for Silicon Labs Si7020 family of relative humidity and
320 temperature sensors connected via I2C. Following models are usable:
321 Si7013, Si7020, Si7021, Hoperf TH06.
324 $(eval $(call KernelPackage,iio-si7020))
327 define KernelPackage/iio-st_accel
328 TITLE:=STMicroelectronics accelerometer 3-Axis Driver
329 DEPENDS:=+kmod-regmap-core +kmod-industrialio-triggered-buffer
331 CONFIG_IIO_ST_ACCEL_3AXIS \
332 CONFIG_IIO_ST_SENSORS_CORE
334 $(LINUX_DIR)/drivers/iio/accel/st_accel.ko \
335 $(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors.ko
336 $(call AddDepends/iio)
339 define KernelPackage/iio-st_accel/description
340 This package adds support for STMicroelectronics accelerometers:
341 LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
342 LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
343 LNG2DM, LIS3DE, LIS2DE12
346 $(eval $(call KernelPackage,iio-st_accel))
349 define KernelPackage/iio-st_accel-i2c
350 TITLE:=STMicroelectronics accelerometer 3-Axis Driver (I2C)
351 DEPENDS:=+kmod-iio-st_accel +kmod-i2c-core +kmod-regmap-i2c
352 KCONFIG:= CONFIG_IIO_ST_ACCEL_I2C_3AXIS
354 $(LINUX_DIR)/drivers/iio/accel/st_accel_i2c.ko \
355 $(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors_i2c.ko
356 AUTOLOAD:=$(call AutoLoad,56,st_accel_i2c)
357 $(call AddDepends/iio)
360 define KernelPackage/iio-st_accel-i2c/description
361 This package adds support for STMicroelectronics I2C based accelerometers
364 $(eval $(call KernelPackage,iio-st_accel-i2c))
367 define KernelPackage/iio-st_accel-spi
368 TITLE:=STMicroelectronics accelerometer 3-Axis Driver (SPI)
369 DEPENDS:=+kmod-iio-st_accel +kmod-regmap-spi
370 KCONFIG:= CONFIG_IIO_ST_ACCEL_SPI_3AXIS
372 $(LINUX_DIR)/drivers/iio/accel/st_accel_spi.ko \
373 $(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors_spi.ko
374 AUTOLOAD:=$(call AutoLoad,56,st_accel_spi)
375 $(call AddDepends/iio)
378 define KernelPackage/iio-st_accel-spi/description
379 This package adds support for STMicroelectronics SPI based accelerometers
382 $(eval $(call KernelPackage,iio-st_accel-spi))
385 define KernelPackage/iio-lsm6dsx
386 DEPENDS:=+kmod-iio-kfifo-buf +kmod-regmap-core
387 TITLE:=ST LSM6DSx driver for IMU MEMS sensors
388 KCONFIG:=CONFIG_IIO_ST_LSM6DSX
389 FILES:=$(LINUX_DIR)/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.ko
390 AUTOLOAD:=$(call AutoProbe,st_lsm6dsx)
391 $(call AddDepends/iio)
394 define KernelPackage/iio-lsm6dsx/description
395 Support for the ST LSM6DSx and related IMU MEMS sensors.
398 $(eval $(call KernelPackage,iio-lsm6dsx))
401 define KernelPackage/iio-lsm6dsx-i2c
402 DEPENDS:=+kmod-iio-lsm6dsx +kmod-i2c-core +kmod-regmap-i2c
403 TITLE:=ST LSM6DSx driver for IMU MEMS sensors (I2C)
404 KCONFIG:=CONFIG_IIO_ST_LSM6DSX
405 FILES:=$(LINUX_DIR)/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.ko
406 AUTOLOAD:=$(call AutoProbe,st_lsm6dsx-i2c)
407 $(call AddDepends/iio)
410 define KernelPackage/iio-lsm6dsx-i2c/description
411 Support for the ST LSM6DSx and related IMU MEMS I2C sensors.
414 $(eval $(call KernelPackage,iio-lsm6dsx-i2c))
417 define KernelPackage/iio-lsm6dsx-spi
418 DEPENDS:=+kmod-iio-lsm6dsx +kmod-regmap-spi
419 TITLE:=ST LSM6DSx driver for IMU MEMS sensors (SPI)
420 KCONFIG:=CONFIG_IIO_ST_LSM6DSX
421 FILES:=$(LINUX_DIR)/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_spi.ko
422 AUTOLOAD:=$(call AutoProbe,st_lsm6dsx-spi)
423 $(call AddDepends/iio)
426 define KernelPackage/iio-lsm6dsx-spi/description
427 Support for the ST LSM6DSx and related IMU MEMS SPI sensors.
430 $(eval $(call KernelPackage,iio-lsm6dsx-spi))
433 define KernelPackage/iio-sps30
434 DEPENDS:=+kmod-i2c-core +kmod-industrialio-triggered-buffer +kmod-lib-crc8
435 TITLE:=Sensirion SPS30 particulate matter sensor
440 $(LINUX_DIR)/drivers/iio/chemical/sps30.ko \
441 $(LINUX_DIR)/drivers/iio/chemical/sps30_i2c.ko@ge5.14
442 AUTOLOAD:=$(call AutoProbe,sps30 sps30_i2c)
443 $(call AddDepends/iio)
446 define KernelPackage/iio-sps30/description
447 Support for the Sensirion SPS30 particulate matter sensor.
450 $(eval $(call KernelPackage,iio-sps30))
453 define KernelPackage/iio-tsl4531
454 DEPENDS:=+kmod-i2c-core
455 TITLE:=TAOS TSL4531 ambient light sensor
456 KCONFIG:= CONFIG_TSL4531
457 FILES:=$(LINUX_DIR)/drivers/iio/light/tsl4531.ko
458 AUTOLOAD:=$(call AutoLoad,56,tsl4531)
459 $(call AddDepends/iio)
462 define KernelPackage/iio-tsl4531/description
463 Support for TAOS TSL4531x family of ambient light sensors
464 connected via I2C. Following models are usable:
465 TSL45311, TSL45313, TSL45315, TSL45317.
468 $(eval $(call KernelPackage,iio-tsl4531))
471 define KernelPackage/iio-fxas21002c
472 TITLE:=Freescale FXAS21002C 3-axis gyro driver
473 DEPENDS:=+kmod-regmap-core +kmod-industrialio-triggered-buffer
474 KCONFIG:= CONFIG_FXAS21002C
475 FILES:=$(LINUX_DIR)/drivers/iio/gyro/fxas21002c_core.ko
476 AUTOLOAD:=$(call AutoLoad,56,fxas21002c)
477 $(call AddDepends/iio)
480 define KernelPackage/iio-fxas21002c/description
481 Support for Freescale FXAS21002C 3-axis gyro.
484 $(eval $(call KernelPackage,iio-fxas21002c))
487 define KernelPackage/iio-fxas21002c-i2c
488 TITLE:=Freescale FXAS21002C 3-axis gyro driver (I2C)
489 DEPENDS:=+kmod-iio-fxas21002c +kmod-i2c-core +kmod-regmap-i2c
490 KCONFIG:= CONFIG_FXAS21002C_I2C
491 FILES:=$(LINUX_DIR)/drivers/iio/gyro/fxas21002c_i2c.ko
492 AUTOLOAD:=$(call AutoLoad,56,fxas21002c_i2c)
493 $(call AddDepends/iio)
496 define KernelPackage/iio-fxas21002c-i2c/description
497 Support for Freescale FXAS21002C 3-axis gyro
502 $(eval $(call KernelPackage,iio-fxas21002c-i2c))
504 define KernelPackage/iio-fxas21002c-spi
505 DEPENDS:=+kmod-iio-fxas21002c +kmod-regmap-spi
506 TITLE:=Freescale FXAS21002C 3-axis gyro driver (SPI)
507 KCONFIG:= CONFIG_FXAS21002C_SPI
508 FILES:=$(LINUX_DIR)/drivers/iio/gyro/fxas21002c_spi.ko
509 AUTOLOAD:=$(call AutoLoad,56,fxas21002c_spi)
510 $(call AddDepends/iio)
513 define KernelPackage/iio-fxas21002c-spi/description
514 Support for Freescale FXAS21002C 3-axis gyro
518 $(eval $(call KernelPackage,iio-fxas21002c-spi))
521 define KernelPackage/iio-fxos8700
522 TITLE:=Freescale FXOS8700 3-axis accelerometer driver
523 DEPENDS:=+kmod-regmap-core
524 KCONFIG:= CONFIG_FXOS8700
525 FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_core.ko
526 AUTOLOAD:=$(call AutoLoad,56,fxos8700)
527 $(call AddDepends/iio)
530 define KernelPackage/iio-fxos8700/description
531 Support for Freescale FXOS8700 3-axis accelerometer.
534 $(eval $(call KernelPackage,iio-fxos8700))
537 define KernelPackage/iio-fxos8700-i2c
538 TITLE:=Freescale FXOS8700 3-axis acceleromter driver (I2C)
539 DEPENDS:=+kmod-iio-fxos8700 +kmod-i2c-core +kmod-regmap-i2c
540 KCONFIG:= CONFIG_FXOS8700_I2C
541 FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_i2c.ko
542 AUTOLOAD:=$(call AutoLoad,56,fxos8700_i2c)
543 $(call AddDepends/iio)
546 define KernelPackage/iio-fxos8700-i2c/description
547 Support for Freescale FXOS8700 3-axis accelerometer
552 $(eval $(call KernelPackage,iio-fxos8700-i2c))
554 define KernelPackage/iio-fxos8700-spi
555 DEPENDS:=+kmod-iio-fxos8700 +kmod-regmap-spi
556 TITLE:=Freescale FXOS8700 3-axis accelerometer driver (SPI)
557 KCONFIG:= CONFIG_FXOS8700_SPI
558 FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_spi.ko
559 AUTOLOAD:=$(call AutoLoad,56,fxos8700_spi)
560 $(call AddDepends/iio)
563 define KernelPackage/iio-fxos8700-spi/description
564 Support for Freescale FXOS8700 3-axis accelerometer
568 $(eval $(call KernelPackage,iio-fxos8700-spi))