ce6705a59a5d9fb43382eda1354b702ce2fc99df
[openwrt/staging/wigyori.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_19 +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-tsl4531
282 SUBMENU:=$(IIO_MENU)
283 DEPENDS:=+kmod-i2c-core +kmod-iio-core
284 TITLE:=TAOS TSL4531 ambient light sensor
285 KCONFIG:= CONFIG_TSL4531
286 FILES:=$(LINUX_DIR)/drivers/iio/light/tsl4531.ko
287 AUTOLOAD:=$(call AutoLoad,56,tsl4531)
288 endef
289
290 define KernelPackage/iio-tsl4531/description
291 Support for TAOS TSL4531x family of ambient light sensors
292 connected via I2C. Following models are usable:
293 TSL45311, TSL45313, TSL45315, TSL45317.
294 endef
295
296 $(eval $(call KernelPackage,iio-tsl4531))