other.mk 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011
  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||TARGET_mvebu
  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||TARGET_mvebu
  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-armada38x
  481. SUBMENU:=$(OTHER_MENU)
  482. TITLE:=Marvell Armada 38x SoC built-in RTC support
  483. DEPENDS:=@RTC_SUPPORT @TARGET_mvebu
  484. KCONFIG:=CONFIG_RTC_DRV_ARMADA38X \
  485. CONFIG_RTC_CLASS=y
  486. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-armada38x.ko
  487. AUTOLOAD:=$(call AutoProbe,rtc-armada38x)
  488. endef
  489. define KernelPackage/rtc-armada38x/description
  490. Kernel module for Marvell Armada 38x SoC built-in RTC.
  491. endef
  492. $(eval $(call KernelPackage,rtc-armada38x))
  493. define KernelPackage/rtc-pcf8563
  494. SUBMENU:=$(OTHER_MENU)
  495. TITLE:=Philips PCF8563/Epson RTC8564 RTC support
  496. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  497. KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
  498. CONFIG_RTC_CLASS=y
  499. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
  500. AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
  501. endef
  502. define KernelPackage/rtc-pcf8563/description
  503. Kernel module for Philips PCF8563 RTC chip.
  504. The Epson RTC8564 should work as well.
  505. endef
  506. $(eval $(call KernelPackage,rtc-pcf8563))
  507. define KernelPackage/rtc-pcf2123
  508. SUBMENU:=$(OTHER_MENU)
  509. TITLE:=Philips PCF2123 RTC support
  510. DEPENDS:=@RTC_SUPPORT
  511. KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
  512. CONFIG_RTC_CLASS=y
  513. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
  514. AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
  515. endef
  516. define KernelPackage/rtc-pcf2123/description
  517. Kernel module for Philips PCF2123 RTC chip
  518. endef
  519. $(eval $(call KernelPackage,rtc-pcf2123))
  520. define KernelPackage/rtc-pt7c4338
  521. SUBMENU:=$(OTHER_MENU)
  522. TITLE:=Pericom PT7C4338 RTC support
  523. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  524. KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
  525. CONFIG_RTC_CLASS=y
  526. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
  527. AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
  528. endef
  529. define KernelPackage/rtc-pt7c4338/description
  530. Kernel module for Pericom PT7C4338 i2c RTC chip
  531. endef
  532. $(eval $(call KernelPackage,rtc-pt7c4338))
  533. define KernelPackage/rtc-snvs
  534. SUBMENU:=$(OTHER_MENU)
  535. TITLE:=Freescale SNVS RTC support
  536. DEPENDS:=@TARGET_imx6 @RTC_SUPPORT
  537. KCONFIG:=CONFIG_RTC_DRV_SNVS \
  538. CONFIG_RTC_CLASS=y
  539. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-snvs.ko
  540. AUTOLOAD:=$(call AutoLoad,50,rtc-snvs,1)
  541. endef
  542. define KernelPackage/rtc-snvs/description
  543. Kernel module for Freescale SNVS RTC on chip module
  544. endef
  545. $(eval $(call KernelPackage,rtc-snvs))
  546. define KernelPackage/mtdtests
  547. SUBMENU:=$(OTHER_MENU)
  548. TITLE:=MTD subsystem tests
  549. KCONFIG:=CONFIG_MTD_TESTS
  550. FILES:=\
  551. $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
  552. $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
  553. $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
  554. $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
  555. $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
  556. $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
  557. $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
  558. $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
  559. endef
  560. define KernelPackage/mtdtests/description
  561. Kernel modules for MTD subsystem/driver testing
  562. endef
  563. $(eval $(call KernelPackage,mtdtests))
  564. define KernelPackage/serial-8250
  565. SUBMENU:=$(OTHER_MENU)
  566. TITLE:=8250 UARTs
  567. KCONFIG:= CONFIG_SERIAL_8250 \
  568. CONFIG_SERIAL_8250_NR_UARTS=16 \
  569. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  570. CONFIG_SERIAL_8250_EXTENDED=y \
  571. CONFIG_SERIAL_8250_MANY_PORTS=y \
  572. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  573. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  574. CONFIG_SERIAL_8250_RSA=n
  575. FILES:= \
  576. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  577. $(LINUX_DIR)/drivers/tty/serial/8250/[email protected]
  578. endef
  579. define KernelPackage/serial-8250/description
  580. Kernel module for 8250 UART based serial ports
  581. endef
  582. $(eval $(call KernelPackage,serial-8250))
  583. define KernelPackage/regmap
  584. SUBMENU:=$(OTHER_MENU)
  585. TITLE:=Generic register map support
  586. DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
  587. KCONFIG:=CONFIG_REGMAP \
  588. CONFIG_REGMAP_MMIO \
  589. CONFIG_REGMAP_SPI \
  590. CONFIG_REGMAP_I2C \
  591. CONFIG_SPI=y
  592. FILES:= \
  593. $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
  594. $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
  595. $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
  596. $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
  597. AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
  598. endef
  599. define KernelPackage/regmap/description
  600. Generic register map support
  601. endef
  602. $(eval $(call KernelPackage,regmap))
  603. define KernelPackage/ikconfig
  604. SUBMENU:=$(OTHER_MENU)
  605. TITLE:=Kernel configuration via /proc/config.gz
  606. KCONFIG:=CONFIG_IKCONFIG \
  607. CONFIG_IKCONFIG_PROC=y
  608. FILES:=$(LINUX_DIR)/kernel/configs.ko
  609. AUTOLOAD:=$(call AutoLoad,70,configs)
  610. endef
  611. define KernelPackage/ikconfig/description
  612. Kernel configuration via /proc/config.gz
  613. endef
  614. $(eval $(call KernelPackage,ikconfig))
  615. define KernelPackage/zram
  616. SUBMENU:=$(OTHER_MENU)
  617. TITLE:=ZRAM
  618. DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
  619. KCONFIG:= \
  620. CONFIG_ZSMALLOC \
  621. CONFIG_ZRAM \
  622. CONFIG_ZRAM_DEBUG=n \
  623. CONFIG_PGTABLE_MAPPING=n \
  624. CONFIG_ZSMALLOC_STAT=n \
  625. CONFIG_ZRAM_LZ4_COMPRESS=y
  626. FILES:= \
  627. $(LINUX_DIR)/mm/zsmalloc.ko \
  628. $(LINUX_DIR)/drivers/block/zram/zram.ko
  629. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  630. endef
  631. define KernelPackage/zram/description
  632. Compressed RAM block device support
  633. endef
  634. $(eval $(call KernelPackage,zram))
  635. define KernelPackage/mvsdio
  636. SUBMENU:=$(OTHER_MENU)
  637. TITLE:=Marvell SDIO support
  638. DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
  639. KCONFIG:=CONFIG_MMC_MVSDIO
  640. FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
  641. AUTOLOAD:=$(call AutoProbe,mvsdio)
  642. endef
  643. define KernelPackage/mvsdio/description
  644. Kernel support for the Marvell SDIO controller
  645. endef
  646. $(eval $(call KernelPackage,mvsdio))
  647. define KernelPackage/pps
  648. SUBMENU:=$(OTHER_MENU)
  649. TITLE:=PPS support
  650. KCONFIG:=CONFIG_PPS
  651. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  652. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  653. endef
  654. define KernelPackage/pps/description
  655. PPS (Pulse Per Second) is a special pulse provided by some GPS
  656. antennae. Userland can use it to get a high-precision time
  657. reference.
  658. endef
  659. $(eval $(call KernelPackage,pps))
  660. define KernelPackage/pps-gpio
  661. SUBMENU:=$(OTHER_MENU)
  662. TITLE:=PPS client using GPIO
  663. DEPENDS:=+kmod-pps
  664. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  665. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  666. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  667. endef
  668. define KernelPackage/pps-gpio/description
  669. Support for a PPS source using GPIO. To be useful you must
  670. also register a platform device specifying the GPIO pin and
  671. other options, usually in your board setup.
  672. endef
  673. $(eval $(call KernelPackage,pps-gpio))
  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/thermal
  713. SUBMENU:=$(OTHER_MENU)
  714. TITLE:=Generic Thermal sysfs driver
  715. DEPENDS:=+kmod-hwmon-core
  716. HIDDEN:=1
  717. KCONFIG:= \
  718. CONFIG_THERMAL \
  719. CONFIG_THERMAL_OF=y \
  720. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  721. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  722. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  723. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  724. CONFIG_THERMAL_GOV_STEP_WISE=y \
  725. CONFIG_THERMAL_GOV_USER_SPACE=n \
  726. CONFIG_THERMAL_HWMON=y \
  727. CONFIG_THERMAL_EMULATION=n
  728. FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
  729. AUTOLOAD:=$(call AutoProbe,thermal_sys)
  730. endef
  731. define KernelPackage/thermal/description
  732. Generic Thermal Sysfs driver offers a generic mechanism for thermal
  733. management. Usually it's made up of one or more thermal zone and cooling
  734. device.
  735. endef
  736. $(eval $(call KernelPackage,thermal))
  737. define KernelPackage/thermal-armada
  738. SUBMENU:=$(OTHER_MENU)
  739. TITLE:=Armada 370/XP thermal management
  740. DEPENDS:=@TARGET_mvebu +kmod-thermal
  741. KCONFIG:=CONFIG_ARMADA_THERMAL
  742. FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
  743. AUTOLOAD:=$(call AutoProbe,armada_thermal)
  744. endef
  745. define KernelPackage/thermal-armada/description
  746. Enable this module if you want to have support for thermal management
  747. controller present in Armada 370 and Armada XP SoC.
  748. endef
  749. $(eval $(call KernelPackage,thermal-armada))
  750. define KernelPackage/thermal-imx
  751. SUBMENU:=$(OTHER_MENU)
  752. TITLE:=Temperature sensor driver for Freescale i.MX SoCs
  753. DEPENDS:=@TARGET_imx6 +kmod-thermal
  754. KCONFIG:= \
  755. CONFIG_CPU_THERMAL=y \
  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))