kernel: add kmod-iio-bme680
[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/industrialio-triggered-buffer.ko@lt4.4) \
21 $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/buffer/industrialio-triggered-buffer.ko@ge4.4) \
22 $(LINUX_DIR)/drivers/iio/kfifo_buf.ko@lt4.4 \
23 $(LINUX_DIR)/drivers/iio/buffer/kfifo_buf.ko@ge4.4
24 AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
25 endef
26
27 define KernelPackage/iio-core/description
28 The industrial I/O subsystem provides a unified framework for
29 drivers for many different types of embedded sensors using a
30 number of different physical interfaces (i2c, spi, etc)
31 endef
32
33 $(eval $(call KernelPackage,iio-core))
34
35
36 define KernelPackage/iio-ad799x
37 SUBMENU:=$(IIO_MENU)
38 DEPENDS:=+kmod-i2c-core +kmod-iio-core
39 TITLE:=Analog Devices AD799x ADC driver
40 KCONFIG:= \
41 CONFIG_AD799X_RING_BUFFER=y \
42 CONFIG_AD799X
43 FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
44 AUTOLOAD:=$(call AutoLoad,56,ad799x)
45 endef
46
47 define KernelPackage/iio-ad799x/description
48 support for Analog Devices:
49 ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
50 i2c analog to digital converters (ADC).
51 endef
52
53 $(eval $(call KernelPackage,iio-ad799x))
54
55 define KernelPackage/iio-hmc5843
56 SUBMENU:=$(IIO_MENU)
57 DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-regmap-i2c
58 TITLE:=Honeywell HMC58x3 Magnetometer
59 KCONFIG:= CONFIG_SENSORS_HMC5843_I2C
60 FILES:= \
61 $(LINUX_DIR)/drivers/iio/magnetometer/hmc5843_i2c.ko \
62 $(LINUX_DIR)/drivers/iio/magnetometer/hmc5843_core.ko
63 AUTOLOAD:=$(call AutoLoad,56,hmc5843)
64 endef
65
66 define KernelPackage/iio-hmc5843/description
67 Honeywell HMC5843/5883/5883L 3-Axis Magnetometer
68 endef
69
70 $(eval $(call KernelPackage,iio-hmc5843))
71
72 define KernelPackage/iio-bh1750
73 SUBMENU:=$(IIO_MENU)
74 DEPENDS:=+kmod-i2c-core +kmod-iio-core
75 TITLE:=ROHM BH1750 ambient light sensor
76 KCONFIG:= CONFIG_BH1750
77 FILES:=$(LINUX_DIR)/drivers/iio/light/bh1750.ko
78 AUTOLOAD:=$(call AutoLoad,56,bh1750)
79 endef
80 define KernelPackage/iio-bh1750/description
81 ROHM BH1750 ambient light sensor (i2c bus)
82 endef
83 $(eval $(call KernelPackage,iio-bh1750))
84
85 define KernelPackage/iio-am2315
86 SUBMENU:=$(IIO_MENU)
87 DEPENDS:=+kmod-i2c-core +kmod-iio-core
88 TITLE:=Asong AM2315 humidity/temperature sensor
89 KCONFIG:= CONFIG_AM2315
90 FILES:=$(LINUX_DIR)/drivers/iio/humidity/am2315.ko
91 AUTOLOAD:=$(call AutoLoad,56,am2315)
92 endef
93 define KernelPackage/iio-am2315/description
94 Aosong AM2315 humidity/temperature sensor (I2C bus)
95 endef
96 $(eval $(call KernelPackage,iio-am2315))
97
98 define KernelPackage/iio-mxs-lradc
99 SUBMENU:=$(IIO_MENU)
100 DEPENDS:=@TARGET_mxs +kmod-iio-core
101 TITLE:=Freescale i.MX23/i.MX28 LRADC ADC driver
102 KCONFIG:= \
103 CONFIG_MXS_LRADC_ADC
104 FILES:=$(LINUX_DIR)/drivers/iio/adc/mxs-lradc-adc.ko
105 AUTOLOAD:=$(call AutoLoad,56,mxs-lradc-adc)
106 endef
107
108 define KernelPackage/iio-mxs-lradc/description
109 Support for Freescale's i.MX23/i.MX28 SoC internal Low-Resolution ADC
110 endef
111
112 $(eval $(call KernelPackage,iio-mxs-lradc))
113
114 define KernelPackage/iio-dht11
115 SUBMENU:=$(IIO_MENU)
116 DEPENDS:=+kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
117 TITLE:=DHT11 (and compatible) humidity and temperature sensors
118 KCONFIG:= \
119 CONFIG_DHT11
120 FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
121 AUTOLOAD:=$(call AutoLoad,56,dht11)
122 endef
123
124 define KernelPackage/iio-dht11/description
125 support for DHT11 and DHT22 digitial humidity and temperature sensors
126 attached at GPIO lines. You will need a custom device tree file to
127 specify the GPIO line to use.
128 endef
129
130 $(eval $(call KernelPackage,iio-dht11))
131
132
133 define KernelPackage/iio-bme680
134 SUBMENU:=$(IIO_MENU)
135 TITLE:=BME680 gas/humidity/pressure/temperature sensor
136 DEPENDS:=@LINUX_4_19 +kmod-iio-core +kmod-regmap-core
137 KCONFIG:=CONFIG_BME680
138 FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_core.ko
139 endef
140
141 define KernelPackage/iio-bme680/description
142 This driver adds support for Bosch Sensortec BME680 sensor with gas,
143 humidity, pressure and temperatue sensing capability.
144 endef
145
146 $(eval $(call KernelPackage,iio-bme680))
147
148 define KernelPackage/iio-bme680-i2c
149 SUBMENU:=$(IIO_MENU)
150 TITLE:=BME680 gas/humidity/pressure/temperature sensor (I2C)
151 DEPENDS:=+kmod-iio-bme680 +kmod-regmap-i2c
152 KCONFIG:=CONFIG_BME680_I2C
153 FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_i2c.ko
154 AUTOLOAD:=$(call AutoProbe,bme680-i2c)
155 endef
156 define KernelPackage/iio-bme680-i2c/description
157 This driver adds support for Bosch Sensortec's BME680 connected via I2C.
158 endef
159
160 $(eval $(call KernelPackage,iio-bme680-i2c))
161
162 define KernelPackage/iio-bme680-spi
163 SUBMENU:=$(IIO_MENU)
164 TITLE:=BME680 gas/humidity/pressure/temperature sensor (SPI)
165 DEPENDS:=+kmod-iio-bme680 +kmod-regmap-spi
166 KCONFIG:=CONFIG_BME680_SPI
167 FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_spi.ko
168 AUTOLOAD:=$(call AutoProbe,bme680-spi)
169 endef
170 define KernelPackage/iio-bme680-spi/description
171 This driver adds support for Bosch Sensortec's BME680 connected via SPI.
172 endef
173
174 $(eval $(call KernelPackage,iio-bme680-spi))
175
176
177 define KernelPackage/iio-bmp280
178 SUBMENU:=$(IIO_MENU)
179 TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor
180 DEPENDS:=+kmod-iio-core +kmod-regmap-core
181 KCONFIG:=CONFIG_BMP280
182 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280.ko
183 endef
184
185 define KernelPackage/iio-bmp280/description
186 This driver adds support for Bosch Sensortec BMP180 and BMP280 pressure and
187 temperature sensors. Also supports the BME280 with an additional humidity
188 sensor channel.
189 endef
190
191 $(eval $(call KernelPackage,iio-bmp280))
192
193
194 define KernelPackage/iio-bmp280-i2c
195 SUBMENU:=$(IIO_MENU)
196 TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (I2C)
197 DEPENDS:=+kmod-iio-bmp280 +kmod-i2c-core +kmod-regmap-i2c
198 KCONFIG:=CONFIG_BMP280_I2C
199 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-i2c.ko
200 AUTOLOAD:=$(call AutoProbe,bmp280-i2c)
201 endef
202 define KernelPackage/iio-bmp280-i2c/description
203 This driver adds support for Bosch Sensortec's digital pressure and
204 temperature sensor connected via I2C.
205 endef
206
207 $(eval $(call KernelPackage,iio-bmp280-i2c))
208
209
210 define KernelPackage/iio-bmp280-spi
211 SUBMENU:=$(IIO_MENU)
212 TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (SPI)
213 DEPENDS:=+kmod-iio-bmp280 +kmod-spi-bitbang
214 KCONFIG:=CONFIG_BMP280_SPI
215 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-spi.ko
216 AUTOLOAD:=$(call AutoProbe,bmp280-spi)
217 endef
218 define KernelPackage/iio-bmp280-spi/description
219 This driver adds support for Bosch Sensortec's digital pressure and
220 temperature sensor connected via SPI.
221 endef
222
223 $(eval $(call KernelPackage,iio-bmp280-spi))
224
225 define KernelPackage/iio-htu21
226 SUBMENU:=$(IIO_MENU)
227 DEPENDS:=+kmod-i2c-core +kmod-iio-core
228 TITLE:=HTU21 humidity & temperature sensor
229 KCONFIG:= \
230 CONFIG_HTU21 \
231 CONFIG_IIO_MS_SENSORS_I2C
232 FILES:= \
233 $(LINUX_DIR)/drivers/iio/humidity/htu21.ko \
234 $(LINUX_DIR)/drivers/iio/common/ms_sensors/ms_sensors_i2c.ko
235 AUTOLOAD:=$(call AutoLoad,56,htu21)
236 endef
237
238 define KernelPackage/iio-htu21/description
239 support for the Measurement Specialties HTU21 humidity and
240 temperature sensor.
241 This driver is also used for MS8607 temperature, pressure & humidity
242 sensor
243 endef
244
245 $(eval $(call KernelPackage,iio-htu21))
246
247
248 define KernelPackage/iio-ccs811
249 SUBMENU:=$(IIO_MENU)
250 DEPENDS:=+kmod-i2c-core +kmod-iio-core
251 TITLE:=AMS CCS811 VOC sensor
252 KCONFIG:= \
253 CONFIG_CCS811
254 FILES:= $(LINUX_DIR)/drivers/iio/chemical/ccs811.ko
255 AUTOLOAD:=$(call AutoLoad,56,ccs811)
256 endef
257
258 define KernelPackage/iio-ccs811/description
259 Support for the AMS CCS811 VOC (Volatile Organic Compounds) sensor
260 endef
261
262 $(eval $(call KernelPackage,iio-ccs811))
263
264
265 define KernelPackage/iio-si7020
266 SUBMENU:=$(IIO_MENU)
267 DEPENDS:=+kmod-i2c-core +kmod-iio-core
268 TITLE:=Silicon Labs Si7020 sensor
269 KCONFIG:= CONFIG_SI7020
270 FILES:=$(LINUX_DIR)/drivers/iio/humidity/si7020.ko
271 AUTOLOAD:=$(call AutoLoad,56,si7020)
272 endef
273
274 define KernelPackage/iio-si7020/description
275 Support for Silicon Labs Si7020 family of relative humidity and
276 temperature sensors connected via I2C. Following models are usable:
277 Si7013, Si7020, Si7021, Hoperf TH06.
278 endef
279
280 $(eval $(call KernelPackage,iio-si7020))
281
282
283 define KernelPackage/iio-tsl4531
284 SUBMENU:=$(IIO_MENU)
285 DEPENDS:=+kmod-i2c-core +kmod-iio-core
286 TITLE:=TAOS TSL4531 ambient light sensor
287 KCONFIG:= CONFIG_TSL4531
288 FILES:=$(LINUX_DIR)/drivers/iio/light/tsl4531.ko
289 AUTOLOAD:=$(call AutoLoad,56,tsl4531)
290 endef
291
292 define KernelPackage/iio-tsl4531/description
293 Support for TAOS TSL4531x family of ambient light sensors
294 connected via I2C. Following models are usable:
295 TSL45311, TSL45313, TSL45315, TSL45317.
296 endef
297
298 $(eval $(call KernelPackage,iio-tsl4531))