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