iio.mk 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. #
  2. # This is free software, licensed under the GNU General Public License v2.
  3. # See /LICENSE for more information.
  4. #
  5. IIO_MENU:=Industrial I/O Modules
  6. define KernelPackage/iio-core
  7. SUBMENU:=$(IIO_MENU)
  8. TITLE:=Industrial IO core
  9. KCONFIG:= \
  10. CONFIG_IIO \
  11. CONFIG_IIO_BUFFER=y \
  12. CONFIG_IIO_KFIFO_BUF \
  13. CONFIG_IIO_TRIGGER=y \
  14. CONFIG_IIO_TRIGGERED_BUFFER
  15. FILES:= \
  16. $(LINUX_DIR)/drivers/iio/industrialio.ko \
  17. $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/buffer/industrialio-triggered-buffer.ko) \
  18. $(LINUX_DIR)/drivers/iio/buffer/kfifo_buf.ko
  19. AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
  20. endef
  21. define KernelPackage/iio-core/description
  22. The industrial I/O subsystem provides a unified framework for
  23. drivers for many different types of embedded sensors using a
  24. number of different physical interfaces (i2c, spi, etc)
  25. endef
  26. $(eval $(call KernelPackage,iio-core))
  27. define KernelPackage/iio-ad799x
  28. SUBMENU:=$(IIO_MENU)
  29. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  30. TITLE:=Analog Devices AD799x ADC driver
  31. KCONFIG:= \
  32. CONFIG_AD799X_RING_BUFFER=y \
  33. CONFIG_AD799X
  34. FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
  35. AUTOLOAD:=$(call AutoLoad,56,ad799x)
  36. endef
  37. define KernelPackage/iio-ad799x/description
  38. support for Analog Devices:
  39. ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
  40. i2c analog to digital converters (ADC).
  41. endef
  42. $(eval $(call KernelPackage,iio-ad799x))
  43. define KernelPackage/iio-hmc5843
  44. SUBMENU:=$(IIO_MENU)
  45. DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-regmap-i2c
  46. TITLE:=Honeywell HMC58x3 Magnetometer
  47. KCONFIG:= CONFIG_SENSORS_HMC5843_I2C
  48. FILES:= \
  49. $(LINUX_DIR)/drivers/iio/magnetometer/hmc5843_i2c.ko \
  50. $(LINUX_DIR)/drivers/iio/magnetometer/hmc5843_core.ko
  51. AUTOLOAD:=$(call AutoLoad,56,hmc5843)
  52. endef
  53. define KernelPackage/iio-hmc5843/description
  54. Honeywell HMC5843/5883/5883L 3-Axis Magnetometer
  55. endef
  56. $(eval $(call KernelPackage,iio-hmc5843))
  57. define KernelPackage/iio-bh1750
  58. SUBMENU:=$(IIO_MENU)
  59. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  60. TITLE:=ROHM BH1750 ambient light sensor
  61. KCONFIG:= CONFIG_BH1750
  62. FILES:=$(LINUX_DIR)/drivers/iio/light/bh1750.ko
  63. AUTOLOAD:=$(call AutoLoad,56,bh1750)
  64. endef
  65. define KernelPackage/iio-bh1750/description
  66. ROHM BH1750 ambient light sensor (i2c bus)
  67. endef
  68. $(eval $(call KernelPackage,iio-bh1750))
  69. define KernelPackage/iio-am2315
  70. SUBMENU:=$(IIO_MENU)
  71. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  72. TITLE:=Asong AM2315 humidity/temperature sensor
  73. KCONFIG:= CONFIG_AM2315
  74. FILES:=$(LINUX_DIR)/drivers/iio/humidity/am2315.ko
  75. AUTOLOAD:=$(call AutoLoad,56,am2315)
  76. endef
  77. define KernelPackage/iio-am2315/description
  78. Aosong AM2315 humidity/temperature sensor (I2C bus)
  79. endef
  80. $(eval $(call KernelPackage,iio-am2315))
  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. define KernelPackage/iio-mxs-lradc/description
  91. Support for Freescale's i.MX23/i.MX28 SoC internal Low-Resolution ADC
  92. endef
  93. $(eval $(call KernelPackage,iio-mxs-lradc))
  94. define KernelPackage/iio-dht11
  95. SUBMENU:=$(IIO_MENU)
  96. DEPENDS:=+kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
  97. TITLE:=DHT11 (and compatible) humidity and temperature sensors
  98. KCONFIG:= \
  99. CONFIG_DHT11
  100. FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
  101. AUTOLOAD:=$(call AutoLoad,56,dht11)
  102. endef
  103. define KernelPackage/iio-dht11/description
  104. support for DHT11 and DHT22 digitial humidity and temperature sensors
  105. attached at GPIO lines. You will need a custom device tree file to
  106. specify the GPIO line to use.
  107. endef
  108. $(eval $(call KernelPackage,iio-dht11))
  109. define KernelPackage/iio-bme680
  110. SUBMENU:=$(IIO_MENU)
  111. TITLE:=BME680 gas/humidity/pressure/temperature sensor
  112. DEPENDS:=@!LINUX_4_14 +kmod-iio-core +kmod-regmap-core
  113. KCONFIG:=CONFIG_BME680
  114. FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_core.ko
  115. endef
  116. define KernelPackage/iio-bme680/description
  117. This driver adds support for Bosch Sensortec BME680 sensor with gas,
  118. humidity, pressure and temperatue sensing capability.
  119. endef
  120. $(eval $(call KernelPackage,iio-bme680))
  121. define KernelPackage/iio-bme680-i2c
  122. SUBMENU:=$(IIO_MENU)
  123. TITLE:=BME680 gas/humidity/pressure/temperature sensor (I2C)
  124. DEPENDS:=+kmod-iio-bme680 +kmod-regmap-i2c
  125. KCONFIG:=CONFIG_BME680_I2C
  126. FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_i2c.ko
  127. AUTOLOAD:=$(call AutoProbe,bme680-i2c)
  128. endef
  129. define KernelPackage/iio-bme680-i2c/description
  130. This driver adds support for Bosch Sensortec's BME680 connected via I2C.
  131. endef
  132. $(eval $(call KernelPackage,iio-bme680-i2c))
  133. define KernelPackage/iio-bme680-spi
  134. SUBMENU:=$(IIO_MENU)
  135. TITLE:=BME680 gas/humidity/pressure/temperature sensor (SPI)
  136. DEPENDS:=+kmod-iio-bme680 +kmod-regmap-spi
  137. KCONFIG:=CONFIG_BME680_SPI
  138. FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_spi.ko
  139. AUTOLOAD:=$(call AutoProbe,bme680-spi)
  140. endef
  141. define KernelPackage/iio-bme680-spi/description
  142. This driver adds support for Bosch Sensortec's BME680 connected via SPI.
  143. endef
  144. $(eval $(call KernelPackage,iio-bme680-spi))
  145. define KernelPackage/iio-bmp280
  146. SUBMENU:=$(IIO_MENU)
  147. TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor
  148. DEPENDS:=+kmod-iio-core +kmod-regmap-core
  149. KCONFIG:=CONFIG_BMP280
  150. FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280.ko
  151. endef
  152. define KernelPackage/iio-bmp280/description
  153. This driver adds support for Bosch Sensortec BMP180 and BMP280 pressure and
  154. temperature sensors. Also supports the BME280 with an additional humidity
  155. sensor channel.
  156. endef
  157. $(eval $(call KernelPackage,iio-bmp280))
  158. define KernelPackage/iio-bmp280-i2c
  159. SUBMENU:=$(IIO_MENU)
  160. TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (I2C)
  161. DEPENDS:=+kmod-iio-bmp280 +kmod-i2c-core +kmod-regmap-i2c
  162. KCONFIG:=CONFIG_BMP280_I2C
  163. FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-i2c.ko
  164. AUTOLOAD:=$(call AutoProbe,bmp280-i2c)
  165. endef
  166. define KernelPackage/iio-bmp280-i2c/description
  167. This driver adds support for Bosch Sensortec's digital pressure and
  168. temperature sensor connected via I2C.
  169. endef
  170. $(eval $(call KernelPackage,iio-bmp280-i2c))
  171. define KernelPackage/iio-bmp280-spi
  172. SUBMENU:=$(IIO_MENU)
  173. TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (SPI)
  174. DEPENDS:=+kmod-iio-bmp280 +kmod-spi-bitbang
  175. KCONFIG:=CONFIG_BMP280_SPI
  176. FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-spi.ko
  177. AUTOLOAD:=$(call AutoProbe,bmp280-spi)
  178. endef
  179. define KernelPackage/iio-bmp280-spi/description
  180. This driver adds support for Bosch Sensortec's digital pressure and
  181. temperature sensor connected via SPI.
  182. endef
  183. $(eval $(call KernelPackage,iio-bmp280-spi))
  184. define KernelPackage/iio-htu21
  185. SUBMENU:=$(IIO_MENU)
  186. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  187. TITLE:=HTU21 humidity & temperature sensor
  188. KCONFIG:= \
  189. CONFIG_HTU21 \
  190. CONFIG_IIO_MS_SENSORS_I2C
  191. FILES:= \
  192. $(LINUX_DIR)/drivers/iio/humidity/htu21.ko \
  193. $(LINUX_DIR)/drivers/iio/common/ms_sensors/ms_sensors_i2c.ko
  194. AUTOLOAD:=$(call AutoLoad,56,htu21)
  195. endef
  196. define KernelPackage/iio-htu21/description
  197. support for the Measurement Specialties HTU21 humidity and
  198. temperature sensor.
  199. This driver is also used for MS8607 temperature, pressure & humidity
  200. sensor
  201. endef
  202. $(eval $(call KernelPackage,iio-htu21))
  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. define KernelPackage/iio-ccs811/description
  213. Support for the AMS CCS811 VOC (Volatile Organic Compounds) sensor
  214. endef
  215. $(eval $(call KernelPackage,iio-ccs811))
  216. define KernelPackage/iio-si7020
  217. SUBMENU:=$(IIO_MENU)
  218. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  219. TITLE:=Silicon Labs Si7020 sensor
  220. KCONFIG:= CONFIG_SI7020
  221. FILES:=$(LINUX_DIR)/drivers/iio/humidity/si7020.ko
  222. AUTOLOAD:=$(call AutoLoad,56,si7020)
  223. endef
  224. define KernelPackage/iio-si7020/description
  225. Support for Silicon Labs Si7020 family of relative humidity and
  226. temperature sensors connected via I2C. Following models are usable:
  227. Si7013, Si7020, Si7021, Hoperf TH06.
  228. endef
  229. $(eval $(call KernelPackage,iio-si7020))
  230. define KernelPackage/iio-tsl4531
  231. SUBMENU:=$(IIO_MENU)
  232. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  233. TITLE:=TAOS TSL4531 ambient light sensor
  234. KCONFIG:= CONFIG_TSL4531
  235. FILES:=$(LINUX_DIR)/drivers/iio/light/tsl4531.ko
  236. AUTOLOAD:=$(call AutoLoad,56,tsl4531)
  237. endef
  238. define KernelPackage/iio-tsl4531/description
  239. Support for TAOS TSL4531x family of ambient light sensors
  240. connected via I2C. Following models are usable:
  241. TSL45311, TSL45313, TSL45315, TSL45317.
  242. endef
  243. $(eval $(call KernelPackage,iio-tsl4531))