iio.mk 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444
  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_TRIGGER=y
  13. FILES:=$(LINUX_DIR)/drivers/iio/industrialio.ko
  14. AUTOLOAD:=$(call AutoLoad,55,industrialio)
  15. endef
  16. define KernelPackage/iio-core/description
  17. The industrial I/O subsystem provides a unified framework for
  18. drivers for many different types of embedded sensors using a
  19. number of different physical interfaces (i2c, spi, etc)
  20. endef
  21. $(eval $(call KernelPackage,iio-core))
  22. define KernelPackage/iio-kfifo-buf
  23. SUBMENU:=$(IIO_MENU)
  24. TITLE:=Industrial I/O buffering based on kfifo
  25. DEPENDS:=+kmod-iio-core
  26. KCONFIG:=CONFIG_IIO_KFIFO_BUF
  27. FILES:=$(LINUX_DIR)/drivers/iio/buffer/kfifo_buf.ko
  28. AUTOLOAD:=$(call AutoLoad,55,kfifo_buf)
  29. endef
  30. define KernelPackage/iio-kfifo-buf/description
  31. A simple fifo based on kfifo. Note that this currently provides no buffer
  32. events so it is up to userspace to work out how often to read from the buffer.
  33. endef
  34. $(eval $(call KernelPackage,iio-kfifo-buf))
  35. define KernelPackage/industrialio-triggered-buffer
  36. SUBMENU:=$(IIO_MENU)
  37. TITLE:=Provides helper functions for setting up triggered buffers.
  38. DEPENDS:=+kmod-iio-core +kmod-iio-kfifo-buf
  39. KCONFIG:=CONFIG_IIO_TRIGGERED_BUFFER
  40. FILES:=$(LINUX_DIR)/drivers/iio/buffer/industrialio-triggered-buffer.ko
  41. AUTOLOAD:=$(call AutoLoad,55,industrialio-triggered-buffer)
  42. endef
  43. define KernelPackage/industrialio-triggered-buffer/description
  44. Provides helper functions for setting up triggered buffers.
  45. endef
  46. $(eval $(call KernelPackage,industrialio-triggered-buffer))
  47. define KernelPackage/iio-ad799x
  48. SUBMENU:=$(IIO_MENU)
  49. DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer
  50. TITLE:=Analog Devices AD799x ADC driver
  51. KCONFIG:= \
  52. CONFIG_AD799X_RING_BUFFER=y \
  53. CONFIG_AD799X
  54. FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
  55. AUTOLOAD:=$(call AutoLoad,56,ad799x)
  56. endef
  57. define KernelPackage/iio-ad799x/description
  58. support for Analog Devices:
  59. ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
  60. i2c analog to digital converters (ADC).
  61. endef
  62. $(eval $(call KernelPackage,iio-ad799x))
  63. define KernelPackage/iio-hmc5843
  64. SUBMENU:=$(IIO_MENU)
  65. DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-regmap-i2c +kmod-industrialio-triggered-buffer
  66. TITLE:=Honeywell HMC58x3 Magnetometer
  67. KCONFIG:= CONFIG_SENSORS_HMC5843_I2C
  68. FILES:= \
  69. $(LINUX_DIR)/drivers/iio/magnetometer/hmc5843_i2c.ko \
  70. $(LINUX_DIR)/drivers/iio/magnetometer/hmc5843_core.ko
  71. AUTOLOAD:=$(call AutoLoad,56,hmc5843)
  72. endef
  73. define KernelPackage/iio-hmc5843/description
  74. Honeywell HMC5843/5883/5883L 3-Axis Magnetometer
  75. endef
  76. $(eval $(call KernelPackage,iio-hmc5843))
  77. define KernelPackage/iio-bh1750
  78. SUBMENU:=$(IIO_MENU)
  79. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  80. TITLE:=ROHM BH1750 ambient light sensor
  81. KCONFIG:= CONFIG_BH1750
  82. FILES:=$(LINUX_DIR)/drivers/iio/light/bh1750.ko
  83. AUTOLOAD:=$(call AutoLoad,56,bh1750)
  84. endef
  85. define KernelPackage/iio-bh1750/description
  86. ROHM BH1750 ambient light sensor (i2c bus)
  87. endef
  88. $(eval $(call KernelPackage,iio-bh1750))
  89. define KernelPackage/iio-am2315
  90. SUBMENU:=$(IIO_MENU)
  91. DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer
  92. TITLE:=Asong AM2315 humidity/temperature sensor
  93. KCONFIG:= CONFIG_AM2315
  94. FILES:=$(LINUX_DIR)/drivers/iio/humidity/am2315.ko
  95. AUTOLOAD:=$(call AutoLoad,56,am2315)
  96. endef
  97. define KernelPackage/iio-am2315/description
  98. Aosong AM2315 humidity/temperature sensor (I2C bus)
  99. endef
  100. $(eval $(call KernelPackage,iio-am2315))
  101. define KernelPackage/iio-mxs-lradc
  102. SUBMENU:=$(IIO_MENU)
  103. DEPENDS:=@TARGET_mxs +kmod-iio-core +kmod-industrialio-triggered-buffer
  104. TITLE:=Freescale i.MX23/i.MX28 LRADC ADC driver
  105. KCONFIG:= \
  106. CONFIG_MXS_LRADC_ADC
  107. FILES:=$(LINUX_DIR)/drivers/iio/adc/mxs-lradc-adc.ko
  108. AUTOLOAD:=$(call AutoLoad,56,mxs-lradc-adc)
  109. endef
  110. define KernelPackage/iio-mxs-lradc/description
  111. Support for Freescale's i.MX23/i.MX28 SoC internal Low-Resolution ADC
  112. endef
  113. $(eval $(call KernelPackage,iio-mxs-lradc))
  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. define KernelPackage/iio-dht11/description
  124. support for DHT11 and DHT22 digitial humidity and temperature sensors
  125. attached at GPIO lines. You will need a custom device tree file to
  126. specify the GPIO line to use.
  127. endef
  128. $(eval $(call KernelPackage,iio-dht11))
  129. define KernelPackage/iio-bme680
  130. SUBMENU:=$(IIO_MENU)
  131. TITLE:=BME680 gas/humidity/pressure/temperature sensor
  132. DEPENDS:=@!LINUX_4_14 +kmod-iio-core +kmod-regmap-core
  133. KCONFIG:=CONFIG_BME680
  134. FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_core.ko
  135. endef
  136. define KernelPackage/iio-bme680/description
  137. This driver adds support for Bosch Sensortec BME680 sensor with gas,
  138. humidity, pressure and temperatue sensing capability.
  139. endef
  140. $(eval $(call KernelPackage,iio-bme680))
  141. define KernelPackage/iio-bme680-i2c
  142. SUBMENU:=$(IIO_MENU)
  143. TITLE:=BME680 gas/humidity/pressure/temperature sensor (I2C)
  144. DEPENDS:=+kmod-iio-bme680 +kmod-regmap-i2c
  145. KCONFIG:=CONFIG_BME680_I2C
  146. FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_i2c.ko
  147. AUTOLOAD:=$(call AutoProbe,bme680-i2c)
  148. endef
  149. define KernelPackage/iio-bme680-i2c/description
  150. This driver adds support for Bosch Sensortec's BME680 connected via I2C.
  151. endef
  152. $(eval $(call KernelPackage,iio-bme680-i2c))
  153. define KernelPackage/iio-bme680-spi
  154. SUBMENU:=$(IIO_MENU)
  155. TITLE:=BME680 gas/humidity/pressure/temperature sensor (SPI)
  156. DEPENDS:=+kmod-iio-bme680 +kmod-regmap-spi
  157. KCONFIG:=CONFIG_BME680_SPI
  158. FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_spi.ko
  159. AUTOLOAD:=$(call AutoProbe,bme680-spi)
  160. endef
  161. define KernelPackage/iio-bme680-spi/description
  162. This driver adds support for Bosch Sensortec's BME680 connected via SPI.
  163. endef
  164. $(eval $(call KernelPackage,iio-bme680-spi))
  165. define KernelPackage/iio-bmp280
  166. SUBMENU:=$(IIO_MENU)
  167. TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor
  168. DEPENDS:=+kmod-iio-core +kmod-regmap-core
  169. KCONFIG:=CONFIG_BMP280
  170. FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280.ko
  171. endef
  172. define KernelPackage/iio-bmp280/description
  173. This driver adds support for Bosch Sensortec BMP180 and BMP280 pressure and
  174. temperature sensors. Also supports the BME280 with an additional humidity
  175. sensor channel.
  176. endef
  177. $(eval $(call KernelPackage,iio-bmp280))
  178. define KernelPackage/iio-bmp280-i2c
  179. SUBMENU:=$(IIO_MENU)
  180. TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (I2C)
  181. DEPENDS:=+kmod-iio-bmp280 +kmod-i2c-core +kmod-regmap-i2c
  182. KCONFIG:=CONFIG_BMP280_I2C
  183. FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-i2c.ko
  184. AUTOLOAD:=$(call AutoProbe,bmp280-i2c)
  185. endef
  186. define KernelPackage/iio-bmp280-i2c/description
  187. This driver adds support for Bosch Sensortec's digital pressure and
  188. temperature sensor connected via I2C.
  189. endef
  190. $(eval $(call KernelPackage,iio-bmp280-i2c))
  191. define KernelPackage/iio-bmp280-spi
  192. SUBMENU:=$(IIO_MENU)
  193. TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (SPI)
  194. DEPENDS:=+kmod-iio-bmp280 +kmod-spi-bitbang
  195. KCONFIG:=CONFIG_BMP280_SPI
  196. FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-spi.ko
  197. AUTOLOAD:=$(call AutoProbe,bmp280-spi)
  198. endef
  199. define KernelPackage/iio-bmp280-spi/description
  200. This driver adds support for Bosch Sensortec's digital pressure and
  201. temperature sensor connected via SPI.
  202. endef
  203. $(eval $(call KernelPackage,iio-bmp280-spi))
  204. define KernelPackage/iio-htu21
  205. SUBMENU:=$(IIO_MENU)
  206. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  207. TITLE:=HTU21 humidity & temperature sensor
  208. KCONFIG:= \
  209. CONFIG_HTU21 \
  210. CONFIG_IIO_MS_SENSORS_I2C
  211. FILES:= \
  212. $(LINUX_DIR)/drivers/iio/humidity/htu21.ko \
  213. $(LINUX_DIR)/drivers/iio/common/ms_sensors/ms_sensors_i2c.ko
  214. AUTOLOAD:=$(call AutoLoad,56,htu21)
  215. endef
  216. define KernelPackage/iio-htu21/description
  217. support for the Measurement Specialties HTU21 humidity and
  218. temperature sensor.
  219. This driver is also used for MS8607 temperature, pressure & humidity
  220. sensor
  221. endef
  222. $(eval $(call KernelPackage,iio-htu21))
  223. define KernelPackage/iio-ccs811
  224. SUBMENU:=$(IIO_MENU)
  225. DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer
  226. TITLE:=AMS CCS811 VOC sensor
  227. KCONFIG:= \
  228. CONFIG_CCS811
  229. FILES:= $(LINUX_DIR)/drivers/iio/chemical/ccs811.ko
  230. AUTOLOAD:=$(call AutoLoad,56,ccs811)
  231. endef
  232. define KernelPackage/iio-ccs811/description
  233. Support for the AMS CCS811 VOC (Volatile Organic Compounds) sensor
  234. endef
  235. $(eval $(call KernelPackage,iio-ccs811))
  236. define KernelPackage/iio-si7020
  237. SUBMENU:=$(IIO_MENU)
  238. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  239. TITLE:=Silicon Labs Si7020 sensor
  240. KCONFIG:= CONFIG_SI7020
  241. FILES:=$(LINUX_DIR)/drivers/iio/humidity/si7020.ko
  242. AUTOLOAD:=$(call AutoLoad,56,si7020)
  243. endef
  244. define KernelPackage/iio-si7020/description
  245. Support for Silicon Labs Si7020 family of relative humidity and
  246. temperature sensors connected via I2C. Following models are usable:
  247. Si7013, Si7020, Si7021, Hoperf TH06.
  248. endef
  249. $(eval $(call KernelPackage,iio-si7020))
  250. define KernelPackage/iio-st_accel
  251. SUBMENU:=$(IIO_MENU)
  252. TITLE:=STMicroelectronics accelerometer 3-Axis Driver
  253. DEPENDS:=+kmod-iio-core +kmod-regmap-core +kmod-industrialio-triggered-buffer
  254. KCONFIG:= \
  255. CONFIG_IIO_ST_ACCEL_3AXIS \
  256. CONFIG_IIO_ST_SENSORS_CORE
  257. FILES:= \
  258. $(LINUX_DIR)/drivers/iio/accel/st_accel.ko \
  259. $(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors.ko
  260. endef
  261. define KernelPackage/iio-st_accel/description
  262. This package adds support for STMicroelectronics accelerometers:
  263. LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC,
  264. LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL,
  265. LNG2DM, LIS3DE, LIS2DE12
  266. endef
  267. $(eval $(call KernelPackage,iio-st_accel))
  268. define KernelPackage/iio-st_sensors-i2c
  269. SUBMENU:=$(IIO_MENU)
  270. TITLE:=STMicroelectronics accelerometer 3-Axis Driver (I2C)
  271. DEPENDS:=+kmod-iio-st_accel +kmod-i2c-core +kmod-regmap-i2c
  272. KCONFIG:= CONFIG_IIO_ST_ACCEL_I2C_3AXIS
  273. FILES:=$(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors_i2c.ko
  274. AUTOLOAD:=$(call AutoLoad,56,st_sensors_i2c)
  275. endef
  276. define KernelPackage/iio-st_sensors-i2c/description
  277. This package adds support for STMicroelectronics I2C based accelerometers
  278. endef
  279. $(eval $(call KernelPackage,iio-st_sensors-i2c))
  280. define KernelPackage/iio-sps30
  281. SUBMENU:=$(IIO_MENU)
  282. DEPENDS:=@!LINUX_4_14 +kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer +kmod-lib-crc8
  283. TITLE:=Sensirion SPS30 particulate matter sensor
  284. KCONFIG:=CONFIG_SPS30
  285. FILES:=$(LINUX_DIR)/drivers/iio/chemical/sps30.ko
  286. AUTOLOAD:=$(call AutoProbe,sps30)
  287. endef
  288. define KernelPackage/iio-sps30/description
  289. Support for the Sensirion SPS30 particulate matter sensor.
  290. endef
  291. $(eval $(call KernelPackage,iio-sps30))
  292. define KernelPackage/iio-st_sensors-spi
  293. SUBMENU:=$(IIO_MENU)
  294. TITLE:=STMicroelectronics accelerometer 3-Axis Driver (SPI)
  295. DEPENDS:=+kmod-iio-st_accel +kmod-regmap-spi
  296. KCONFIG:= CONFIG_IIO_ST_ACCEL_SPI_3AXIS
  297. FILES:=$(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors_spi.ko
  298. AUTOLOAD:=$(call AutoLoad,56,st_sensors_spi)
  299. endef
  300. define KernelPackage/iio-st_sensors-spi/description
  301. This package adds support for STMicroelectronics SPI based accelerometers
  302. endef
  303. $(eval $(call KernelPackage,iio-st_sensors-spi))
  304. define KernelPackage/iio-tsl4531
  305. SUBMENU:=$(IIO_MENU)
  306. DEPENDS:=+kmod-i2c-core +kmod-iio-core
  307. TITLE:=TAOS TSL4531 ambient light sensor
  308. KCONFIG:= CONFIG_TSL4531
  309. FILES:=$(LINUX_DIR)/drivers/iio/light/tsl4531.ko
  310. AUTOLOAD:=$(call AutoLoad,56,tsl4531)
  311. endef
  312. define KernelPackage/iio-tsl4531/description
  313. Support for TAOS TSL4531x family of ambient light sensors
  314. connected via I2C. Following models are usable:
  315. TSL45311, TSL45313, TSL45315, TSL45317.
  316. endef
  317. $(eval $(call KernelPackage,iio-tsl4531))
  318. define KernelPackage/iio-fxos8700
  319. SUBMENU:=$(IIO_MENU)
  320. TITLE:=Freescale FXOS8700 3-axis accelerometer driver
  321. DEPENDS:=+kmod-iio-core +kmod-regmap-core
  322. KCONFIG:= CONFIG_FXOS8700
  323. FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_core.ko
  324. AUTOLOAD:=$(call AutoLoad,56,fxos8700)
  325. endef
  326. define KernelPackage/iio-fxos8700/description
  327. Support for Freescale FXOS8700 3-axis accelerometer.
  328. endef
  329. $(eval $(call KernelPackage,iio-fxos8700))
  330. define KernelPackage/iio-fxos8700-i2c
  331. SUBMENU:=$(IIO_MENU)
  332. TITLE:=Freescale FXOS8700 3-axis acceleromter driver (I2C)
  333. DEPENDS:=+kmod-iio-fxos8700 +kmod-i2c-core +kmod-regmap-i2c
  334. KCONFIG:= CONFIG_FXOS8700_I2C
  335. FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_i2c.ko
  336. AUTOLOAD:=$(call AutoLoad,56,fxos8700_i2c)
  337. endef
  338. define KernelPackage/iio-fxos8700-i2c/description
  339. Support for Freescale FXOS8700 3-axis accelerometer
  340. connected via I2C.
  341. endef
  342. $(eval $(call KernelPackage,iio-fxos8700-i2c))
  343. define KernelPackage/iio-fxos8700-spi
  344. SUBMENU:=$(IIO_MENU)
  345. DEPENDS:=+kmod-iio-fxos8700 +kmod-regmap-spi
  346. TITLE:=Freescale FXOS8700 3-axis accelerometer driver (SPI)
  347. KCONFIG:= CONFIG_FXOS8700_SPI
  348. FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_spi.ko
  349. AUTOLOAD:=$(call AutoLoad,56,fxos8700_spi)
  350. endef
  351. define KernelPackage/iio-fxos8700-spi/description
  352. Support for Freescale FXOS8700 3-axis accelerometer
  353. connected via SPI.
  354. endef
  355. $(eval $(call KernelPackage,iio-fxos8700-spi))