44a4806b34f7652d3bffa081435e8bb7ce5c7b6d
[librecmc/librecmc.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,iio-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,iio-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))