other.mk 27 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057
  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. TITLE:=DMA shared buffer support
  112. HIDDEN:=1
  113. KCONFIG:=CONFIG_DMA_SHARED_BUFFER
  114. FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
  115. AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
  116. endef
  117. $(eval $(call KernelPackage,dma-buf))
  118. define KernelPackage/eeprom-93cx6
  119. SUBMENU:=$(OTHER_MENU)
  120. TITLE:=EEPROM 93CX6 support
  121. KCONFIG:=CONFIG_EEPROM_93CX6
  122. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
  123. AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
  124. endef
  125. define KernelPackage/eeprom-93cx6/description
  126. Kernel module for EEPROM 93CX6 support
  127. endef
  128. $(eval $(call KernelPackage,eeprom-93cx6))
  129. define KernelPackage/eeprom-at24
  130. SUBMENU:=$(OTHER_MENU)
  131. TITLE:=EEPROM AT24 support
  132. KCONFIG:=CONFIG_EEPROM_AT24
  133. DEPENDS:=+kmod-i2c-core
  134. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
  135. AUTOLOAD:=$(call AutoProbe,at24)
  136. endef
  137. define KernelPackage/eeprom-at24/description
  138. Kernel module for most I2C EEPROMs
  139. endef
  140. $(eval $(call KernelPackage,eeprom-at24))
  141. define KernelPackage/eeprom-at25
  142. SUBMENU:=$(OTHER_MENU)
  143. TITLE:=EEPROM AT25 support
  144. KCONFIG:=CONFIG_EEPROM_AT25
  145. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
  146. AUTOLOAD:=$(call AutoProbe,at25)
  147. endef
  148. define KernelPackage/eeprom-at25/description
  149. Kernel module for most SPI EEPROMs
  150. endef
  151. $(eval $(call KernelPackage,eeprom-at25))
  152. define KernelPackage/gpio-dev
  153. SUBMENU:=$(OTHER_MENU)
  154. TITLE:=Generic GPIO char device support
  155. DEPENDS:=@GPIO_SUPPORT
  156. KCONFIG:=CONFIG_GPIO_DEVICE
  157. FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
  158. AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
  159. endef
  160. define KernelPackage/gpio-dev/description
  161. Kernel module to allows control of GPIO pins using a character device.
  162. endef
  163. $(eval $(call KernelPackage,gpio-dev))
  164. define KernelPackage/gpio-mcp23s08
  165. SUBMENU:=$(OTHER_MENU)
  166. TITLE:=Microchip MCP23xxx I/O expander
  167. DEPENDS:=@GPIO_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core
  168. KCONFIG:=CONFIG_GPIO_MCP23S08
  169. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
  170. AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
  171. endef
  172. define KernelPackage/gpio-mcp23s08/description
  173. Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
  174. endef
  175. $(eval $(call KernelPackage,gpio-mcp23s08))
  176. define KernelPackage/gpio-nxp-74hc164
  177. SUBMENU:=$(OTHER_MENU)
  178. TITLE:=NXP 74HC164 GPIO expander support
  179. KCONFIG:=CONFIG_GPIO_NXP_74HC164
  180. FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
  181. AUTOLOAD:=$(call AutoProbe,nxp_74hc164)
  182. endef
  183. define KernelPackage/gpio-nxp-74hc164/description
  184. Kernel module for NXP 74HC164 GPIO expander
  185. endef
  186. $(eval $(call KernelPackage,gpio-nxp-74hc164))
  187. define KernelPackage/gpio-pca953x
  188. SUBMENU:=$(OTHER_MENU)
  189. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
  190. TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
  191. KCONFIG:=CONFIG_GPIO_PCA953X
  192. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
  193. AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
  194. endef
  195. define KernelPackage/gpio-pca953x/description
  196. Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
  197. PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
  198. endef
  199. $(eval $(call KernelPackage,gpio-pca953x))
  200. define KernelPackage/gpio-pcf857x
  201. SUBMENU:=$(OTHER_MENU)
  202. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
  203. TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
  204. KCONFIG:=CONFIG_GPIO_PCF857X
  205. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
  206. AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
  207. endef
  208. define KernelPackage/gpio-pcf857x/description
  209. Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
  210. endef
  211. $(eval $(call KernelPackage,gpio-pcf857x))
  212. define KernelPackage/iio-core
  213. SUBMENU:=$(OTHER_MENU)
  214. TITLE:=Industrial IO core
  215. KCONFIG:= \
  216. CONFIG_IIO \
  217. CONFIG_IIO_BUFFER=y \
  218. CONFIG_IIO_KFIFO_BUF \
  219. CONFIG_IIO_TRIGGER=y \
  220. CONFIG_IIO_TRIGGERED_BUFFER
  221. FILES:= \
  222. $(LINUX_DIR)/drivers/iio/industrialio.ko \
  223. $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/[email protected]) \
  224. $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/buffer/[email protected]) \
  225. $(LINUX_DIR)/drivers/iio/[email protected] \
  226. $(LINUX_DIR)/drivers/iio/buffer/[email protected]
  227. AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
  228. endef
  229. define KernelPackage/iio-core/description
  230. The industrial I/O subsystem provides a unified framework for
  231. drivers for many different types of embedded sensors using a
  232. number of different physical interfaces (i2c, spi, etc)
  233. endef
  234. $(eval $(call KernelPackage,iio-core))
  235. define KernelPackage/iio-ad799x
  236. SUBMENU:=$(OTHER_MENU)
  237. DEPENDS:=kmod-i2c-core kmod-iio-core
  238. TITLE:=Analog Devices AD799x ADC driver
  239. KCONFIG:= \
  240. CONFIG_AD799X_RING_BUFFER=y \
  241. CONFIG_AD799X
  242. FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
  243. AUTOLOAD:=$(call AutoLoad,56,ad799x)
  244. endef
  245. define KernelPackage/iio-ad799x/description
  246. support for Analog Devices:
  247. ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
  248. i2c analog to digital converters (ADC).
  249. endef
  250. $(eval $(call KernelPackage,iio-ad799x))
  251. define KernelPackage/iio-dht11
  252. SUBMENU:=$(OTHER_MENU)
  253. DEPENDS:=kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
  254. TITLE:=DHT11 (and compatible) humidity and temperature sensors
  255. KCONFIG:= \
  256. CONFIG_DHT11
  257. FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
  258. AUTOLOAD:=$(call AutoLoad,56,dht11)
  259. endef
  260. define KernelPackage/iio-dht11/description
  261. support for DHT11 and DHT22 digitial humidity and temperature sensors
  262. attached at GPIO lines. You will need a custom device tree file to
  263. specify the GPIO line to use.
  264. endef
  265. $(eval $(call KernelPackage,iio-dht11))
  266. define KernelPackage/lp
  267. SUBMENU:=$(OTHER_MENU)
  268. TITLE:=Parallel port and line printer support
  269. KCONFIG:= \
  270. CONFIG_PARPORT \
  271. CONFIG_PRINTER \
  272. CONFIG_PPDEV
  273. FILES:= \
  274. $(LINUX_DIR)/drivers/parport/parport.ko \
  275. $(LINUX_DIR)/drivers/char/lp.ko \
  276. $(LINUX_DIR)/drivers/char/ppdev.ko
  277. AUTOLOAD:=$(call AutoLoad,50,parport lp ppdev)
  278. endef
  279. $(eval $(call KernelPackage,lp))
  280. define KernelPackage/mmc
  281. SUBMENU:=$(OTHER_MENU)
  282. TITLE:=MMC/SD Card Support
  283. KCONFIG:= \
  284. CONFIG_MMC \
  285. CONFIG_MMC_BLOCK \
  286. CONFIG_MMC_DEBUG=n \
  287. CONFIG_MMC_UNSAFE_RESUME=n \
  288. CONFIG_MMC_BLOCK_BOUNCE=y \
  289. CONFIG_MMC_TIFM_SD=n \
  290. CONFIG_MMC_WBSD=n \
  291. CONFIG_SDIO_UART=n
  292. FILES:= \
  293. $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
  294. $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
  295. AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
  296. endef
  297. define KernelPackage/mmc/description
  298. Kernel support for MMC/SD cards
  299. endef
  300. $(eval $(call KernelPackage,mmc))
  301. define KernelPackage/sdhci
  302. SUBMENU:=$(OTHER_MENU)
  303. TITLE:=Secure Digital Host Controller Interface support
  304. DEPENDS:=+kmod-mmc
  305. KCONFIG:= \
  306. CONFIG_MMC_SDHCI \
  307. CONFIG_MMC_SDHCI_PLTFM \
  308. CONFIG_MMC_SDHCI_PCI=n
  309. FILES:= \
  310. $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
  311. $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
  312. AUTOLOAD:=$(call AutoProbe,sdhci sdhci-pltfm,1)
  313. endef
  314. define KernelPackage/sdhci/description
  315. Kernel support for SDHCI Hosts
  316. endef
  317. $(eval $(call KernelPackage,sdhci))
  318. define KernelPackage/rfkill
  319. SUBMENU:=$(OTHER_MENU)
  320. TITLE:=RF switch subsystem support
  321. DEPENDS:=@USE_RFKILL +kmod-input-core
  322. KCONFIG:= \
  323. CONFIG_RFKILL \
  324. CONFIG_RFKILL_INPUT=y \
  325. CONFIG_RFKILL_LEDS=y \
  326. CONFIG_RFKILL_GPIO=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/wdt-orion
  404. SUBMENU:=$(OTHER_MENU)
  405. TITLE:=Marvell Orion Watchdog timer
  406. DEPENDS:=@TARGET_orion||TARGET_kirkwood
  407. KCONFIG:=CONFIG_ORION_WATCHDOG
  408. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
  409. AUTOLOAD:=$(call AutoLoad,50,orion_wdt,1)
  410. endef
  411. define KernelPackage/wdt-orion/description
  412. Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
  413. endef
  414. $(eval $(call KernelPackage,wdt-orion))
  415. define KernelPackage/booke-wdt
  416. SUBMENU:=$(OTHER_MENU)
  417. TITLE:=PowerPC Book-E Watchdog Timer
  418. DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
  419. KCONFIG:=CONFIG_BOOKE_WDT
  420. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
  421. AUTOLOAD:=$(call AutoLoad,50,booke_wdt,1)
  422. endef
  423. define KernelPackage/booke-wdt/description
  424. Kernel module for PowerPC Book-E Watchdog Timer
  425. endef
  426. $(eval $(call KernelPackage,booke-wdt))
  427. define KernelPackage/rtc-ds1307
  428. SUBMENU:=$(OTHER_MENU)
  429. TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
  430. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  431. KCONFIG:=CONFIG_RTC_DRV_DS1307 \
  432. CONFIG_RTC_CLASS=y
  433. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
  434. AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
  435. endef
  436. define KernelPackage/rtc-ds1307/description
  437. Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
  438. Epson RX-8025 and various other compatible RTC chips connected via I2C.
  439. endef
  440. $(eval $(call KernelPackage,rtc-ds1307))
  441. define KernelPackage/rtc-ds1672
  442. SUBMENU:=$(OTHER_MENU)
  443. TITLE:=Dallas/Maxim DS1672 RTC support
  444. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  445. KCONFIG:=CONFIG_RTC_DRV_DS1672 \
  446. CONFIG_RTC_CLASS=y
  447. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
  448. AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
  449. endef
  450. define KernelPackage/rtc-ds1672/description
  451. Kernel module for Dallas/Maxim DS1672 RTC.
  452. endef
  453. $(eval $(call KernelPackage,rtc-ds1672))
  454. define KernelPackage/rtc-isl1208
  455. SUBMENU:=$(OTHER_MENU)
  456. TITLE:=Intersil ISL1208 RTC support
  457. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  458. KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
  459. CONFIG_RTC_CLASS=y
  460. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
  461. AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
  462. endef
  463. define KernelPackage/rtc-isl1208/description
  464. Kernel module for Intersil ISL1208 RTC.
  465. endef
  466. $(eval $(call KernelPackage,rtc-isl1208))
  467. define KernelPackage/rtc-marvell
  468. SUBMENU:=$(OTHER_MENU)
  469. TITLE:=Marvell SoC built-in RTC support
  470. DEPENDS:=@RTC_SUPPORT @TARGET_kirkwood||TARGET_orion
  471. KCONFIG:=CONFIG_RTC_DRV_MV \
  472. CONFIG_RTC_CLASS=y
  473. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
  474. AUTOLOAD:=$(call AutoProbe,rtc-mv)
  475. endef
  476. define KernelPackage/rtc-marvell/description
  477. Kernel module for Marvell SoC built-in RTC.
  478. endef
  479. $(eval $(call KernelPackage,rtc-marvell))
  480. define KernelPackage/rtc-pcf8563
  481. SUBMENU:=$(OTHER_MENU)
  482. TITLE:=Philips PCF8563/Epson RTC8564 RTC support
  483. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  484. KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
  485. CONFIG_RTC_CLASS=y
  486. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
  487. AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
  488. endef
  489. define KernelPackage/rtc-pcf8563/description
  490. Kernel module for Philips PCF8563 RTC chip.
  491. The Epson RTC8564 should work as well.
  492. endef
  493. $(eval $(call KernelPackage,rtc-pcf8563))
  494. define KernelPackage/rtc-pcf2123
  495. SUBMENU:=$(OTHER_MENU)
  496. TITLE:=Philips PCF2123 RTC support
  497. DEPENDS:=@RTC_SUPPORT
  498. KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
  499. CONFIG_RTC_CLASS=y
  500. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
  501. AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
  502. endef
  503. define KernelPackage/rtc-pcf2123/description
  504. Kernel module for Philips PCF2123 RTC chip
  505. endef
  506. $(eval $(call KernelPackage,rtc-pcf2123))
  507. define KernelPackage/rtc-pt7c4338
  508. SUBMENU:=$(OTHER_MENU)
  509. TITLE:=Pericom PT7C4338 RTC support
  510. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  511. KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
  512. CONFIG_RTC_CLASS=y
  513. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
  514. AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
  515. endef
  516. define KernelPackage/rtc-pt7c4338/description
  517. Kernel module for Pericom PT7C4338 i2c RTC chip
  518. endef
  519. $(eval $(call KernelPackage,rtc-pt7c4338))
  520. define KernelPackage/rtc-snvs
  521. SUBMENU:=$(OTHER_MENU)
  522. TITLE:=Freescale SNVS RTC support
  523. DEPENDS:=@TARGET_imx6 @RTC_SUPPORT
  524. KCONFIG:=CONFIG_RTC_DRV_SNVS \
  525. CONFIG_RTC_CLASS=y
  526. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-snvs.ko
  527. AUTOLOAD:=$(call AutoLoad,50,rtc-snvs,1)
  528. endef
  529. define KernelPackage/rtc-snvs/description
  530. Kernel module for Freescale SNVS RTC on chip module
  531. endef
  532. $(eval $(call KernelPackage,rtc-snvs))
  533. define KernelPackage/mtdtests
  534. SUBMENU:=$(OTHER_MENU)
  535. TITLE:=MTD subsystem tests
  536. KCONFIG:=CONFIG_MTD_TESTS
  537. FILES:=\
  538. $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
  539. $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
  540. $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
  541. $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
  542. $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
  543. $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
  544. $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
  545. $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
  546. endef
  547. define KernelPackage/mtdtests/description
  548. Kernel modules for MTD subsystem/driver testing
  549. endef
  550. $(eval $(call KernelPackage,mtdtests))
  551. define KernelPackage/serial-8250
  552. SUBMENU:=$(OTHER_MENU)
  553. TITLE:=8250 UARTs
  554. KCONFIG:= CONFIG_SERIAL_8250 \
  555. CONFIG_SERIAL_8250_NR_UARTS=16 \
  556. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  557. CONFIG_SERIAL_8250_EXTENDED=y \
  558. CONFIG_SERIAL_8250_MANY_PORTS=y \
  559. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  560. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  561. CONFIG_SERIAL_8250_RSA=n
  562. FILES:= \
  563. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  564. $(LINUX_DIR)/drivers/tty/serial/8250/[email protected]
  565. endef
  566. define KernelPackage/serial-8250/description
  567. Kernel module for 8250 UART based serial ports
  568. endef
  569. $(eval $(call KernelPackage,serial-8250))
  570. define KernelPackage/regmap
  571. SUBMENU:=$(OTHER_MENU)
  572. TITLE:=Generic register map support
  573. DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
  574. KCONFIG:=CONFIG_REGMAP \
  575. CONFIG_REGMAP_MMIO \
  576. CONFIG_REGMAP_SPI \
  577. CONFIG_REGMAP_I2C \
  578. CONFIG_SPI=y
  579. FILES:= \
  580. $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
  581. $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
  582. $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
  583. $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
  584. AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
  585. endef
  586. define KernelPackage/regmap/description
  587. Generic register map support
  588. endef
  589. $(eval $(call KernelPackage,regmap))
  590. define KernelPackage/ikconfig
  591. SUBMENU:=$(OTHER_MENU)
  592. TITLE:=Kernel configuration via /proc/config.gz
  593. KCONFIG:=CONFIG_IKCONFIG \
  594. CONFIG_IKCONFIG_PROC=y
  595. FILES:=$(LINUX_DIR)/kernel/configs.ko
  596. AUTOLOAD:=$(call AutoLoad,70,configs)
  597. endef
  598. define KernelPackage/ikconfig/description
  599. Kernel configuration via /proc/config.gz
  600. endef
  601. $(eval $(call KernelPackage,ikconfig))
  602. define KernelPackage/zram
  603. SUBMENU:=$(OTHER_MENU)
  604. TITLE:=ZRAM
  605. DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
  606. KCONFIG:= \
  607. CONFIG_ZSMALLOC \
  608. CONFIG_ZRAM \
  609. CONFIG_ZRAM_DEBUG=n \
  610. CONFIG_PGTABLE_MAPPING=n \
  611. CONFIG_ZSMALLOC_STAT=n \
  612. CONFIG_ZRAM_LZ4_COMPRESS=y
  613. FILES:= \
  614. $(LINUX_DIR)/mm/zsmalloc.ko \
  615. $(LINUX_DIR)/drivers/block/zram/zram.ko
  616. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  617. endef
  618. define KernelPackage/zram/description
  619. Compressed RAM block device support
  620. endef
  621. $(eval $(call KernelPackage,zram))
  622. define KernelPackage/mvsdio
  623. SUBMENU:=$(OTHER_MENU)
  624. TITLE:=Marvell SDIO support
  625. DEPENDS:=@TARGET_orion||TARGET_kirkwood +kmod-mmc
  626. KCONFIG:=CONFIG_MMC_MVSDIO
  627. FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
  628. AUTOLOAD:=$(call AutoProbe,mvsdio)
  629. endef
  630. define KernelPackage/mvsdio/description
  631. Kernel support for the Marvell SDIO controller
  632. endef
  633. $(eval $(call KernelPackage,mvsdio))
  634. define KernelPackage/pps
  635. SUBMENU:=$(OTHER_MENU)
  636. TITLE:=PPS support
  637. KCONFIG:=CONFIG_PPS
  638. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  639. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  640. endef
  641. define KernelPackage/pps/description
  642. PPS (Pulse Per Second) is a special pulse provided by some GPS
  643. antennae. Userland can use it to get a high-precision time
  644. reference.
  645. endef
  646. $(eval $(call KernelPackage,pps))
  647. define KernelPackage/pps-gpio
  648. SUBMENU:=$(OTHER_MENU)
  649. TITLE:=PPS client using GPIO
  650. DEPENDS:=+kmod-pps
  651. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  652. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  653. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  654. endef
  655. define KernelPackage/pps-gpio/description
  656. Support for a PPS source using GPIO. To be useful you must
  657. also register a platform device specifying the GPIO pin and
  658. other options, usually in your board setup.
  659. endef
  660. $(eval $(call KernelPackage,pps-gpio))
  661. define KernelPackage/pps-ldisc
  662. SUBMENU:=$(OTHER_MENU)
  663. TITLE:=PPS line discipline
  664. DEPENDS:=+kmod-pps
  665. KCONFIG:=CONFIG_PPS_CLIENT_LDISC
  666. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
  667. AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
  668. endef
  669. define KernelPackage/pps-ldisc/description
  670. Support for a PPS source connected with the CD (Carrier
  671. Detect) pin of your serial port.
  672. endef
  673. $(eval $(call KernelPackage,pps-ldisc))
  674. define KernelPackage/ptp
  675. SUBMENU:=$(OTHER_MENU)
  676. TITLE:=PTP clock support
  677. DEPENDS:=+kmod-pps
  678. KCONFIG:= \
  679. CONFIG_PTP_1588_CLOCK \
  680. CONFIG_NET_PTP_CLASSIFY=y
  681. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  682. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  683. endef
  684. define KernelPackage/ptp/description
  685. The IEEE 1588 standard defines a method to precisely
  686. synchronize distributed clocks over Ethernet networks.
  687. endef
  688. $(eval $(call KernelPackage,ptp))
  689. define KernelPackage/ptp-gianfar
  690. SUBMENU:=$(OTHER_MENU)
  691. TITLE:=Freescale Gianfar PTP support
  692. DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
  693. KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
  694. FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
  695. AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
  696. endef
  697. define KernelPackage/ptp-gianfar/description
  698. Kernel module for IEEE 1588 support for Freescale
  699. Gianfar Ethernet drivers
  700. endef
  701. $(eval $(call KernelPackage,ptp-gianfar))
  702. define KernelPackage/random-core
  703. SUBMENU:=$(OTHER_MENU)
  704. TITLE:=Hardware Random Number Generator Core support
  705. KCONFIG:=CONFIG_HW_RANDOM
  706. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  707. endef
  708. define KernelPackage/random-core/description
  709. Kernel module for the HW random number generator core infrastructure
  710. endef
  711. $(eval $(call KernelPackage,random-core))
  712. define KernelPackage/random-omap
  713. SUBMENU:=$(OTHER_MENU)
  714. TITLE:=Hardware Random Number Generator OMAP support
  715. KCONFIG:=CONFIG_HW_RANDOM_OMAP
  716. FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
  717. DEPENDS:=@(TARGET_omap24xx||TARGET_omap) +kmod-random-core
  718. AUTOLOAD:=$(call AutoProbe,random-omap)
  719. endef
  720. define KernelPackage/random-omap/description
  721. Kernel module for the OMAP Random Number Generator
  722. found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
  723. endef
  724. $(eval $(call KernelPackage,random-omap))
  725. define KernelPackage/thermal
  726. SUBMENU:=$(OTHER_MENU)
  727. TITLE:=Generic Thermal sysfs driver
  728. DEPENDS:=+kmod-hwmon-core
  729. HIDDEN:=1
  730. KCONFIG:= \
  731. CONFIG_THERMAL \
  732. CONFIG_THERMAL_OF=y \
  733. CONFIG_CPU_THERMAL=y \
  734. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  735. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  736. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  737. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  738. CONFIG_THERMAL_GOV_STEP_WISE=y \
  739. CONFIG_THERMAL_GOV_USER_SPACE=n \
  740. CONFIG_THERMAL_HWMON=y \
  741. CONFIG_THERMAL_EMULATION=n
  742. FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
  743. AUTOLOAD:=$(call AutoProbe,thermal_sys)
  744. endef
  745. define KernelPackage/thermal/description
  746. Generic Thermal Sysfs driver offers a generic mechanism for thermal
  747. management. Usually it's made up of one or more thermal zone and cooling
  748. device.
  749. endef
  750. $(eval $(call KernelPackage,thermal))
  751. define KernelPackage/thermal-imx
  752. SUBMENU:=$(OTHER_MENU)
  753. TITLE:=Temperature sensor driver for Freescale i.MX SoCs
  754. DEPENDS:=@TARGET_imx6 +kmod-thermal
  755. KCONFIG:= \
  756. CONFIG_IMX_THERMAL
  757. FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
  758. AUTOLOAD:=$(call AutoProbe,imx_thermal)
  759. endef
  760. define KernelPackage/thermal-imx/description
  761. Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
  762. It supports one critical trip point and one passive trip point. The
  763. cpufreq is used as the cooling device to throttle CPUs when the
  764. passive trip is crossed.
  765. endef
  766. $(eval $(call KernelPackage,thermal-imx))
  767. define KernelPackage/thermal-kirkwood
  768. SUBMENU:=$(OTHER_MENU)
  769. TITLE:=Temperature sensor on Marvell Kirkwood SoCs
  770. DEPENDS:=@TARGET_kirkwood +kmod-thermal
  771. KCONFIG:=CONFIG_KIRKWOOD_THERMAL
  772. FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
  773. AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
  774. endef
  775. define KernelPackage/thermal-kirkwood/description
  776. Support for the Kirkwood thermal sensor driver into the Linux thermal
  777. framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
  778. endef
  779. $(eval $(call KernelPackage,thermal-kirkwood))
  780. define KernelPackage/gpio-beeper
  781. SUBMENU:=$(OTHER_MENU)
  782. TITLE:=GPIO beeper support
  783. DEPENDS:=+kmod-input-core
  784. KCONFIG:= \
  785. CONFIG_INPUT_MISC=y \
  786. CONFIG_INPUT_GPIO_BEEPER
  787. FILES:= \
  788. $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
  789. AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
  790. endef
  791. define KernelPackage/gpio-beeper/description
  792. This enables playing beeps through an GPIO-connected buzzer
  793. endef
  794. $(eval $(call KernelPackage,gpio-beeper))
  795. define KernelPackage/echo
  796. SUBMENU:=$(OTHER_MENU)
  797. TITLE:=Line Echo Canceller
  798. KCONFIG:=CONFIG_ECHO
  799. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  800. AUTOLOAD:=$(call AutoLoad,50,echo)
  801. endef
  802. define KernelPackage/echo/description
  803. This driver provides line echo cancelling support for mISDN and
  804. DAHDI drivers
  805. endef
  806. $(eval $(call KernelPackage,echo))
  807. define KernelPackage/bmp085
  808. SUBMENU:=$(OTHER_MENU)
  809. TITLE:=BMP085/BMP18x pressure sensor
  810. DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
  811. KCONFIG:= CONFIG_BMP085
  812. FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
  813. endef
  814. define KernelPackage/bmp085/description
  815. This driver adds support for Bosch Sensortec's digital pressure
  816. sensors BMP085 and BMP18x.
  817. endef
  818. $(eval $(call KernelPackage,bmp085))
  819. define KernelPackage/bmp085-i2c
  820. SUBMENU:=$(OTHER_MENU)
  821. TITLE:=BMP085/BMP18x pressure sensor I2C
  822. DEPENDS:= +kmod-bmp085
  823. KCONFIG:= CONFIG_BMP085_I2C
  824. FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
  825. AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
  826. endef
  827. define KernelPackage/bmp085-i2c/description
  828. This driver adds support for Bosch Sensortec's digital pressure
  829. sensor connected via I2C.
  830. endef
  831. $(eval $(call KernelPackage,bmp085-i2c))
  832. define KernelPackage/bmp085-spi
  833. SUBMENU:=$(OTHER_MENU)
  834. TITLE:=BMP085/BMP18x pressure sensor SPI
  835. DEPENDS:= +kmod-bmp085
  836. KCONFIG:= CONFIG_BMP085_SPI
  837. FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
  838. AUTOLOAD:=$(call AutoProbe,bmp085-spi)
  839. endef
  840. define KernelPackage/bmp085-spi/description
  841. This driver adds support for Bosch Sensortec's digital pressure
  842. sensor connected via SPI.
  843. endef
  844. $(eval $(call KernelPackage,bmp085-spi))