other.mk 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041
  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/rtc-ds1307
  416. SUBMENU:=$(OTHER_MENU)
  417. TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
  418. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  419. KCONFIG:=CONFIG_RTC_DRV_DS1307 \
  420. CONFIG_RTC_CLASS=y
  421. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
  422. AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
  423. endef
  424. define KernelPackage/rtc-ds1307/description
  425. Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
  426. Epson RX-8025 and various other compatible RTC chips connected via I2C.
  427. endef
  428. $(eval $(call KernelPackage,rtc-ds1307))
  429. define KernelPackage/rtc-ds1672
  430. SUBMENU:=$(OTHER_MENU)
  431. TITLE:=Dallas/Maxim DS1672 RTC support
  432. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  433. KCONFIG:=CONFIG_RTC_DRV_DS1672 \
  434. CONFIG_RTC_CLASS=y
  435. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
  436. AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
  437. endef
  438. define KernelPackage/rtc-ds1672/description
  439. Kernel module for Dallas/Maxim DS1672 RTC.
  440. endef
  441. $(eval $(call KernelPackage,rtc-ds1672))
  442. define KernelPackage/rtc-isl1208
  443. SUBMENU:=$(OTHER_MENU)
  444. TITLE:=Intersil ISL1208 RTC support
  445. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  446. KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
  447. CONFIG_RTC_CLASS=y
  448. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
  449. AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
  450. endef
  451. define KernelPackage/rtc-isl1208/description
  452. Kernel module for Intersil ISL1208 RTC.
  453. endef
  454. $(eval $(call KernelPackage,rtc-isl1208))
  455. define KernelPackage/rtc-marvell
  456. SUBMENU:=$(OTHER_MENU)
  457. TITLE:=Marvell SoC built-in RTC support
  458. DEPENDS:=@RTC_SUPPORT @TARGET_kirkwood||TARGET_orion
  459. KCONFIG:=CONFIG_RTC_DRV_MV \
  460. CONFIG_RTC_CLASS=y
  461. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
  462. AUTOLOAD:=$(call AutoProbe,rtc-mv)
  463. endef
  464. define KernelPackage/rtc-marvell/description
  465. Kernel module for Marvell SoC built-in RTC.
  466. endef
  467. $(eval $(call KernelPackage,rtc-marvell))
  468. define KernelPackage/rtc-pcf8563
  469. SUBMENU:=$(OTHER_MENU)
  470. TITLE:=Philips PCF8563/Epson RTC8564 RTC support
  471. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  472. KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
  473. CONFIG_RTC_CLASS=y
  474. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
  475. AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
  476. endef
  477. define KernelPackage/rtc-pcf8563/description
  478. Kernel module for Philips PCF8563 RTC chip.
  479. The Epson RTC8564 should work as well.
  480. endef
  481. $(eval $(call KernelPackage,rtc-pcf8563))
  482. define KernelPackage/rtc-pcf2123
  483. SUBMENU:=$(OTHER_MENU)
  484. TITLE:=Philips PCF2123 RTC support
  485. DEPENDS:=@RTC_SUPPORT
  486. KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
  487. CONFIG_RTC_CLASS=y
  488. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
  489. AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
  490. endef
  491. define KernelPackage/rtc-pcf2123/description
  492. Kernel module for Philips PCF2123 RTC chip
  493. endef
  494. $(eval $(call KernelPackage,rtc-pcf2123))
  495. define KernelPackage/rtc-pt7c4338
  496. SUBMENU:=$(OTHER_MENU)
  497. TITLE:=Pericom PT7C4338 RTC support
  498. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  499. KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
  500. CONFIG_RTC_CLASS=y
  501. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
  502. AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
  503. endef
  504. define KernelPackage/rtc-pt7c4338/description
  505. Kernel module for Pericom PT7C4338 i2c RTC chip
  506. endef
  507. $(eval $(call KernelPackage,rtc-pt7c4338))
  508. define KernelPackage/rtc-snvs
  509. SUBMENU:=$(OTHER_MENU)
  510. TITLE:=Freescale SNVS RTC support
  511. DEPENDS:=@TARGET_imx6 @RTC_SUPPORT
  512. KCONFIG:=CONFIG_RTC_DRV_SNVS \
  513. CONFIG_RTC_CLASS=y
  514. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-snvs.ko
  515. AUTOLOAD:=$(call AutoLoad,50,rtc-snvs,1)
  516. endef
  517. define KernelPackage/rtc-snvs/description
  518. Kernel module for Freescale SNVS RTC on chip module
  519. endef
  520. $(eval $(call KernelPackage,rtc-snvs))
  521. define KernelPackage/mtdtests
  522. SUBMENU:=$(OTHER_MENU)
  523. TITLE:=MTD subsystem tests
  524. KCONFIG:=CONFIG_MTD_TESTS
  525. FILES:=\
  526. $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
  527. $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
  528. $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
  529. $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
  530. $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
  531. $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
  532. $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
  533. $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
  534. endef
  535. define KernelPackage/mtdtests/description
  536. Kernel modules for MTD subsystem/driver testing
  537. endef
  538. $(eval $(call KernelPackage,mtdtests))
  539. define KernelPackage/serial-8250
  540. SUBMENU:=$(OTHER_MENU)
  541. TITLE:=8250 UARTs
  542. KCONFIG:= CONFIG_SERIAL_8250 \
  543. CONFIG_SERIAL_8250_NR_UARTS=16 \
  544. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  545. CONFIG_SERIAL_8250_EXTENDED=y \
  546. CONFIG_SERIAL_8250_MANY_PORTS=y \
  547. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  548. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  549. CONFIG_SERIAL_8250_RSA=n
  550. FILES:= \
  551. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  552. $(LINUX_DIR)/drivers/tty/serial/8250/[email protected]
  553. endef
  554. define KernelPackage/serial-8250/description
  555. Kernel module for 8250 UART based serial ports
  556. endef
  557. $(eval $(call KernelPackage,serial-8250))
  558. define KernelPackage/regmap
  559. SUBMENU:=$(OTHER_MENU)
  560. TITLE:=Generic register map support
  561. DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
  562. KCONFIG:=CONFIG_REGMAP \
  563. CONFIG_REGMAP_MMIO \
  564. CONFIG_REGMAP_SPI \
  565. CONFIG_REGMAP_I2C \
  566. CONFIG_SPI=y
  567. FILES:= \
  568. $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
  569. $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
  570. $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
  571. $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
  572. AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
  573. endef
  574. define KernelPackage/regmap/description
  575. Generic register map support
  576. endef
  577. $(eval $(call KernelPackage,regmap))
  578. define KernelPackage/ikconfig
  579. SUBMENU:=$(OTHER_MENU)
  580. TITLE:=Kernel configuration via /proc/config.gz
  581. KCONFIG:=CONFIG_IKCONFIG \
  582. CONFIG_IKCONFIG_PROC=y
  583. FILES:=$(LINUX_DIR)/kernel/configs.ko
  584. AUTOLOAD:=$(call AutoLoad,70,configs)
  585. endef
  586. define KernelPackage/ikconfig/description
  587. Kernel configuration via /proc/config.gz
  588. endef
  589. $(eval $(call KernelPackage,ikconfig))
  590. define KernelPackage/zram
  591. SUBMENU:=$(OTHER_MENU)
  592. TITLE:=ZRAM
  593. DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
  594. KCONFIG:= \
  595. CONFIG_ZSMALLOC \
  596. CONFIG_ZRAM \
  597. CONFIG_ZRAM_DEBUG=n \
  598. CONFIG_PGTABLE_MAPPING=n \
  599. CONFIG_ZSMALLOC_STAT=n \
  600. CONFIG_ZRAM_LZ4_COMPRESS=y
  601. FILES:= \
  602. $(LINUX_DIR)/mm/zsmalloc.ko \
  603. $(LINUX_DIR)/drivers/block/zram/zram.ko
  604. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  605. endef
  606. define KernelPackage/zram/description
  607. Compressed RAM block device support
  608. endef
  609. $(eval $(call KernelPackage,zram))
  610. define KernelPackage/mvsdio
  611. SUBMENU:=$(OTHER_MENU)
  612. TITLE:=Marvell SDIO support
  613. DEPENDS:=@TARGET_orion||TARGET_kirkwood +kmod-mmc
  614. KCONFIG:=CONFIG_MMC_MVSDIO
  615. FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
  616. AUTOLOAD:=$(call AutoProbe,mvsdio)
  617. endef
  618. define KernelPackage/mvsdio/description
  619. Kernel support for the Marvell SDIO controller
  620. endef
  621. $(eval $(call KernelPackage,mvsdio))
  622. define KernelPackage/pps
  623. SUBMENU:=$(OTHER_MENU)
  624. TITLE:=PPS support
  625. KCONFIG:=CONFIG_PPS
  626. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  627. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  628. endef
  629. define KernelPackage/pps/description
  630. PPS (Pulse Per Second) is a special pulse provided by some GPS
  631. antennae. Userland can use it to get a high-precision time
  632. reference.
  633. endef
  634. $(eval $(call KernelPackage,pps))
  635. define KernelPackage/pps-gpio
  636. SUBMENU:=$(OTHER_MENU)
  637. TITLE:=PPS client using GPIO
  638. DEPENDS:=+kmod-pps
  639. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  640. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  641. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  642. endef
  643. define KernelPackage/pps-gpio/description
  644. Support for a PPS source using GPIO. To be useful you must
  645. also register a platform device specifying the GPIO pin and
  646. other options, usually in your board setup.
  647. endef
  648. $(eval $(call KernelPackage,pps-gpio))
  649. define KernelPackage/pps-ldisc
  650. SUBMENU:=$(OTHER_MENU)
  651. TITLE:=PPS line discipline
  652. DEPENDS:=+kmod-pps
  653. KCONFIG:=CONFIG_PPS_CLIENT_LDISC
  654. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
  655. AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
  656. endef
  657. define KernelPackage/pps-ldisc/description
  658. Support for a PPS source connected with the CD (Carrier
  659. Detect) pin of your serial port.
  660. endef
  661. $(eval $(call KernelPackage,pps-ldisc))
  662. define KernelPackage/ptp
  663. SUBMENU:=$(OTHER_MENU)
  664. TITLE:=PTP clock support
  665. DEPENDS:=+kmod-pps
  666. KCONFIG:= \
  667. CONFIG_PTP_1588_CLOCK \
  668. CONFIG_NET_PTP_CLASSIFY=y
  669. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  670. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  671. endef
  672. define KernelPackage/ptp/description
  673. The IEEE 1588 standard defines a method to precisely
  674. synchronize distributed clocks over Ethernet networks.
  675. endef
  676. $(eval $(call KernelPackage,ptp))
  677. define KernelPackage/ptp-gianfar
  678. SUBMENU:=$(OTHER_MENU)
  679. TITLE:=Freescale Gianfar PTP support
  680. DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
  681. KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
  682. FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
  683. AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
  684. endef
  685. define KernelPackage/ptp-gianfar/description
  686. Kernel module for IEEE 1588 support for Freescale
  687. Gianfar Ethernet drivers
  688. endef
  689. $(eval $(call KernelPackage,ptp-gianfar))
  690. define KernelPackage/random-core
  691. SUBMENU:=$(OTHER_MENU)
  692. TITLE:=Hardware Random Number Generator Core support
  693. KCONFIG:=CONFIG_HW_RANDOM
  694. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  695. endef
  696. define KernelPackage/random-core/description
  697. Kernel module for the HW random number generator core infrastructure
  698. endef
  699. $(eval $(call KernelPackage,random-core))
  700. define KernelPackage/random-omap
  701. SUBMENU:=$(OTHER_MENU)
  702. TITLE:=Hardware Random Number Generator OMAP support
  703. KCONFIG:=CONFIG_HW_RANDOM_OMAP
  704. FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
  705. DEPENDS:=@(TARGET_omap24xx||TARGET_omap) +kmod-random-core
  706. AUTOLOAD:=$(call AutoProbe,random-omap)
  707. endef
  708. define KernelPackage/random-omap/description
  709. Kernel module for the OMAP Random Number Generator
  710. found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
  711. endef
  712. $(eval $(call KernelPackage,random-omap))
  713. define KernelPackage/thermal
  714. SUBMENU:=$(OTHER_MENU)
  715. TITLE:=Generic Thermal sysfs driver
  716. DEPENDS:=+kmod-hwmon-core
  717. HIDDEN:=1
  718. KCONFIG:= \
  719. CONFIG_THERMAL \
  720. CONFIG_THERMAL_OF=y \
  721. CONFIG_CPU_THERMAL=y \
  722. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  723. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  724. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  725. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  726. CONFIG_THERMAL_GOV_STEP_WISE=y \
  727. CONFIG_THERMAL_GOV_USER_SPACE=n \
  728. CONFIG_THERMAL_HWMON=y \
  729. CONFIG_THERMAL_EMULATION=n
  730. FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
  731. AUTOLOAD:=$(call AutoProbe,thermal_sys)
  732. endef
  733. define KernelPackage/thermal/description
  734. Generic Thermal Sysfs driver offers a generic mechanism for thermal
  735. management. Usually it's made up of one or more thermal zone and cooling
  736. device.
  737. endef
  738. $(eval $(call KernelPackage,thermal))
  739. define KernelPackage/thermal-imx
  740. SUBMENU:=$(OTHER_MENU)
  741. TITLE:=Temperature sensor driver for Freescale i.MX SoCs
  742. DEPENDS:=@TARGET_imx6 +kmod-thermal
  743. KCONFIG:= \
  744. CONFIG_IMX_THERMAL
  745. FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
  746. AUTOLOAD:=$(call AutoProbe,imx_thermal)
  747. endef
  748. define KernelPackage/thermal-imx/description
  749. Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
  750. It supports one critical trip point and one passive trip point. The
  751. cpufreq is used as the cooling device to throttle CPUs when the
  752. passive trip is crossed.
  753. endef
  754. $(eval $(call KernelPackage,thermal-imx))
  755. define KernelPackage/thermal-kirkwood
  756. SUBMENU:=$(OTHER_MENU)
  757. TITLE:=Temperature sensor on Marvell Kirkwood SoCs
  758. DEPENDS:=@TARGET_kirkwood +kmod-thermal
  759. KCONFIG:=CONFIG_KIRKWOOD_THERMAL
  760. FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
  761. AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
  762. endef
  763. define KernelPackage/thermal-kirkwood/description
  764. Support for the Kirkwood thermal sensor driver into the Linux thermal
  765. framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
  766. endef
  767. $(eval $(call KernelPackage,thermal-kirkwood))
  768. define KernelPackage/gpio-beeper
  769. SUBMENU:=$(OTHER_MENU)
  770. TITLE:=GPIO beeper support
  771. DEPENDS:=+kmod-input-core
  772. KCONFIG:= \
  773. CONFIG_INPUT_MISC=y \
  774. CONFIG_INPUT_GPIO_BEEPER
  775. FILES:= \
  776. $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
  777. AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
  778. endef
  779. define KernelPackage/gpio-beeper/description
  780. This enables playing beeps through an GPIO-connected buzzer
  781. endef
  782. $(eval $(call KernelPackage,gpio-beeper))
  783. define KernelPackage/echo
  784. SUBMENU:=$(OTHER_MENU)
  785. TITLE:=Line Echo Canceller
  786. KCONFIG:=CONFIG_ECHO
  787. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  788. AUTOLOAD:=$(call AutoLoad,50,echo)
  789. endef
  790. define KernelPackage/echo/description
  791. This driver provides line echo cancelling support for mISDN and
  792. DAHDI drivers
  793. endef
  794. $(eval $(call KernelPackage,echo))
  795. define KernelPackage/bmp085
  796. SUBMENU:=$(OTHER_MENU)
  797. TITLE:=BMP085/BMP18x pressure sensor
  798. DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
  799. KCONFIG:= CONFIG_BMP085
  800. FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
  801. endef
  802. define KernelPackage/bmp085/description
  803. This driver adds support for Bosch Sensortec's digital pressure
  804. sensors BMP085 and BMP18x.
  805. endef
  806. $(eval $(call KernelPackage,bmp085))
  807. define KernelPackage/bmp085-i2c
  808. SUBMENU:=$(OTHER_MENU)
  809. TITLE:=BMP085/BMP18x pressure sensor I2C
  810. DEPENDS:= +kmod-bmp085
  811. KCONFIG:= CONFIG_BMP085_I2C
  812. FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
  813. AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
  814. endef
  815. define KernelPackage/bmp085-i2c/description
  816. This driver adds support for Bosch Sensortec's digital pressure
  817. sensor connected via I2C.
  818. endef
  819. $(eval $(call KernelPackage,bmp085-i2c))
  820. define KernelPackage/bmp085-spi
  821. SUBMENU:=$(OTHER_MENU)
  822. TITLE:=BMP085/BMP18x pressure sensor SPI
  823. DEPENDS:= +kmod-bmp085
  824. KCONFIG:= CONFIG_BMP085_SPI
  825. FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
  826. AUTOLOAD:=$(call AutoProbe,bmp085-spi)
  827. endef
  828. define KernelPackage/bmp085-spi/description
  829. This driver adds support for Bosch Sensortec's digital pressure
  830. sensor connected via SPI.
  831. endef
  832. $(eval $(call KernelPackage,bmp085-spi))