kernel: Add missing dependency to kmod-regmap
[oweals/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))