639dc054f32fcbe34b68bf9e912bf9c3df52c3b0
[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 define KernelPackage/iio-bmp280
133 SUBMENU:=$(IIO_MENU)
134 TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor
135 DEPENDS:=@!LINUX_3_18 +kmod-iio-core +kmod-regmap-core
136 KCONFIG:=CONFIG_BMP280
137 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280.ko
138 endef
139
140 define KernelPackage/iio-bmp280/description
141 This driver adds support for Bosch Sensortec BMP180 and BMP280 pressure and
142 temperature sensors. Also supports the BME280 with an additional humidity
143 sensor channel.
144 endef
145
146 $(eval $(call KernelPackage,iio-bmp280))
147
148
149 define KernelPackage/iio-bmp280-i2c
150 SUBMENU:=$(IIO_MENU)
151 TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (I2C)
152 DEPENDS:=+kmod-iio-bmp280 +kmod-i2c-core +kmod-regmap-i2c
153 KCONFIG:=CONFIG_BMP280_I2C
154 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-i2c.ko
155 AUTOLOAD:=$(call AutoProbe,bmp280-i2c)
156 endef
157 define KernelPackage/iio-bmp280-i2c/description
158 This driver adds support for Bosch Sensortec's digital pressure and
159 temperature sensor connected via I2C.
160 endef
161
162 $(eval $(call KernelPackage,iio-bmp280-i2c))
163
164
165 define KernelPackage/iio-bmp280-spi
166 SUBMENU:=$(IIO_MENU)
167 TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (SPI)
168 DEPENDS:=+kmod-iio-bmp280 +kmod-spi-bitbang
169 KCONFIG:=CONFIG_BMP280_SPI
170 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-spi.ko
171 AUTOLOAD:=$(call AutoProbe,bmp280-spi)
172 endef
173 define KernelPackage/iio-bmp280-spi/description
174 This driver adds support for Bosch Sensortec's digital pressure and
175 temperature sensor connected via SPI.
176 endef
177
178 $(eval $(call KernelPackage,iio-bmp280-spi))
179
180 define KernelPackage/iio-htu21
181 SUBMENU:=$(IIO_MENU)
182 DEPENDS:=+kmod-i2c-core +kmod-iio-core
183 TITLE:=HTU21 humidity & temperature sensor
184 KCONFIG:= \
185 CONFIG_HTU21 \
186 CONFIG_IIO_MS_SENSORS_I2C
187 FILES:= \
188 $(LINUX_DIR)/drivers/iio/humidity/htu21.ko \
189 $(LINUX_DIR)/drivers/iio/common/ms_sensors/ms_sensors_i2c.ko
190 AUTOLOAD:=$(call AutoLoad,56,htu21)
191 endef
192
193 define KernelPackage/iio-htu21/description
194 support for the Measurement Specialties HTU21 humidity and
195 temperature sensor.
196 This driver is also used for MS8607 temperature, pressure & humidity
197 sensor
198 endef
199
200 $(eval $(call KernelPackage,iio-htu21))
201
202
203 define KernelPackage/iio-ccs811
204 SUBMENU:=$(IIO_MENU)
205 DEPENDS:=+kmod-i2c-core +kmod-iio-core
206 TITLE:=AMS CCS811 VOC sensor
207 KCONFIG:= \
208 CONFIG_CCS811
209 FILES:= $(LINUX_DIR)/drivers/iio/chemical/ccs811.ko
210 AUTOLOAD:=$(call AutoLoad,56,ccs811)
211 endef
212
213 define KernelPackage/iio-ccs811/description
214 Support for the AMS CCS811 VOC (Volatile Organic Compounds) sensor
215 endef
216
217 $(eval $(call KernelPackage,iio-ccs811))
218
219
220 define KernelPackage/iio-si7020
221 SUBMENU:=$(IIO_MENU)
222 DEPENDS:=+kmod-i2c-core +kmod-iio-core
223 TITLE:=Silicon Labs Si7020 sensor
224 KCONFIG:= CONFIG_SI7020
225 FILES:=$(LINUX_DIR)/drivers/iio/humidity/si7020.ko
226 AUTOLOAD:=$(call AutoLoad,56,si7020)
227 endef
228
229 define KernelPackage/iio-si7020/description
230 Support for Silicon Labs Si7020 family of relative humidity and
231 temperature sensors connected via I2C. Following models are usable:
232 Si7013, Si7020, Si7021, Hoperf TH06.
233 endef
234
235 $(eval $(call KernelPackage,iio-si7020))
236
237
238 define KernelPackage/iio-tsl4531
239 SUBMENU:=$(IIO_MENU)
240 DEPENDS:=+kmod-i2c-core +kmod-iio-core
241 TITLE:=TAOS TSL4531 ambient light sensor
242 KCONFIG:= CONFIG_TSL4531
243 FILES:=$(LINUX_DIR)/drivers/iio/light/tsl4531.ko
244 AUTOLOAD:=$(call AutoLoad,56,tsl4531)
245 endef
246
247 define KernelPackage/iio-tsl4531/description
248 Support for TAOS TSL4531x family of ambient light sensors
249 connected via I2C. Following models are usable:
250 TSL45311, TSL45313, TSL45315, TSL45317.
251 endef
252
253 $(eval $(call KernelPackage,iio-tsl4531))