other.mk 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979
  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
  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/eeprom-93cx6
  111. SUBMENU:=$(OTHER_MENU)
  112. TITLE:=EEPROM 93CX6 support
  113. KCONFIG:=CONFIG_EEPROM_93CX6
  114. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
  115. AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
  116. endef
  117. define KernelPackage/eeprom-93cx6/description
  118. Kernel module for EEPROM 93CX6 support
  119. endef
  120. $(eval $(call KernelPackage,eeprom-93cx6))
  121. define KernelPackage/eeprom-at24
  122. SUBMENU:=$(OTHER_MENU)
  123. TITLE:=EEPROM AT24 support
  124. KCONFIG:=CONFIG_EEPROM_AT24
  125. DEPENDS:=+kmod-i2c-core
  126. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
  127. AUTOLOAD:=$(call AutoProbe,at24)
  128. endef
  129. define KernelPackage/eeprom-at24/description
  130. Kernel module for most I2C EEPROMs
  131. endef
  132. $(eval $(call KernelPackage,eeprom-at24))
  133. define KernelPackage/eeprom-at25
  134. SUBMENU:=$(OTHER_MENU)
  135. TITLE:=EEPROM AT25 support
  136. KCONFIG:=CONFIG_EEPROM_AT25
  137. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
  138. AUTOLOAD:=$(call AutoProbe,at25)
  139. endef
  140. define KernelPackage/eeprom-at25/description
  141. Kernel module for most SPI EEPROMs
  142. endef
  143. $(eval $(call KernelPackage,eeprom-at25))
  144. define KernelPackage/gpio-dev
  145. SUBMENU:=$(OTHER_MENU)
  146. TITLE:=Generic GPIO char device support
  147. DEPENDS:=@GPIO_SUPPORT
  148. KCONFIG:=CONFIG_GPIO_DEVICE
  149. FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
  150. AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
  151. endef
  152. define KernelPackage/gpio-dev/description
  153. Kernel module to allows control of GPIO pins using a character device.
  154. endef
  155. $(eval $(call KernelPackage,gpio-dev))
  156. define KernelPackage/gpio-mcp23s08
  157. SUBMENU:=$(OTHER_MENU)
  158. TITLE:=Microchip MCP23xxx I/O expander
  159. DEPENDS:=@GPIO_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core
  160. KCONFIG:=CONFIG_GPIO_MCP23S08
  161. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
  162. AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
  163. endef
  164. define KernelPackage/gpio-mcp23s08/description
  165. Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
  166. endef
  167. $(eval $(call KernelPackage,gpio-mcp23s08))
  168. define KernelPackage/gpio-nxp-74hc164
  169. SUBMENU:=$(OTHER_MENU)
  170. TITLE:=NXP 74HC164 GPIO expander support
  171. KCONFIG:=CONFIG_GPIO_NXP_74HC164
  172. FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
  173. AUTOLOAD:=$(call AutoProbe,nxp_74hc164)
  174. endef
  175. define KernelPackage/gpio-nxp-74hc164/description
  176. Kernel module for NXP 74HC164 GPIO expander
  177. endef
  178. $(eval $(call KernelPackage,gpio-nxp-74hc164))
  179. define KernelPackage/gpio-pca953x
  180. SUBMENU:=$(OTHER_MENU)
  181. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
  182. TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
  183. KCONFIG:=CONFIG_GPIO_PCA953X
  184. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
  185. AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
  186. endef
  187. define KernelPackage/gpio-pca953x/description
  188. Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
  189. PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
  190. endef
  191. $(eval $(call KernelPackage,gpio-pca953x))
  192. define KernelPackage/gpio-pcf857x
  193. SUBMENU:=$(OTHER_MENU)
  194. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
  195. TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
  196. KCONFIG:=CONFIG_GPIO_PCF857X
  197. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
  198. AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
  199. endef
  200. define KernelPackage/gpio-pcf857x/description
  201. Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
  202. endef
  203. $(eval $(call KernelPackage,gpio-pcf857x))
  204. define KernelPackage/iio-core
  205. SUBMENU:=$(OTHER_MENU)
  206. TITLE:=Industrial IO core
  207. KCONFIG:= \
  208. CONFIG_IIO \
  209. CONFIG_IIO_BUFFER=y \
  210. CONFIG_IIO_KFIFO_BUF \
  211. CONFIG_IIO_TRIGGER=y \
  212. CONFIG_IIO_TRIGGERED_BUFFER
  213. FILES:= \
  214. $(LINUX_DIR)/drivers/iio/industrialio.ko \
  215. $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/industrialio-triggered-buffer.ko) \
  216. $(LINUX_DIR)/drivers/iio/kfifo_buf.ko
  217. AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
  218. endef
  219. define KernelPackage/iio-core/description
  220. The industrial I/O subsystem provides a unified framework for
  221. drivers for many different types of embedded sensors using a
  222. number of different physical interfaces (i2c, spi, etc)
  223. endef
  224. $(eval $(call KernelPackage,iio-core))
  225. define KernelPackage/iio-ad799x
  226. SUBMENU:=$(OTHER_MENU)
  227. DEPENDS:=kmod-i2c-core kmod-iio-core
  228. TITLE:=Analog Devices AD799x ADC driver
  229. KCONFIG:= \
  230. CONFIG_AD799X_RING_BUFFER=y \
  231. CONFIG_AD799X
  232. FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
  233. AUTOLOAD:=$(call AutoLoad,56,ad799x)
  234. endef
  235. define KernelPackage/iio-ad799x/description
  236. support for Analog Devices:
  237. ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
  238. i2c analog to digital converters (ADC).
  239. endef
  240. $(eval $(call KernelPackage,iio-ad799x))
  241. define KernelPackage/iio-dht11
  242. SUBMENU:=$(OTHER_MENU)
  243. DEPENDS:=kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
  244. TITLE:=DHT11 (and compatible) humidity and temperature sensors
  245. KCONFIG:= \
  246. CONFIG_DHT11
  247. FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
  248. AUTOLOAD:=$(call AutoLoad,56,dht11)
  249. endef
  250. define KernelPackage/iio-dht11/description
  251. support for DHT11 and DHT22 digitial humidity and temperature sensors
  252. attached at GPIO lines. You will need a custom device tree file to
  253. specify the GPIO line to use.
  254. endef
  255. $(eval $(call KernelPackage,iio-dht11))
  256. define KernelPackage/lp
  257. SUBMENU:=$(OTHER_MENU)
  258. TITLE:=Parallel port and line printer support
  259. KCONFIG:= \
  260. CONFIG_PARPORT \
  261. CONFIG_PRINTER \
  262. CONFIG_PPDEV
  263. FILES:= \
  264. $(LINUX_DIR)/drivers/parport/parport.ko \
  265. $(LINUX_DIR)/drivers/char/lp.ko \
  266. $(LINUX_DIR)/drivers/char/ppdev.ko
  267. AUTOLOAD:=$(call AutoLoad,50,parport lp ppdev)
  268. endef
  269. $(eval $(call KernelPackage,lp))
  270. define KernelPackage/mmc
  271. SUBMENU:=$(OTHER_MENU)
  272. TITLE:=MMC/SD Card Support
  273. KCONFIG:= \
  274. CONFIG_MMC \
  275. CONFIG_MMC_BLOCK \
  276. CONFIG_MMC_DEBUG=n \
  277. CONFIG_MMC_UNSAFE_RESUME=n \
  278. CONFIG_MMC_BLOCK_BOUNCE=y \
  279. CONFIG_MMC_TIFM_SD=n \
  280. CONFIG_MMC_WBSD=n \
  281. CONFIG_SDIO_UART=n
  282. FILES:= \
  283. $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
  284. $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
  285. AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
  286. endef
  287. define KernelPackage/mmc/description
  288. Kernel support for MMC/SD cards
  289. endef
  290. $(eval $(call KernelPackage,mmc))
  291. define KernelPackage/sdhci
  292. SUBMENU:=$(OTHER_MENU)
  293. TITLE:=Secure Digital Host Controller Interface support
  294. DEPENDS:=+kmod-mmc
  295. KCONFIG:= \
  296. CONFIG_MMC_SDHCI \
  297. CONFIG_MMC_SDHCI_PLTFM \
  298. CONFIG_MMC_SDHCI_PCI=n
  299. FILES:= \
  300. $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
  301. $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
  302. AUTOLOAD:=$(call AutoProbe,sdhci sdhci-pltfm,1)
  303. endef
  304. define KernelPackage/sdhci/description
  305. Kernel support for SDHCI Hosts
  306. endef
  307. $(eval $(call KernelPackage,sdhci))
  308. define KernelPackage/rfkill
  309. SUBMENU:=$(OTHER_MENU)
  310. TITLE:=RF switch subsystem support
  311. DEPENDS:=@USE_RFKILL +kmod-input-core
  312. KCONFIG:= \
  313. CONFIG_RFKILL \
  314. CONFIG_RFKILL_INPUT=y \
  315. CONFIG_RFKILL_LEDS=y \
  316. CONFIG_RFKILL_GPIO=y
  317. FILES:= \
  318. $(LINUX_DIR)/net/rfkill/rfkill.ko
  319. AUTOLOAD:=$(call AutoLoad,20,rfkill)
  320. endef
  321. define KernelPackage/rfkill/description
  322. Say Y here if you want to have control over RF switches
  323. found on many WiFi and Bluetooth cards
  324. endef
  325. $(eval $(call KernelPackage,rfkill))
  326. define KernelPackage/softdog
  327. SUBMENU:=$(OTHER_MENU)
  328. TITLE:=Software watchdog driver
  329. KCONFIG:=CONFIG_SOFT_WATCHDOG
  330. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
  331. AUTOLOAD:=$(call AutoLoad,50,softdog,1)
  332. endef
  333. define KernelPackage/softdog/description
  334. Software watchdog driver
  335. endef
  336. $(eval $(call KernelPackage,softdog))
  337. define KernelPackage/ssb
  338. SUBMENU:=$(OTHER_MENU)
  339. TITLE:=Silicon Sonics Backplane glue code
  340. DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
  341. KCONFIG:=\
  342. CONFIG_SSB \
  343. CONFIG_SSB_B43_PCI_BRIDGE=y \
  344. CONFIG_SSB_DRIVER_MIPS=n \
  345. CONFIG_SSB_DRIVER_PCICORE=y \
  346. CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
  347. CONFIG_SSB_PCIHOST=y \
  348. CONFIG_SSB_PCIHOST_POSSIBLE=y \
  349. CONFIG_SSB_POSSIBLE=y \
  350. CONFIG_SSB_SPROM=y \
  351. CONFIG_SSB_SILENT=y
  352. FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
  353. AUTOLOAD:=$(call AutoLoad,18,ssb,1)
  354. endef
  355. define KernelPackage/ssb/description
  356. Silicon Sonics Backplane glue code.
  357. endef
  358. $(eval $(call KernelPackage,ssb))
  359. define KernelPackage/bcma
  360. SUBMENU:=$(OTHER_MENU)
  361. TITLE:=BCMA support
  362. DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
  363. KCONFIG:=\
  364. CONFIG_BCMA \
  365. CONFIG_BCMA_POSSIBLE=y \
  366. CONFIG_BCMA_BLOCKIO=y \
  367. CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
  368. CONFIG_BCMA_HOST_PCI=y \
  369. CONFIG_BCMA_HOST_SOC=n \
  370. CONFIG_BCMA_DRIVER_MIPS=n \
  371. CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
  372. CONFIG_BCMA_DRIVER_GMAC_CMN=n \
  373. CONFIG_BCMA_DEBUG=n
  374. FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
  375. AUTOLOAD:=$(call AutoLoad,29,bcma)
  376. endef
  377. define KernelPackage/bcma/description
  378. Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
  379. endef
  380. $(eval $(call KernelPackage,bcma))
  381. define KernelPackage/wdt-omap
  382. SUBMENU:=$(OTHER_MENU)
  383. TITLE:=OMAP Watchdog timer
  384. DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
  385. KCONFIG:=CONFIG_OMAP_WATCHDOG
  386. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
  387. AUTOLOAD:=$(call AutoLoad,50,omap_wdt,1)
  388. endef
  389. define KernelPackage/wdt-omap/description
  390. Kernel module for TI omap watchdog timer
  391. endef
  392. $(eval $(call KernelPackage,wdt-omap))
  393. define KernelPackage/wdt-orion
  394. SUBMENU:=$(OTHER_MENU)
  395. TITLE:=Marvell Orion Watchdog timer
  396. DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
  397. KCONFIG:=CONFIG_ORION_WATCHDOG
  398. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
  399. AUTOLOAD:=$(call AutoLoad,50,orion_wdt,1)
  400. endef
  401. define KernelPackage/wdt-orion/description
  402. Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
  403. endef
  404. $(eval $(call KernelPackage,wdt-orion))
  405. define KernelPackage/booke-wdt
  406. SUBMENU:=$(OTHER_MENU)
  407. TITLE:=PowerPC Book-E Watchdog Timer
  408. DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
  409. KCONFIG:=CONFIG_BOOKE_WDT
  410. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
  411. AUTOLOAD:=$(call AutoLoad,50,booke_wdt,1)
  412. endef
  413. define KernelPackage/booke-wdt/description
  414. Kernel module for PowerPC Book-E Watchdog Timer
  415. endef
  416. $(eval $(call KernelPackage,booke-wdt))
  417. define KernelPackage/rtc-ds1307
  418. SUBMENU:=$(OTHER_MENU)
  419. TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
  420. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  421. KCONFIG:=CONFIG_RTC_DRV_DS1307 \
  422. CONFIG_RTC_CLASS=y
  423. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
  424. AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
  425. endef
  426. define KernelPackage/rtc-ds1307/description
  427. Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
  428. Epson RX-8025 and various other compatible RTC chips connected via I2C.
  429. endef
  430. $(eval $(call KernelPackage,rtc-ds1307))
  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-marvell
  458. SUBMENU:=$(OTHER_MENU)
  459. TITLE:=Marvell SoC built-in RTC support
  460. DEPENDS:=@RTC_SUPPORT @TARGET_kirkwood||TARGET_orion||TARGET_mvebu
  461. KCONFIG:=CONFIG_RTC_DRV_MV \
  462. CONFIG_RTC_CLASS=y
  463. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
  464. AUTOLOAD:=$(call AutoProbe,rtc-mv)
  465. endef
  466. define KernelPackage/rtc-marvell/description
  467. Kernel module for Marvell SoC built-in RTC.
  468. endef
  469. $(eval $(call KernelPackage,rtc-marvell))
  470. define KernelPackage/rtc-armada38x
  471. SUBMENU:=$(OTHER_MENU)
  472. TITLE:=Marvell Armada 38x SoC built-in RTC support
  473. DEPENDS:=@RTC_SUPPORT @TARGET_mvebu
  474. KCONFIG:=CONFIG_RTC_DRV_ARMADA38X \
  475. CONFIG_RTC_CLASS=y
  476. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-armada38x.ko
  477. AUTOLOAD:=$(call AutoProbe,rtc-armada38x)
  478. endef
  479. define KernelPackage/rtc-armada38x/description
  480. Kernel module for Marvell Armada 38x SoC built-in RTC.
  481. endef
  482. $(eval $(call KernelPackage,rtc-armada38x))
  483. define KernelPackage/rtc-pcf8563
  484. SUBMENU:=$(OTHER_MENU)
  485. TITLE:=Philips PCF8563/Epson RTC8564 RTC support
  486. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  487. KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
  488. CONFIG_RTC_CLASS=y
  489. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
  490. AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
  491. endef
  492. define KernelPackage/rtc-pcf8563/description
  493. Kernel module for Philips PCF8563 RTC chip.
  494. The Epson RTC8564 should work as well.
  495. endef
  496. $(eval $(call KernelPackage,rtc-pcf8563))
  497. define KernelPackage/rtc-pcf2123
  498. SUBMENU:=$(OTHER_MENU)
  499. TITLE:=Philips PCF2123 RTC support
  500. DEPENDS:=@RTC_SUPPORT
  501. KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
  502. CONFIG_RTC_CLASS=y
  503. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
  504. AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
  505. endef
  506. define KernelPackage/rtc-pcf2123/description
  507. Kernel module for Philips PCF2123 RTC chip
  508. endef
  509. $(eval $(call KernelPackage,rtc-pcf2123))
  510. define KernelPackage/rtc-pt7c4338
  511. SUBMENU:=$(OTHER_MENU)
  512. TITLE:=Pericom PT7C4338 RTC support
  513. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  514. KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
  515. CONFIG_RTC_CLASS=y
  516. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
  517. AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
  518. endef
  519. define KernelPackage/rtc-pt7c4338/description
  520. Kernel module for Pericom PT7C4338 i2c RTC chip
  521. endef
  522. $(eval $(call KernelPackage,rtc-pt7c4338))
  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:=$(LINUX_DIR)/drivers/tty/serial/8250/8250.ko
  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||TARGET_mvebu +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/ptp
  650. SUBMENU:=$(OTHER_MENU)
  651. TITLE:=PTP clock support
  652. DEPENDS:=+kmod-pps
  653. KCONFIG:=CONFIG_PTP_1588_CLOCK
  654. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  655. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  656. endef
  657. define KernelPackage/ptp/description
  658. The IEEE 1588 standard defines a method to precisely
  659. synchronize distributed clocks over Ethernet networks.
  660. endef
  661. $(eval $(call KernelPackage,ptp))
  662. define KernelPackage/ptp-gianfar
  663. SUBMENU:=$(OTHER_MENU)
  664. TITLE:=Freescale Gianfar PTP support
  665. DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
  666. KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
  667. FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
  668. AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
  669. endef
  670. define KernelPackage/ptp-gianfar/description
  671. Kernel module for IEEE 1588 support for Freescale
  672. Gianfar Ethernet drivers
  673. endef
  674. $(eval $(call KernelPackage,ptp-gianfar))
  675. define KernelPackage/random-core
  676. SUBMENU:=$(OTHER_MENU)
  677. TITLE:=Hardware Random Number Generator Core support
  678. KCONFIG:=CONFIG_HW_RANDOM
  679. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  680. endef
  681. define KernelPackage/random-core/description
  682. Kernel module for the HW random number generator core infrastructure
  683. endef
  684. $(eval $(call KernelPackage,random-core))
  685. define KernelPackage/thermal
  686. SUBMENU:=$(OTHER_MENU)
  687. TITLE:=Generic Thermal sysfs driver
  688. DEPENDS:=+kmod-hwmon-core
  689. HIDDEN:=1
  690. KCONFIG:= \
  691. CONFIG_THERMAL \
  692. CONFIG_THERMAL_OF=y \
  693. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  694. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  695. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  696. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  697. CONFIG_THERMAL_GOV_STEP_WISE=y \
  698. CONFIG_THERMAL_GOV_USER_SPACE=n \
  699. CONFIG_THERMAL_HWMON=y \
  700. CONFIG_THERMAL_EMULATION=n
  701. FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
  702. AUTOLOAD:=$(call AutoProbe,thermal_sys)
  703. endef
  704. define KernelPackage/thermal/description
  705. Generic Thermal Sysfs driver offers a generic mechanism for thermal
  706. management. Usually it's made up of one or more thermal zone and cooling
  707. device.
  708. endef
  709. $(eval $(call KernelPackage,thermal))
  710. define KernelPackage/thermal-armada
  711. SUBMENU:=$(OTHER_MENU)
  712. TITLE:=Armada 370/XP thermal management
  713. DEPENDS:=@TARGET_mvebu +kmod-thermal
  714. KCONFIG:=CONFIG_ARMADA_THERMAL
  715. FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
  716. AUTOLOAD:=$(call AutoProbe,armada_thermal)
  717. endef
  718. define KernelPackage/thermal-armada/description
  719. Enable this module if you want to have support for thermal management
  720. controller present in Armada 370 and Armada XP SoC.
  721. endef
  722. $(eval $(call KernelPackage,thermal-armada))
  723. define KernelPackage/thermal-imx
  724. SUBMENU:=$(OTHER_MENU)
  725. TITLE:=Temperature sensor driver for Freescale i.MX SoCs
  726. DEPENDS:=@TARGET_imx6 +kmod-thermal
  727. KCONFIG:= \
  728. CONFIG_CPU_THERMAL=y \
  729. CONFIG_IMX_THERMAL
  730. FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
  731. AUTOLOAD:=$(call AutoProbe,imx_thermal)
  732. endef
  733. define KernelPackage/thermal-imx/description
  734. Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
  735. It supports one critical trip point and one passive trip point. The
  736. cpufreq is used as the cooling device to throttle CPUs when the
  737. passive trip is crossed.
  738. endef
  739. $(eval $(call KernelPackage,thermal-imx))
  740. define KernelPackage/thermal-kirkwood
  741. SUBMENU:=$(OTHER_MENU)
  742. TITLE:=Temperature sensor on Marvell Kirkwood SoCs
  743. DEPENDS:=@TARGET_kirkwood +kmod-thermal
  744. KCONFIG:=CONFIG_KIRKWOOD_THERMAL
  745. FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
  746. AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
  747. endef
  748. define KernelPackage/thermal-kirkwood/description
  749. Support for the Kirkwood thermal sensor driver into the Linux thermal
  750. framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
  751. endef
  752. $(eval $(call KernelPackage,thermal-kirkwood))
  753. define KernelPackage/gpio-beeper
  754. SUBMENU:=$(OTHER_MENU)
  755. TITLE:=GPIO beeper support
  756. DEPENDS:=+kmod-input-core
  757. KCONFIG:= \
  758. CONFIG_INPUT_MISC=y \
  759. CONFIG_INPUT_GPIO_BEEPER
  760. FILES:= \
  761. $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
  762. AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
  763. endef
  764. define KernelPackage/gpio-beeper/description
  765. This enables playing beeps through an GPIO-connected buzzer
  766. endef
  767. $(eval $(call KernelPackage,gpio-beeper))
  768. define KernelPackage/echo
  769. SUBMENU:=$(OTHER_MENU)
  770. TITLE:=Line Echo Canceller
  771. KCONFIG:=CONFIG_ECHO
  772. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  773. AUTOLOAD:=$(call AutoLoad,50,echo)
  774. endef
  775. define KernelPackage/echo/description
  776. This driver provides line echo cancelling support for mISDN and
  777. DAHDI drivers
  778. endef
  779. $(eval $(call KernelPackage,echo))