kernel/modules: ROHM BH1750 ALS IIO kernel module support enabled.
[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-bh1750
56 SUBMENU:=$(IIO_MENU)
57 DEPENDS:=+kmod-i2c-core +kmod-iio-core
58 TITLE:=ROHM BH1750 ambient light sensor
59 KCONFIG:= CONFIG_BH1750
60 FILES:=$(LINUX_DIR)/drivers/iio/light/bh1750.ko
61 AUTOLOAD:=$(call AutoLoad,56,bh1750)
62 endef
63 define KernelPackage/iio-bh1750/description
64 ROHM BH1750 ambient light sensor (i2c bus)
65 endef
66 $(eval $(call KernelPackage,iio-bh1750))
67
68 define KernelPackage/iio-am2315
69 SUBMENU:=$(IIO_MENU)
70 DEPENDS:=+kmod-i2c-core +kmod-iio-core
71 TITLE:=Asong AM2315 humidity/temperature sensor
72 KCONFIG:= CONFIG_AM2315
73 FILES:=$(LINUX_DIR)/drivers/iio/humidity/am2315.ko
74 AUTOLOAD:=$(call AutoLoad,56,am2315)
75 endef
76 define KernelPackage/iio-am2315/description
77 Aosong AM2315 humidity/temperature sensor (I2C bus)
78 endef
79 $(eval $(call KernelPackage,iio-am2315))
80
81 define KernelPackage/iio-mxs-lradc
82 SUBMENU:=$(IIO_MENU)
83 DEPENDS:=@TARGET_mxs +kmod-iio-core
84 TITLE:=Freescale i.MX23/i.MX28 LRADC ADC driver
85 KCONFIG:= \
86 CONFIG_MXS_LRADC_ADC
87 FILES:=$(LINUX_DIR)/drivers/iio/adc/mxs-lradc-adc.ko
88 AUTOLOAD:=$(call AutoLoad,56,mxs-lradc-adc)
89 endef
90
91 define KernelPackage/iio-mxs-lradc/description
92 Support for Freescale's i.MX23/i.MX28 SoC internal Low-Resolution ADC
93 endef
94
95 $(eval $(call KernelPackage,iio-mxs-lradc))
96
97 define KernelPackage/iio-dht11
98 SUBMENU:=$(IIO_MENU)
99 DEPENDS:=+kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
100 TITLE:=DHT11 (and compatible) humidity and temperature sensors
101 KCONFIG:= \
102 CONFIG_DHT11
103 FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
104 AUTOLOAD:=$(call AutoLoad,56,dht11)
105 endef
106
107 define KernelPackage/iio-dht11/description
108 support for DHT11 and DHT22 digitial humidity and temperature sensors
109 attached at GPIO lines. You will need a custom device tree file to
110 specify the GPIO line to use.
111 endef
112
113 $(eval $(call KernelPackage,iio-dht11))
114
115 define KernelPackage/iio-bmp280
116 SUBMENU:=$(IIO_MENU)
117 TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor
118 DEPENDS:=@!LINUX_3_18 +kmod-iio-core +kmod-regmap
119 KCONFIG:=CONFIG_BMP280
120 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280.ko
121 endef
122
123 define KernelPackage/iio-bmp280/description
124 This driver adds support for Bosch Sensortec BMP180 and BMP280 pressure and
125 temperature sensors. Also supports the BME280 with an additional humidity
126 sensor channel.
127 endef
128
129 $(eval $(call KernelPackage,iio-bmp280))
130
131
132 define KernelPackage/iio-bmp280-i2c
133 SUBMENU:=$(IIO_MENU)
134 TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (I2C)
135 DEPENDS:=+kmod-iio-bmp280 +kmod-i2c-core
136 KCONFIG:=CONFIG_BMP280_I2C
137 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-i2c.ko
138 AUTOLOAD:=$(call AutoProbe,iio-bmp280-i2c)
139 endef
140 define KernelPackage/iio-bmp280-i2c/description
141 This driver adds support for Bosch Sensortec's digital pressure and
142 temperature sensor connected via I2C.
143 endef
144
145 $(eval $(call KernelPackage,iio-bmp280-i2c))
146
147
148 define KernelPackage/iio-bmp280-spi
149 SUBMENU:=$(IIO_MENU)
150 TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (SPI)
151 DEPENDS:=+kmod-iio-bmp280 +kmod-spi-bitbang
152 KCONFIG:=CONFIG_BMP280_SPI
153 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-spi.ko
154 AUTOLOAD:=$(call AutoProbe,iio-bmp280-spi)
155 endef
156 define KernelPackage/iio-bmp280-spi/description
157 This driver adds support for Bosch Sensortec's digital pressure and
158 temperature sensor connected via SPI.
159 endef
160
161 $(eval $(call KernelPackage,iio-bmp280-spi))
162
163 define KernelPackage/iio-htu21
164 SUBMENU:=$(IIO_MENU)
165 DEPENDS:=+kmod-i2c-core +kmod-iio-core
166 TITLE:=HTU21 humidity & temperature sensor
167 KCONFIG:= \
168 CONFIG_HTU21 \
169 CONFIG_IIO_MS_SENSORS_I2C
170 FILES:= \
171 $(LINUX_DIR)/drivers/iio/humidity/htu21.ko \
172 $(LINUX_DIR)/drivers/iio/common/ms_sensors/ms_sensors_i2c.ko
173 AUTOLOAD:=$(call AutoLoad,56,htu21)
174 endef
175
176 define KernelPackage/iio-htu21/description
177 support for the Measurement Specialties HTU21 humidity and
178 temperature sensor.
179 This driver is also used for MS8607 temperature, pressure & humidity
180 sensor
181 endef
182
183 $(eval $(call KernelPackage,iio-htu21))
184
185
186 define KernelPackage/iio-si7020
187 SUBMENU:=$(IIO_MENU)
188 DEPENDS:=+kmod-i2c-core +kmod-iio-core
189 TITLE:=Silicon Labs Si7020 sensor
190 KCONFIG:= CONFIG_SI7020
191 FILES:=$(LINUX_DIR)/drivers/iio/humidity/si7020.ko
192 AUTOLOAD:=$(call AutoLoad,56,si7020)
193 endef
194
195 define KernelPackage/iio-si7020/description
196 Support for Silicon Labs Si7020 family of relative humidity and
197 temperature sensors connected via I2C. Following models are usable:
198 Si7013, Si7020, Si7021, Hoperf TH06.
199 endef
200
201 $(eval $(call KernelPackage,iio-si7020))
202
203
204 define KernelPackage/iio-tsl4531
205 SUBMENU:=$(IIO_MENU)
206 DEPENDS:=+kmod-i2c-core +kmod-iio-core
207 TITLE:=TAOS TSL4531 ambient light sensor
208 KCONFIG:= CONFIG_TSL4531
209 FILES:=$(LINUX_DIR)/drivers/iio/light/tsl4531.ko
210 AUTOLOAD:=$(call AutoLoad,56,tsl4531)
211 endef
212
213 define KernelPackage/iio-tsl4531/description
214 Support for TAOS TSL4531x family of ambient light sensors
215 connected via I2C. Following models are usable:
216 TSL45311, TSL45313, TSL45315, TSL45317.
217 endef
218
219 $(eval $(call KernelPackage,iio-tsl4531))