iio.mk 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  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/industrialio-triggered-buffer.ko@lt4.4) \
  18. $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/buffer/industrialio-triggered-buffer.ko@ge4.4) \
  19. $(LINUX_DIR)/drivers/iio/kfifo_buf.ko@lt4.4 \
  20. $(LINUX_DIR)/drivers/iio/buffer/kfifo_buf.ko@ge4.4
  21. AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
  22. endef
  23. define KernelPackage/iio-core/description
  24. The industrial I/O subsystem provides a unified framework for
  25. drivers for many different types of embedded sensors using a
  26. number of different physical interfaces (i2c, spi, etc)
  27. endef
  28. $(eval $(call KernelPackage,iio-core))
  29. define KernelPackage/iio-ad799x
  30. SUBMENU:=$(IIO_MENU)
  31. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  32. TITLE:=Analog Devices AD799x ADC driver
  33. KCONFIG:= \
  34. CONFIG_AD799X_RING_BUFFER=y \
  35. CONFIG_AD799X
  36. FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
  37. AUTOLOAD:=$(call AutoLoad,56,ad799x)
  38. endef
  39. define KernelPackage/iio-ad799x/description
  40. support for Analog Devices:
  41. ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
  42. i2c analog to digital converters (ADC).
  43. endef
  44. $(eval $(call KernelPackage,iio-ad799x))
  45. define KernelPackage/iio-hmc5843
  46. SUBMENU:=$(IIO_MENU)
  47. DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-regmap-i2c
  48. TITLE:=Honeywell HMC58x3 Magnetometer
  49. KCONFIG:= CONFIG_SENSORS_HMC5843_I2C
  50. FILES:= \
  51. $(LINUX_DIR)/drivers/iio/magnetometer/hmc5843_i2c.ko \
  52. $(LINUX_DIR)/drivers/iio/magnetometer/hmc5843_core.ko
  53. AUTOLOAD:=$(call AutoLoad,56,hmc5843)
  54. endef
  55. define KernelPackage/iio-hmc5843/description
  56. Honeywell HMC5843/5883/5883L 3-Axis Magnetometer
  57. endef
  58. $(eval $(call KernelPackage,iio-hmc5843))
  59. define KernelPackage/iio-bh1750
  60. SUBMENU:=$(IIO_MENU)
  61. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  62. TITLE:=ROHM BH1750 ambient light sensor
  63. KCONFIG:= CONFIG_BH1750
  64. FILES:=$(LINUX_DIR)/drivers/iio/light/bh1750.ko
  65. AUTOLOAD:=$(call AutoLoad,56,bh1750)
  66. endef
  67. define KernelPackage/iio-bh1750/description
  68. ROHM BH1750 ambient light sensor (i2c bus)
  69. endef
  70. $(eval $(call KernelPackage,iio-bh1750))
  71. define KernelPackage/iio-am2315
  72. SUBMENU:=$(IIO_MENU)
  73. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  74. TITLE:=Asong AM2315 humidity/temperature sensor
  75. KCONFIG:= CONFIG_AM2315
  76. FILES:=$(LINUX_DIR)/drivers/iio/humidity/am2315.ko
  77. AUTOLOAD:=$(call AutoLoad,56,am2315)
  78. endef
  79. define KernelPackage/iio-am2315/description
  80. Aosong AM2315 humidity/temperature sensor (I2C bus)
  81. endef
  82. $(eval $(call KernelPackage,iio-am2315))
  83. define KernelPackage/iio-mxs-lradc
  84. SUBMENU:=$(IIO_MENU)
  85. DEPENDS:=@TARGET_mxs +kmod-iio-core
  86. TITLE:=Freescale i.MX23/i.MX28 LRADC ADC driver
  87. KCONFIG:= \
  88. CONFIG_MXS_LRADC_ADC
  89. FILES:=$(LINUX_DIR)/drivers/iio/adc/mxs-lradc-adc.ko
  90. AUTOLOAD:=$(call AutoLoad,56,mxs-lradc-adc)
  91. endef
  92. define KernelPackage/iio-mxs-lradc/description
  93. Support for Freescale's i.MX23/i.MX28 SoC internal Low-Resolution ADC
  94. endef
  95. $(eval $(call KernelPackage,iio-mxs-lradc))
  96. define KernelPackage/iio-dht11
  97. SUBMENU:=$(IIO_MENU)
  98. DEPENDS:=+kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
  99. TITLE:=DHT11 (and compatible) humidity and temperature sensors
  100. KCONFIG:= \
  101. CONFIG_DHT11
  102. FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
  103. AUTOLOAD:=$(call AutoLoad,56,dht11)
  104. endef
  105. define KernelPackage/iio-dht11/description
  106. support for DHT11 and DHT22 digitial humidity and temperature sensors
  107. attached at GPIO lines. You will need a custom device tree file to
  108. specify the GPIO line to use.
  109. endef
  110. $(eval $(call KernelPackage,iio-dht11))
  111. define KernelPackage/iio-bmp280
  112. SUBMENU:=$(IIO_MENU)
  113. TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor
  114. DEPENDS:=+kmod-iio-core +kmod-regmap-core
  115. KCONFIG:=CONFIG_BMP280
  116. FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280.ko
  117. endef
  118. define KernelPackage/iio-bmp280/description
  119. This driver adds support for Bosch Sensortec BMP180 and BMP280 pressure and
  120. temperature sensors. Also supports the BME280 with an additional humidity
  121. sensor channel.
  122. endef
  123. $(eval $(call KernelPackage,iio-bmp280))
  124. define KernelPackage/iio-bmp280-i2c
  125. SUBMENU:=$(IIO_MENU)
  126. TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (I2C)
  127. DEPENDS:=+kmod-iio-bmp280 +kmod-i2c-core +kmod-regmap-i2c
  128. KCONFIG:=CONFIG_BMP280_I2C
  129. FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-i2c.ko
  130. AUTOLOAD:=$(call AutoProbe,bmp280-i2c)
  131. endef
  132. define KernelPackage/iio-bmp280-i2c/description
  133. This driver adds support for Bosch Sensortec's digital pressure and
  134. temperature sensor connected via I2C.
  135. endef
  136. $(eval $(call KernelPackage,iio-bmp280-i2c))
  137. define KernelPackage/iio-bmp280-spi
  138. SUBMENU:=$(IIO_MENU)
  139. TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (SPI)
  140. DEPENDS:=+kmod-iio-bmp280 +kmod-spi-bitbang
  141. KCONFIG:=CONFIG_BMP280_SPI
  142. FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-spi.ko
  143. AUTOLOAD:=$(call AutoProbe,bmp280-spi)
  144. endef
  145. define KernelPackage/iio-bmp280-spi/description
  146. This driver adds support for Bosch Sensortec's digital pressure and
  147. temperature sensor connected via SPI.
  148. endef
  149. $(eval $(call KernelPackage,iio-bmp280-spi))
  150. define KernelPackage/iio-htu21
  151. SUBMENU:=$(IIO_MENU)
  152. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  153. TITLE:=HTU21 humidity & temperature sensor
  154. KCONFIG:= \
  155. CONFIG_HTU21 \
  156. CONFIG_IIO_MS_SENSORS_I2C
  157. FILES:= \
  158. $(LINUX_DIR)/drivers/iio/humidity/htu21.ko \
  159. $(LINUX_DIR)/drivers/iio/common/ms_sensors/ms_sensors_i2c.ko
  160. AUTOLOAD:=$(call AutoLoad,56,htu21)
  161. endef
  162. define KernelPackage/iio-htu21/description
  163. support for the Measurement Specialties HTU21 humidity and
  164. temperature sensor.
  165. This driver is also used for MS8607 temperature, pressure & humidity
  166. sensor
  167. endef
  168. $(eval $(call KernelPackage,iio-htu21))
  169. define KernelPackage/iio-ccs811
  170. SUBMENU:=$(IIO_MENU)
  171. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  172. TITLE:=AMS CCS811 VOC sensor
  173. KCONFIG:= \
  174. CONFIG_CCS811
  175. FILES:= $(LINUX_DIR)/drivers/iio/chemical/ccs811.ko
  176. AUTOLOAD:=$(call AutoLoad,56,ccs811)
  177. endef
  178. define KernelPackage/iio-ccs811/description
  179. Support for the AMS CCS811 VOC (Volatile Organic Compounds) sensor
  180. endef
  181. $(eval $(call KernelPackage,iio-ccs811))
  182. define KernelPackage/iio-si7020
  183. SUBMENU:=$(IIO_MENU)
  184. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  185. TITLE:=Silicon Labs Si7020 sensor
  186. KCONFIG:= CONFIG_SI7020
  187. FILES:=$(LINUX_DIR)/drivers/iio/humidity/si7020.ko
  188. AUTOLOAD:=$(call AutoLoad,56,si7020)
  189. endef
  190. define KernelPackage/iio-si7020/description
  191. Support for Silicon Labs Si7020 family of relative humidity and
  192. temperature sensors connected via I2C. Following models are usable:
  193. Si7013, Si7020, Si7021, Hoperf TH06.
  194. endef
  195. $(eval $(call KernelPackage,iio-si7020))
  196. define KernelPackage/iio-tsl4531
  197. SUBMENU:=$(IIO_MENU)
  198. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  199. TITLE:=TAOS TSL4531 ambient light sensor
  200. KCONFIG:= CONFIG_TSL4531
  201. FILES:=$(LINUX_DIR)/drivers/iio/light/tsl4531.ko
  202. AUTOLOAD:=$(call AutoLoad,56,tsl4531)
  203. endef
  204. define KernelPackage/iio-tsl4531/description
  205. Support for TAOS TSL4531x family of ambient light sensors
  206. connected via I2C. Following models are usable:
  207. TSL45311, TSL45313, TSL45315, TSL45317.
  208. endef
  209. $(eval $(call KernelPackage,iio-tsl4531))