other.mk 26 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009
  1. #
  2. # Copyright (C) 2006-2015 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. OTHER_MENU:=Other modules
  8. WATCHDOG_DIR:=watchdog
  9. define KernelPackage/6lowpan
  10. SUBMENU:=$(OTHER_MENU)
  11. TITLE:=6LoWPAN shared code
  12. KCONFIG:= \
  13. CONFIG_6LOWPAN \
  14. CONFIG_6LOWPAN_NHC=n
  15. FILES:=$(LINUX_DIR)/net/6lowpan/6lowpan.ko
  16. AUTOLOAD:=$(call AutoProbe,6lowpan)
  17. endef
  18. define KernelPackage/6lowpan/description
  19. Shared 6lowpan code for IEEE 802.15.4 and Bluetooth.
  20. endef
  21. $(eval $(call KernelPackage,6lowpan))
  22. define KernelPackage/bluetooth
  23. SUBMENU:=$(OTHER_MENU)
  24. TITLE:=Bluetooth support
  25. DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +kmod-crypto-ecb +kmod-lib-crc16 +kmod-hid +!LINUX_3_18:kmod-crypto-cmac +LINUX_4_4:kmod-regmap
  26. KCONFIG:= \
  27. CONFIG_BLUEZ \
  28. CONFIG_BLUEZ_L2CAP \
  29. CONFIG_BLUEZ_SCO \
  30. CONFIG_BLUEZ_RFCOMM \
  31. CONFIG_BLUEZ_BNEP \
  32. CONFIG_BLUEZ_HCIUART \
  33. CONFIG_BLUEZ_HCIUSB \
  34. CONFIG_BLUEZ_HIDP \
  35. CONFIG_BT \
  36. CONFIG_BT_BREDR=y \
  37. CONFIG_BT_DEBUGFS=n \
  38. CONFIG_BT_L2CAP=y \
  39. CONFIG_BT_LE=y \
  40. CONFIG_BT_SCO=y \
  41. CONFIG_BT_RFCOMM \
  42. CONFIG_BT_BNEP \
  43. CONFIG_BT_HCIBTUSB \
  44. CONFIG_BT_HCIBTUSB_BCM=n \
  45. CONFIG_BT_HCIUSB \
  46. CONFIG_BT_HCIUART \
  47. CONFIG_BT_HCIUART_BCM=n \
  48. CONFIG_BT_HCIUART_INTEL=n \
  49. CONFIG_BT_HCIUART_H4 \
  50. CONFIG_BT_HIDP \
  51. CONFIG_HID_SUPPORT=y
  52. $(call AddDepends/rfkill)
  53. FILES:= \
  54. $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
  55. $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
  56. $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
  57. $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
  58. $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
  59. $(LINUX_DIR)/drivers/bluetooth/btusb.ko
  60. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,4.1.0)),1)
  61. FILES+= \
  62. $(LINUX_DIR)/drivers/bluetooth/btintel.ko
  63. endif
  64. AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
  65. endef
  66. define KernelPackage/bluetooth/description
  67. Kernel support for Bluetooth devices
  68. endef
  69. $(eval $(call KernelPackage,bluetooth))
  70. define KernelPackage/ath3k
  71. SUBMENU:=$(OTHER_MENU)
  72. TITLE:=ATH3K Kernel Module support
  73. DEPENDS:=+kmod-bluetooth +ar3k-firmware
  74. KCONFIG:= \
  75. CONFIG_BT_ATH3K \
  76. CONFIG_BT_HCIUART_ATH3K=y
  77. $(call AddDepends/bluetooth)
  78. FILES:= \
  79. $(LINUX_DIR)/drivers/bluetooth/ath3k.ko
  80. AUTOLOAD:=$(call AutoProbe,ath3k)
  81. endef
  82. define KernelPackage/ath3k/description
  83. Kernel support for ATH3K Module
  84. endef
  85. $(eval $(call KernelPackage,ath3k))
  86. define KernelPackage/bluetooth_6lowpan
  87. SUBMENU:=$(OTHER_MENU)
  88. TITLE:=Bluetooth 6LoWPAN support
  89. DEPENDS:=+kmod-6lowpan +kmod-bluetooth
  90. KCONFIG:=CONFIG_BT_6LOWPAN
  91. FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko
  92. AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan)
  93. endef
  94. define KernelPackage/bluetooth_6lowpan/description
  95. Kernel support for 6LoWPAN over Bluetooth Low Energy devices
  96. endef
  97. $(eval $(call KernelPackage,bluetooth_6lowpan))
  98. define KernelPackage/bluetooth-hci-h4p
  99. SUBMENU:=$(OTHER_MENU)
  100. TITLE:=HCI driver with H4 Nokia extensions
  101. DEPENDS:=@TARGET_omap24xx +kmod-bluetooth
  102. KCONFIG:=CONFIG_BT_HCIH4P
  103. FILES:=$(LINUX_DIR)/drivers/bluetooth/hci_h4p/hci_h4p.ko
  104. AUTOLOAD:=$(call AutoProbe,hci_h4p)
  105. endef
  106. define KernelPackage/bluetooth-hci-h4p/description
  107. HCI driver with H4 Nokia extensions
  108. endef
  109. $(eval $(call KernelPackage,bluetooth-hci-h4p))
  110. define KernelPackage/dma-buf
  111. SUBMENU:=$(OTHER_MENU)
  112. TITLE:=DMA shared buffer support
  113. HIDDEN:=1
  114. KCONFIG:=CONFIG_DMA_SHARED_BUFFER
  115. FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
  116. AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
  117. endef
  118. $(eval $(call KernelPackage,dma-buf))
  119. define KernelPackage/eeprom-93cx6
  120. SUBMENU:=$(OTHER_MENU)
  121. TITLE:=EEPROM 93CX6 support
  122. KCONFIG:=CONFIG_EEPROM_93CX6
  123. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
  124. AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
  125. endef
  126. define KernelPackage/eeprom-93cx6/description
  127. Kernel module for EEPROM 93CX6 support
  128. endef
  129. $(eval $(call KernelPackage,eeprom-93cx6))
  130. define KernelPackage/eeprom-at24
  131. SUBMENU:=$(OTHER_MENU)
  132. TITLE:=EEPROM AT24 support
  133. KCONFIG:=CONFIG_EEPROM_AT24
  134. DEPENDS:=+kmod-i2c-core
  135. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
  136. AUTOLOAD:=$(call AutoProbe,at24)
  137. endef
  138. define KernelPackage/eeprom-at24/description
  139. Kernel module for most I2C EEPROMs
  140. endef
  141. $(eval $(call KernelPackage,eeprom-at24))
  142. define KernelPackage/eeprom-at25
  143. SUBMENU:=$(OTHER_MENU)
  144. TITLE:=EEPROM AT25 support
  145. KCONFIG:=CONFIG_EEPROM_AT25
  146. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
  147. AUTOLOAD:=$(call AutoProbe,at25)
  148. endef
  149. define KernelPackage/eeprom-at25/description
  150. Kernel module for most SPI EEPROMs
  151. endef
  152. $(eval $(call KernelPackage,eeprom-at25))
  153. define KernelPackage/gpio-dev
  154. SUBMENU:=$(OTHER_MENU)
  155. TITLE:=Generic GPIO char device support
  156. DEPENDS:=@GPIO_SUPPORT
  157. KCONFIG:=CONFIG_GPIO_DEVICE
  158. FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
  159. AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
  160. endef
  161. define KernelPackage/gpio-dev/description
  162. Kernel module to allows control of GPIO pins using a character device.
  163. endef
  164. $(eval $(call KernelPackage,gpio-dev))
  165. define KernelPackage/gpio-mcp23s08
  166. SUBMENU:=$(OTHER_MENU)
  167. TITLE:=Microchip MCP23xxx I/O expander
  168. DEPENDS:=@GPIO_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core
  169. KCONFIG:=CONFIG_GPIO_MCP23S08
  170. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
  171. AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
  172. endef
  173. define KernelPackage/gpio-mcp23s08/description
  174. Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
  175. endef
  176. $(eval $(call KernelPackage,gpio-mcp23s08))
  177. define KernelPackage/gpio-nxp-74hc164
  178. SUBMENU:=$(OTHER_MENU)
  179. TITLE:=NXP 74HC164 GPIO expander support
  180. KCONFIG:=CONFIG_GPIO_NXP_74HC164
  181. FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
  182. AUTOLOAD:=$(call AutoProbe,nxp_74hc164)
  183. endef
  184. define KernelPackage/gpio-nxp-74hc164/description
  185. Kernel module for NXP 74HC164 GPIO expander
  186. endef
  187. $(eval $(call KernelPackage,gpio-nxp-74hc164))
  188. define KernelPackage/gpio-pca953x
  189. SUBMENU:=$(OTHER_MENU)
  190. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
  191. TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
  192. KCONFIG:=CONFIG_GPIO_PCA953X
  193. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
  194. AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
  195. endef
  196. define KernelPackage/gpio-pca953x/description
  197. Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
  198. PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
  199. endef
  200. $(eval $(call KernelPackage,gpio-pca953x))
  201. define KernelPackage/gpio-pcf857x
  202. SUBMENU:=$(OTHER_MENU)
  203. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
  204. TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
  205. KCONFIG:=CONFIG_GPIO_PCF857X
  206. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
  207. AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
  208. endef
  209. define KernelPackage/gpio-pcf857x/description
  210. Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
  211. endef
  212. $(eval $(call KernelPackage,gpio-pcf857x))
  213. define KernelPackage/iio-core
  214. SUBMENU:=$(OTHER_MENU)
  215. TITLE:=Industrial IO core
  216. KCONFIG:= \
  217. CONFIG_IIO \
  218. CONFIG_IIO_BUFFER=y \
  219. CONFIG_IIO_KFIFO_BUF \
  220. CONFIG_IIO_TRIGGER=y \
  221. CONFIG_IIO_TRIGGERED_BUFFER
  222. FILES:= \
  223. $(LINUX_DIR)/drivers/iio/industrialio.ko \
  224. $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/[email protected]) \
  225. $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/buffer/[email protected]) \
  226. $(LINUX_DIR)/drivers/iio/[email protected] \
  227. $(LINUX_DIR)/drivers/iio/buffer/[email protected]
  228. AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
  229. endef
  230. define KernelPackage/iio-core/description
  231. The industrial I/O subsystem provides a unified framework for
  232. drivers for many different types of embedded sensors using a
  233. number of different physical interfaces (i2c, spi, etc)
  234. endef
  235. $(eval $(call KernelPackage,iio-core))
  236. define KernelPackage/iio-ad799x
  237. SUBMENU:=$(OTHER_MENU)
  238. DEPENDS:=kmod-i2c-core kmod-iio-core
  239. TITLE:=Analog Devices AD799x ADC driver
  240. KCONFIG:= \
  241. CONFIG_AD799X_RING_BUFFER=y \
  242. CONFIG_AD799X
  243. FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
  244. AUTOLOAD:=$(call AutoLoad,56,ad799x)
  245. endef
  246. define KernelPackage/iio-ad799x/description
  247. support for Analog Devices:
  248. ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
  249. i2c analog to digital converters (ADC).
  250. endef
  251. $(eval $(call KernelPackage,iio-ad799x))
  252. define KernelPackage/iio-dht11
  253. SUBMENU:=$(OTHER_MENU)
  254. DEPENDS:=kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
  255. TITLE:=DHT11 (and compatible) humidity and temperature sensors
  256. KCONFIG:= \
  257. CONFIG_DHT11
  258. FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
  259. AUTOLOAD:=$(call AutoLoad,56,dht11)
  260. endef
  261. define KernelPackage/iio-dht11/description
  262. support for DHT11 and DHT22 digitial humidity and temperature sensors
  263. attached at GPIO lines. You will need a custom device tree file to
  264. specify the GPIO line to use.
  265. endef
  266. $(eval $(call KernelPackage,iio-dht11))
  267. define KernelPackage/lp
  268. SUBMENU:=$(OTHER_MENU)
  269. TITLE:=Parallel port and line printer support
  270. KCONFIG:= \
  271. CONFIG_PARPORT \
  272. CONFIG_PRINTER \
  273. CONFIG_PPDEV
  274. FILES:= \
  275. $(LINUX_DIR)/drivers/parport/parport.ko \
  276. $(LINUX_DIR)/drivers/char/lp.ko \
  277. $(LINUX_DIR)/drivers/char/ppdev.ko
  278. AUTOLOAD:=$(call AutoLoad,50,parport lp ppdev)
  279. endef
  280. $(eval $(call KernelPackage,lp))
  281. define KernelPackage/mmc
  282. SUBMENU:=$(OTHER_MENU)
  283. TITLE:=MMC/SD Card Support
  284. KCONFIG:= \
  285. CONFIG_MMC \
  286. CONFIG_MMC_BLOCK \
  287. CONFIG_MMC_DEBUG=n \
  288. CONFIG_MMC_UNSAFE_RESUME=n \
  289. CONFIG_MMC_BLOCK_BOUNCE=y \
  290. CONFIG_MMC_TIFM_SD=n \
  291. CONFIG_MMC_WBSD=n \
  292. CONFIG_SDIO_UART=n
  293. FILES:= \
  294. $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
  295. $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
  296. AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
  297. endef
  298. define KernelPackage/mmc/description
  299. Kernel support for MMC/SD cards
  300. endef
  301. $(eval $(call KernelPackage,mmc))
  302. define KernelPackage/sdhci
  303. SUBMENU:=$(OTHER_MENU)
  304. TITLE:=Secure Digital Host Controller Interface support
  305. DEPENDS:=+kmod-mmc
  306. KCONFIG:= \
  307. CONFIG_MMC_SDHCI \
  308. CONFIG_MMC_SDHCI_PLTFM \
  309. CONFIG_MMC_SDHCI_PCI=n
  310. FILES:= \
  311. $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
  312. $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
  313. AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
  314. endef
  315. define KernelPackage/sdhci/description
  316. Kernel support for SDHCI Hosts
  317. endef
  318. $(eval $(call KernelPackage,sdhci))
  319. define KernelPackage/rfkill
  320. SUBMENU:=$(OTHER_MENU)
  321. TITLE:=RF switch subsystem support
  322. DEPENDS:=@USE_RFKILL +kmod-input-core
  323. KCONFIG:= \
  324. CONFIG_RFKILL_FULL \
  325. CONFIG_RFKILL_INPUT=y \
  326. CONFIG_RFKILL_LEDS=y
  327. FILES:= \
  328. $(LINUX_DIR)/net/rfkill/rfkill.ko
  329. AUTOLOAD:=$(call AutoLoad,20,rfkill)
  330. endef
  331. define KernelPackage/rfkill/description
  332. Say Y here if you want to have control over RF switches
  333. found on many WiFi and Bluetooth cards
  334. endef
  335. $(eval $(call KernelPackage,rfkill))
  336. define KernelPackage/softdog
  337. SUBMENU:=$(OTHER_MENU)
  338. TITLE:=Software watchdog driver
  339. KCONFIG:=CONFIG_SOFT_WATCHDOG
  340. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
  341. AUTOLOAD:=$(call AutoLoad,50,softdog,1)
  342. endef
  343. define KernelPackage/softdog/description
  344. Software watchdog driver
  345. endef
  346. $(eval $(call KernelPackage,softdog))
  347. define KernelPackage/ssb
  348. SUBMENU:=$(OTHER_MENU)
  349. TITLE:=Silicon Sonics Backplane glue code
  350. DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
  351. KCONFIG:=\
  352. CONFIG_SSB \
  353. CONFIG_SSB_B43_PCI_BRIDGE=y \
  354. CONFIG_SSB_DRIVER_MIPS=n \
  355. CONFIG_SSB_DRIVER_PCICORE=y \
  356. CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
  357. CONFIG_SSB_PCIHOST=y \
  358. CONFIG_SSB_PCIHOST_POSSIBLE=y \
  359. CONFIG_SSB_POSSIBLE=y \
  360. CONFIG_SSB_SPROM=y \
  361. CONFIG_SSB_SILENT=y
  362. FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
  363. AUTOLOAD:=$(call AutoLoad,18,ssb,1)
  364. endef
  365. define KernelPackage/ssb/description
  366. Silicon Sonics Backplane glue code.
  367. endef
  368. $(eval $(call KernelPackage,ssb))
  369. define KernelPackage/bcma
  370. SUBMENU:=$(OTHER_MENU)
  371. TITLE:=BCMA support
  372. DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
  373. KCONFIG:=\
  374. CONFIG_BCMA \
  375. CONFIG_BCMA_POSSIBLE=y \
  376. CONFIG_BCMA_BLOCKIO=y \
  377. CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
  378. CONFIG_BCMA_HOST_PCI=y \
  379. CONFIG_BCMA_HOST_SOC=n \
  380. CONFIG_BCMA_DRIVER_MIPS=n \
  381. CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
  382. CONFIG_BCMA_DRIVER_GMAC_CMN=n \
  383. CONFIG_BCMA_DEBUG=n
  384. FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
  385. AUTOLOAD:=$(call AutoLoad,29,bcma)
  386. endef
  387. define KernelPackage/bcma/description
  388. Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
  389. endef
  390. $(eval $(call KernelPackage,bcma))
  391. define KernelPackage/wdt-omap
  392. SUBMENU:=$(OTHER_MENU)
  393. TITLE:=OMAP Watchdog timer
  394. DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
  395. KCONFIG:=CONFIG_OMAP_WATCHDOG
  396. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
  397. AUTOLOAD:=$(call AutoLoad,50,omap_wdt,1)
  398. endef
  399. define KernelPackage/wdt-omap/description
  400. Kernel module for TI omap watchdog timer
  401. endef
  402. $(eval $(call KernelPackage,wdt-omap))
  403. define KernelPackage/rtc-ds1307
  404. SUBMENU:=$(OTHER_MENU)
  405. TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
  406. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  407. KCONFIG:=CONFIG_RTC_DRV_DS1307 \
  408. CONFIG_RTC_CLASS=y
  409. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
  410. AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
  411. endef
  412. define KernelPackage/rtc-ds1307/description
  413. Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
  414. Epson RX-8025 and various other compatible RTC chips connected via I2C.
  415. endef
  416. $(eval $(call KernelPackage,rtc-ds1307))
  417. define KernelPackage/rtc-ds1374
  418. SUBMENU:=$(OTHER_MENU)
  419. TITLE:=Dallas/Maxim DS1374 RTC support
  420. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  421. KCONFIG:=CONFIG_RTC_DRV_DS1374 \
  422. CONFIG_RTC_DRV_DS1374_WDT=n \
  423. CONFIG_RTC_CLASS=y
  424. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
  425. AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
  426. endef
  427. define KernelPackage/rtc-ds1374/description
  428. Kernel module for Dallas/Maxim DS1374.
  429. endef
  430. $(eval $(call KernelPackage,rtc-ds1374))
  431. define KernelPackage/rtc-ds1672
  432. SUBMENU:=$(OTHER_MENU)
  433. TITLE:=Dallas/Maxim DS1672 RTC support
  434. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  435. KCONFIG:=CONFIG_RTC_DRV_DS1672 \
  436. CONFIG_RTC_CLASS=y
  437. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
  438. AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
  439. endef
  440. define KernelPackage/rtc-ds1672/description
  441. Kernel module for Dallas/Maxim DS1672 RTC.
  442. endef
  443. $(eval $(call KernelPackage,rtc-ds1672))
  444. define KernelPackage/rtc-isl1208
  445. SUBMENU:=$(OTHER_MENU)
  446. TITLE:=Intersil ISL1208 RTC support
  447. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  448. KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
  449. CONFIG_RTC_CLASS=y
  450. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
  451. AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
  452. endef
  453. define KernelPackage/rtc-isl1208/description
  454. Kernel module for Intersil ISL1208 RTC.
  455. endef
  456. $(eval $(call KernelPackage,rtc-isl1208))
  457. define KernelPackage/rtc-pcf8563
  458. SUBMENU:=$(OTHER_MENU)
  459. TITLE:=Philips PCF8563/Epson RTC8564 RTC support
  460. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  461. KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
  462. CONFIG_RTC_CLASS=y
  463. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
  464. AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
  465. endef
  466. define KernelPackage/rtc-pcf8563/description
  467. Kernel module for Philips PCF8563 RTC chip.
  468. The Epson RTC8564 should work as well.
  469. endef
  470. $(eval $(call KernelPackage,rtc-pcf8563))
  471. define KernelPackage/rtc-pcf2123
  472. SUBMENU:=$(OTHER_MENU)
  473. TITLE:=Philips PCF2123 RTC support
  474. DEPENDS:=@RTC_SUPPORT
  475. KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
  476. CONFIG_RTC_CLASS=y
  477. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
  478. AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
  479. endef
  480. define KernelPackage/rtc-pcf2123/description
  481. Kernel module for Philips PCF2123 RTC chip
  482. endef
  483. $(eval $(call KernelPackage,rtc-pcf2123))
  484. define KernelPackage/rtc-pt7c4338
  485. SUBMENU:=$(OTHER_MENU)
  486. TITLE:=Pericom PT7C4338 RTC support
  487. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  488. KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
  489. CONFIG_RTC_CLASS=y
  490. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
  491. AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
  492. endef
  493. define KernelPackage/rtc-pt7c4338/description
  494. Kernel module for Pericom PT7C4338 i2c RTC chip
  495. endef
  496. $(eval $(call KernelPackage,rtc-pt7c4338))
  497. define KernelPackage/rtc-snvs
  498. SUBMENU:=$(OTHER_MENU)
  499. TITLE:=Freescale SNVS RTC support
  500. DEPENDS:=@TARGET_imx6 @RTC_SUPPORT
  501. KCONFIG:=CONFIG_RTC_DRV_SNVS \
  502. CONFIG_RTC_CLASS=y
  503. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-snvs.ko
  504. AUTOLOAD:=$(call AutoLoad,50,rtc-snvs,1)
  505. endef
  506. define KernelPackage/rtc-snvs/description
  507. Kernel module for Freescale SNVS RTC on chip module
  508. endef
  509. $(eval $(call KernelPackage,rtc-snvs))
  510. define KernelPackage/rtc-rs5c372a
  511. SUBMENU:=$(OTHER_MENU)
  512. TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
  513. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  514. KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
  515. CONFIG_RTC_CLASS=y
  516. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
  517. AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
  518. endef
  519. define KernelPackage/rtc-rs5c372a/description
  520. Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
  521. endef
  522. $(eval $(call KernelPackage,rtc-rs5c372a))
  523. define KernelPackage/mtdtests
  524. SUBMENU:=$(OTHER_MENU)
  525. TITLE:=MTD subsystem tests
  526. KCONFIG:=CONFIG_MTD_TESTS
  527. FILES:=\
  528. $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
  529. $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
  530. $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
  531. $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
  532. $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
  533. $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
  534. $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
  535. $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
  536. endef
  537. define KernelPackage/mtdtests/description
  538. Kernel modules for MTD subsystem/driver testing
  539. endef
  540. $(eval $(call KernelPackage,mtdtests))
  541. define KernelPackage/serial-8250
  542. SUBMENU:=$(OTHER_MENU)
  543. TITLE:=8250 UARTs
  544. KCONFIG:= CONFIG_SERIAL_8250 \
  545. CONFIG_SERIAL_8250_NR_UARTS=16 \
  546. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  547. CONFIG_SERIAL_8250_EXTENDED=y \
  548. CONFIG_SERIAL_8250_MANY_PORTS=y \
  549. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  550. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  551. CONFIG_SERIAL_8250_RSA=n
  552. FILES:= \
  553. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  554. $(LINUX_DIR)/drivers/tty/serial/8250/[email protected]
  555. endef
  556. define KernelPackage/serial-8250/description
  557. Kernel module for 8250 UART based serial ports
  558. endef
  559. $(eval $(call KernelPackage,serial-8250))
  560. define KernelPackage/regmap
  561. SUBMENU:=$(OTHER_MENU)
  562. TITLE:=Generic register map support
  563. DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
  564. KCONFIG:=CONFIG_REGMAP \
  565. CONFIG_REGMAP_MMIO \
  566. CONFIG_REGMAP_SPI \
  567. CONFIG_REGMAP_I2C \
  568. CONFIG_SPI=y
  569. FILES:= \
  570. $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
  571. $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
  572. $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
  573. $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
  574. AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
  575. endef
  576. define KernelPackage/regmap/description
  577. Generic register map support
  578. endef
  579. $(eval $(call KernelPackage,regmap))
  580. define KernelPackage/ikconfig
  581. SUBMENU:=$(OTHER_MENU)
  582. TITLE:=Kernel configuration via /proc/config.gz
  583. KCONFIG:=CONFIG_IKCONFIG \
  584. CONFIG_IKCONFIG_PROC=y
  585. FILES:=$(LINUX_DIR)/kernel/configs.ko
  586. AUTOLOAD:=$(call AutoLoad,70,configs)
  587. endef
  588. define KernelPackage/ikconfig/description
  589. Kernel configuration via /proc/config.gz
  590. endef
  591. $(eval $(call KernelPackage,ikconfig))
  592. define KernelPackage/zram
  593. SUBMENU:=$(OTHER_MENU)
  594. TITLE:=ZRAM
  595. DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
  596. KCONFIG:= \
  597. CONFIG_ZSMALLOC \
  598. CONFIG_ZRAM \
  599. CONFIG_ZRAM_DEBUG=n \
  600. CONFIG_PGTABLE_MAPPING=n \
  601. CONFIG_ZSMALLOC_STAT=n \
  602. CONFIG_ZRAM_LZ4_COMPRESS=y
  603. FILES:= \
  604. $(LINUX_DIR)/mm/zsmalloc.ko \
  605. $(LINUX_DIR)/drivers/block/zram/zram.ko
  606. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  607. endef
  608. define KernelPackage/zram/description
  609. Compressed RAM block device support
  610. endef
  611. $(eval $(call KernelPackage,zram))
  612. define KernelPackage/pps
  613. SUBMENU:=$(OTHER_MENU)
  614. TITLE:=PPS support
  615. KCONFIG:=CONFIG_PPS
  616. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  617. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  618. endef
  619. define KernelPackage/pps/description
  620. PPS (Pulse Per Second) is a special pulse provided by some GPS
  621. antennae. Userland can use it to get a high-precision time
  622. reference.
  623. endef
  624. $(eval $(call KernelPackage,pps))
  625. define KernelPackage/pps-gpio
  626. SUBMENU:=$(OTHER_MENU)
  627. TITLE:=PPS client using GPIO
  628. DEPENDS:=+kmod-pps
  629. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  630. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  631. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  632. endef
  633. define KernelPackage/pps-gpio/description
  634. Support for a PPS source using GPIO. To be useful you must
  635. also register a platform device specifying the GPIO pin and
  636. other options, usually in your board setup.
  637. endef
  638. $(eval $(call KernelPackage,pps-gpio))
  639. define KernelPackage/pps-ldisc
  640. SUBMENU:=$(OTHER_MENU)
  641. TITLE:=PPS line discipline
  642. DEPENDS:=+kmod-pps
  643. KCONFIG:=CONFIG_PPS_CLIENT_LDISC
  644. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
  645. AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
  646. endef
  647. define KernelPackage/pps-ldisc/description
  648. Support for a PPS source connected with the CD (Carrier
  649. Detect) pin of your serial port.
  650. endef
  651. $(eval $(call KernelPackage,pps-ldisc))
  652. define KernelPackage/ptp
  653. SUBMENU:=$(OTHER_MENU)
  654. TITLE:=PTP clock support
  655. DEPENDS:=+kmod-pps
  656. KCONFIG:= \
  657. CONFIG_PTP_1588_CLOCK \
  658. CONFIG_NET_PTP_CLASSIFY=y
  659. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  660. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  661. endef
  662. define KernelPackage/ptp/description
  663. The IEEE 1588 standard defines a method to precisely
  664. synchronize distributed clocks over Ethernet networks.
  665. endef
  666. $(eval $(call KernelPackage,ptp))
  667. define KernelPackage/ptp-gianfar
  668. SUBMENU:=$(OTHER_MENU)
  669. TITLE:=Freescale Gianfar PTP support
  670. DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
  671. KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
  672. FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
  673. AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
  674. endef
  675. define KernelPackage/ptp-gianfar/description
  676. Kernel module for IEEE 1588 support for Freescale
  677. Gianfar Ethernet drivers
  678. endef
  679. $(eval $(call KernelPackage,ptp-gianfar))
  680. define KernelPackage/random-core
  681. SUBMENU:=$(OTHER_MENU)
  682. TITLE:=Hardware Random Number Generator Core support
  683. KCONFIG:=CONFIG_HW_RANDOM
  684. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  685. endef
  686. define KernelPackage/random-core/description
  687. Kernel module for the HW random number generator core infrastructure
  688. endef
  689. $(eval $(call KernelPackage,random-core))
  690. define KernelPackage/random-omap
  691. SUBMENU:=$(OTHER_MENU)
  692. TITLE:=Hardware Random Number Generator OMAP support
  693. KCONFIG:=CONFIG_HW_RANDOM_OMAP
  694. FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
  695. DEPENDS:=@(TARGET_omap24xx||TARGET_omap) +kmod-random-core
  696. AUTOLOAD:=$(call AutoProbe,random-omap)
  697. endef
  698. define KernelPackage/random-omap/description
  699. Kernel module for the OMAP Random Number Generator
  700. found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
  701. endef
  702. $(eval $(call KernelPackage,random-omap))
  703. define KernelPackage/thermal
  704. SUBMENU:=$(OTHER_MENU)
  705. TITLE:=Generic Thermal sysfs driver
  706. DEPENDS:=+kmod-hwmon-core
  707. HIDDEN:=1
  708. KCONFIG:= \
  709. CONFIG_THERMAL \
  710. CONFIG_THERMAL_OF=y \
  711. CONFIG_CPU_THERMAL=y \
  712. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  713. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  714. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  715. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  716. CONFIG_THERMAL_GOV_STEP_WISE=y \
  717. CONFIG_THERMAL_GOV_USER_SPACE=n \
  718. CONFIG_THERMAL_HWMON=y \
  719. CONFIG_THERMAL_EMULATION=n
  720. FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
  721. AUTOLOAD:=$(call AutoProbe,thermal_sys)
  722. endef
  723. define KernelPackage/thermal/description
  724. Generic Thermal Sysfs driver offers a generic mechanism for thermal
  725. management. Usually it's made up of one or more thermal zone and cooling
  726. device.
  727. endef
  728. $(eval $(call KernelPackage,thermal))
  729. define KernelPackage/thermal-imx
  730. SUBMENU:=$(OTHER_MENU)
  731. TITLE:=Temperature sensor driver for Freescale i.MX SoCs
  732. DEPENDS:=@TARGET_imx6 +kmod-thermal
  733. KCONFIG:= \
  734. CONFIG_IMX_THERMAL
  735. FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
  736. AUTOLOAD:=$(call AutoProbe,imx_thermal)
  737. endef
  738. define KernelPackage/thermal-imx/description
  739. Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
  740. It supports one critical trip point and one passive trip point. The
  741. cpufreq is used as the cooling device to throttle CPUs when the
  742. passive trip is crossed.
  743. endef
  744. $(eval $(call KernelPackage,thermal-imx))
  745. define KernelPackage/gpio-beeper
  746. SUBMENU:=$(OTHER_MENU)
  747. TITLE:=GPIO beeper support
  748. DEPENDS:=+kmod-input-core
  749. KCONFIG:= \
  750. CONFIG_INPUT_MISC=y \
  751. CONFIG_INPUT_GPIO_BEEPER
  752. FILES:= \
  753. $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
  754. AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
  755. endef
  756. define KernelPackage/gpio-beeper/description
  757. This enables playing beeps through an GPIO-connected buzzer
  758. endef
  759. $(eval $(call KernelPackage,gpio-beeper))
  760. define KernelPackage/echo
  761. SUBMENU:=$(OTHER_MENU)
  762. TITLE:=Line Echo Canceller
  763. KCONFIG:=CONFIG_ECHO
  764. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  765. AUTOLOAD:=$(call AutoLoad,50,echo)
  766. endef
  767. define KernelPackage/echo/description
  768. This driver provides line echo cancelling support for mISDN and
  769. DAHDI drivers
  770. endef
  771. $(eval $(call KernelPackage,echo))
  772. define KernelPackage/bmp085
  773. SUBMENU:=$(OTHER_MENU)
  774. TITLE:=BMP085/BMP18x pressure sensor
  775. DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
  776. KCONFIG:= CONFIG_BMP085
  777. FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
  778. endef
  779. define KernelPackage/bmp085/description
  780. This driver adds support for Bosch Sensortec's digital pressure
  781. sensors BMP085 and BMP18x.
  782. endef
  783. $(eval $(call KernelPackage,bmp085))
  784. define KernelPackage/bmp085-i2c
  785. SUBMENU:=$(OTHER_MENU)
  786. TITLE:=BMP085/BMP18x pressure sensor I2C
  787. DEPENDS:= +kmod-bmp085
  788. KCONFIG:= CONFIG_BMP085_I2C
  789. FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
  790. AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
  791. endef
  792. define KernelPackage/bmp085-i2c/description
  793. This driver adds support for Bosch Sensortec's digital pressure
  794. sensor connected via I2C.
  795. endef
  796. $(eval $(call KernelPackage,bmp085-i2c))
  797. define KernelPackage/bmp085-spi
  798. SUBMENU:=$(OTHER_MENU)
  799. TITLE:=BMP085/BMP18x pressure sensor SPI
  800. DEPENDS:= +kmod-bmp085
  801. KCONFIG:= CONFIG_BMP085_SPI
  802. FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
  803. AUTOLOAD:=$(call AutoProbe,bmp085-spi)
  804. endef
  805. define KernelPackage/bmp085-spi/description
  806. This driver adds support for Bosch Sensortec's digital pressure
  807. sensor connected via SPI.
  808. endef
  809. $(eval $(call KernelPackage,bmp085-spi))