other.mk 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985
  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/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/[email protected]) \
  216. $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/buffer/[email protected]) \
  217. $(LINUX_DIR)/drivers/iio/[email protected] \
  218. $(LINUX_DIR)/drivers/iio/buffer/[email protected]
  219. AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
  220. endef
  221. define KernelPackage/iio-core/description
  222. The industrial I/O subsystem provides a unified framework for
  223. drivers for many different types of embedded sensors using a
  224. number of different physical interfaces (i2c, spi, etc)
  225. endef
  226. $(eval $(call KernelPackage,iio-core))
  227. define KernelPackage/iio-ad799x
  228. SUBMENU:=$(OTHER_MENU)
  229. DEPENDS:=kmod-i2c-core kmod-iio-core
  230. TITLE:=Analog Devices AD799x ADC driver
  231. KCONFIG:= \
  232. CONFIG_AD799X_RING_BUFFER=y \
  233. CONFIG_AD799X
  234. FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
  235. AUTOLOAD:=$(call AutoLoad,56,ad799x)
  236. endef
  237. define KernelPackage/iio-ad799x/description
  238. support for Analog Devices:
  239. ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
  240. i2c analog to digital converters (ADC).
  241. endef
  242. $(eval $(call KernelPackage,iio-ad799x))
  243. define KernelPackage/iio-dht11
  244. SUBMENU:=$(OTHER_MENU)
  245. DEPENDS:=kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
  246. TITLE:=DHT11 (and compatible) humidity and temperature sensors
  247. KCONFIG:= \
  248. CONFIG_DHT11
  249. FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
  250. AUTOLOAD:=$(call AutoLoad,56,dht11)
  251. endef
  252. define KernelPackage/iio-dht11/description
  253. support for DHT11 and DHT22 digitial humidity and temperature sensors
  254. attached at GPIO lines. You will need a custom device tree file to
  255. specify the GPIO line to use.
  256. endef
  257. $(eval $(call KernelPackage,iio-dht11))
  258. define KernelPackage/lp
  259. SUBMENU:=$(OTHER_MENU)
  260. TITLE:=Parallel port and line printer support
  261. KCONFIG:= \
  262. CONFIG_PARPORT \
  263. CONFIG_PRINTER \
  264. CONFIG_PPDEV
  265. FILES:= \
  266. $(LINUX_DIR)/drivers/parport/parport.ko \
  267. $(LINUX_DIR)/drivers/char/lp.ko \
  268. $(LINUX_DIR)/drivers/char/ppdev.ko
  269. AUTOLOAD:=$(call AutoLoad,50,parport lp ppdev)
  270. endef
  271. $(eval $(call KernelPackage,lp))
  272. define KernelPackage/mmc
  273. SUBMENU:=$(OTHER_MENU)
  274. TITLE:=MMC/SD Card Support
  275. KCONFIG:= \
  276. CONFIG_MMC \
  277. CONFIG_MMC_BLOCK \
  278. CONFIG_MMC_DEBUG=n \
  279. CONFIG_MMC_UNSAFE_RESUME=n \
  280. CONFIG_MMC_BLOCK_BOUNCE=y \
  281. CONFIG_MMC_TIFM_SD=n \
  282. CONFIG_MMC_WBSD=n \
  283. CONFIG_SDIO_UART=n
  284. FILES:= \
  285. $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
  286. $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
  287. AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
  288. endef
  289. define KernelPackage/mmc/description
  290. Kernel support for MMC/SD cards
  291. endef
  292. $(eval $(call KernelPackage,mmc))
  293. define KernelPackage/sdhci
  294. SUBMENU:=$(OTHER_MENU)
  295. TITLE:=Secure Digital Host Controller Interface support
  296. DEPENDS:=+kmod-mmc
  297. KCONFIG:= \
  298. CONFIG_MMC_SDHCI \
  299. CONFIG_MMC_SDHCI_PLTFM \
  300. CONFIG_MMC_SDHCI_PCI=n
  301. FILES:= \
  302. $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
  303. $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
  304. AUTOLOAD:=$(call AutoProbe,sdhci sdhci-pltfm,1)
  305. endef
  306. define KernelPackage/sdhci/description
  307. Kernel support for SDHCI Hosts
  308. endef
  309. $(eval $(call KernelPackage,sdhci))
  310. define KernelPackage/rfkill
  311. SUBMENU:=$(OTHER_MENU)
  312. TITLE:=RF switch subsystem support
  313. DEPENDS:=@USE_RFKILL +kmod-input-core
  314. KCONFIG:= \
  315. CONFIG_RFKILL \
  316. CONFIG_RFKILL_INPUT=y \
  317. CONFIG_RFKILL_LEDS=y \
  318. CONFIG_RFKILL_GPIO=y
  319. FILES:= \
  320. $(LINUX_DIR)/net/rfkill/rfkill.ko
  321. AUTOLOAD:=$(call AutoLoad,20,rfkill)
  322. endef
  323. define KernelPackage/rfkill/description
  324. Say Y here if you want to have control over RF switches
  325. found on many WiFi and Bluetooth cards
  326. endef
  327. $(eval $(call KernelPackage,rfkill))
  328. define KernelPackage/softdog
  329. SUBMENU:=$(OTHER_MENU)
  330. TITLE:=Software watchdog driver
  331. KCONFIG:=CONFIG_SOFT_WATCHDOG
  332. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
  333. AUTOLOAD:=$(call AutoLoad,50,softdog,1)
  334. endef
  335. define KernelPackage/softdog/description
  336. Software watchdog driver
  337. endef
  338. $(eval $(call KernelPackage,softdog))
  339. define KernelPackage/ssb
  340. SUBMENU:=$(OTHER_MENU)
  341. TITLE:=Silicon Sonics Backplane glue code
  342. DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
  343. KCONFIG:=\
  344. CONFIG_SSB \
  345. CONFIG_SSB_B43_PCI_BRIDGE=y \
  346. CONFIG_SSB_DRIVER_MIPS=n \
  347. CONFIG_SSB_DRIVER_PCICORE=y \
  348. CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
  349. CONFIG_SSB_PCIHOST=y \
  350. CONFIG_SSB_PCIHOST_POSSIBLE=y \
  351. CONFIG_SSB_POSSIBLE=y \
  352. CONFIG_SSB_SPROM=y \
  353. CONFIG_SSB_SILENT=y
  354. FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
  355. AUTOLOAD:=$(call AutoLoad,18,ssb,1)
  356. endef
  357. define KernelPackage/ssb/description
  358. Silicon Sonics Backplane glue code.
  359. endef
  360. $(eval $(call KernelPackage,ssb))
  361. define KernelPackage/bcma
  362. SUBMENU:=$(OTHER_MENU)
  363. TITLE:=BCMA support
  364. DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
  365. KCONFIG:=\
  366. CONFIG_BCMA \
  367. CONFIG_BCMA_POSSIBLE=y \
  368. CONFIG_BCMA_BLOCKIO=y \
  369. CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
  370. CONFIG_BCMA_HOST_PCI=y \
  371. CONFIG_BCMA_HOST_SOC=n \
  372. CONFIG_BCMA_DRIVER_MIPS=n \
  373. CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
  374. CONFIG_BCMA_DRIVER_GMAC_CMN=n \
  375. CONFIG_BCMA_DEBUG=n
  376. FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
  377. AUTOLOAD:=$(call AutoLoad,29,bcma)
  378. endef
  379. define KernelPackage/bcma/description
  380. Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
  381. endef
  382. $(eval $(call KernelPackage,bcma))
  383. define KernelPackage/wdt-omap
  384. SUBMENU:=$(OTHER_MENU)
  385. TITLE:=OMAP Watchdog timer
  386. DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
  387. KCONFIG:=CONFIG_OMAP_WATCHDOG
  388. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
  389. AUTOLOAD:=$(call AutoLoad,50,omap_wdt,1)
  390. endef
  391. define KernelPackage/wdt-omap/description
  392. Kernel module for TI omap watchdog timer
  393. endef
  394. $(eval $(call KernelPackage,wdt-omap))
  395. define KernelPackage/wdt-orion
  396. SUBMENU:=$(OTHER_MENU)
  397. TITLE:=Marvell Orion Watchdog timer
  398. DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
  399. KCONFIG:=CONFIG_ORION_WATCHDOG
  400. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
  401. AUTOLOAD:=$(call AutoLoad,50,orion_wdt,1)
  402. endef
  403. define KernelPackage/wdt-orion/description
  404. Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
  405. endef
  406. $(eval $(call KernelPackage,wdt-orion))
  407. define KernelPackage/booke-wdt
  408. SUBMENU:=$(OTHER_MENU)
  409. TITLE:=PowerPC Book-E Watchdog Timer
  410. DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
  411. KCONFIG:=CONFIG_BOOKE_WDT
  412. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
  413. AUTOLOAD:=$(call AutoLoad,50,booke_wdt,1)
  414. endef
  415. define KernelPackage/booke-wdt/description
  416. Kernel module for PowerPC Book-E Watchdog Timer
  417. endef
  418. $(eval $(call KernelPackage,booke-wdt))
  419. define KernelPackage/rtc-ds1307
  420. SUBMENU:=$(OTHER_MENU)
  421. TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
  422. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  423. KCONFIG:=CONFIG_RTC_DRV_DS1307 \
  424. CONFIG_RTC_CLASS=y
  425. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
  426. AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
  427. endef
  428. define KernelPackage/rtc-ds1307/description
  429. Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
  430. Epson RX-8025 and various other compatible RTC chips connected via I2C.
  431. endef
  432. $(eval $(call KernelPackage,rtc-ds1307))
  433. define KernelPackage/rtc-ds1672
  434. SUBMENU:=$(OTHER_MENU)
  435. TITLE:=Dallas/Maxim DS1672 RTC support
  436. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  437. KCONFIG:=CONFIG_RTC_DRV_DS1672 \
  438. CONFIG_RTC_CLASS=y
  439. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
  440. AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
  441. endef
  442. define KernelPackage/rtc-ds1672/description
  443. Kernel module for Dallas/Maxim DS1672 RTC.
  444. endef
  445. $(eval $(call KernelPackage,rtc-ds1672))
  446. define KernelPackage/rtc-isl1208
  447. SUBMENU:=$(OTHER_MENU)
  448. TITLE:=Intersil ISL1208 RTC support
  449. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  450. KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
  451. CONFIG_RTC_CLASS=y
  452. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
  453. AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
  454. endef
  455. define KernelPackage/rtc-isl1208/description
  456. Kernel module for Intersil ISL1208 RTC.
  457. endef
  458. $(eval $(call KernelPackage,rtc-isl1208))
  459. define KernelPackage/rtc-marvell
  460. SUBMENU:=$(OTHER_MENU)
  461. TITLE:=Marvell SoC built-in RTC support
  462. DEPENDS:=@RTC_SUPPORT @TARGET_kirkwood||TARGET_orion||TARGET_mvebu
  463. KCONFIG:=CONFIG_RTC_DRV_MV \
  464. CONFIG_RTC_CLASS=y
  465. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
  466. AUTOLOAD:=$(call AutoProbe,rtc-mv)
  467. endef
  468. define KernelPackage/rtc-marvell/description
  469. Kernel module for Marvell SoC built-in RTC.
  470. endef
  471. $(eval $(call KernelPackage,rtc-marvell))
  472. define KernelPackage/rtc-armada38x
  473. SUBMENU:=$(OTHER_MENU)
  474. TITLE:=Marvell Armada 38x SoC built-in RTC support
  475. DEPENDS:=@RTC_SUPPORT @TARGET_mvebu
  476. KCONFIG:=CONFIG_RTC_DRV_ARMADA38X \
  477. CONFIG_RTC_CLASS=y
  478. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-armada38x.ko
  479. AUTOLOAD:=$(call AutoProbe,rtc-armada38x)
  480. endef
  481. define KernelPackage/rtc-armada38x/description
  482. Kernel module for Marvell Armada 38x SoC built-in RTC.
  483. endef
  484. $(eval $(call KernelPackage,rtc-armada38x))
  485. define KernelPackage/rtc-pcf8563
  486. SUBMENU:=$(OTHER_MENU)
  487. TITLE:=Philips PCF8563/Epson RTC8564 RTC support
  488. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  489. KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
  490. CONFIG_RTC_CLASS=y
  491. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
  492. AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
  493. endef
  494. define KernelPackage/rtc-pcf8563/description
  495. Kernel module for Philips PCF8563 RTC chip.
  496. The Epson RTC8564 should work as well.
  497. endef
  498. $(eval $(call KernelPackage,rtc-pcf8563))
  499. define KernelPackage/rtc-pcf2123
  500. SUBMENU:=$(OTHER_MENU)
  501. TITLE:=Philips PCF2123 RTC support
  502. DEPENDS:=@RTC_SUPPORT
  503. KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
  504. CONFIG_RTC_CLASS=y
  505. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
  506. AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
  507. endef
  508. define KernelPackage/rtc-pcf2123/description
  509. Kernel module for Philips PCF2123 RTC chip
  510. endef
  511. $(eval $(call KernelPackage,rtc-pcf2123))
  512. define KernelPackage/rtc-pt7c4338
  513. SUBMENU:=$(OTHER_MENU)
  514. TITLE:=Pericom PT7C4338 RTC support
  515. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  516. KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
  517. CONFIG_RTC_CLASS=y
  518. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
  519. AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
  520. endef
  521. define KernelPackage/rtc-pt7c4338/description
  522. Kernel module for Pericom PT7C4338 i2c RTC chip
  523. endef
  524. $(eval $(call KernelPackage,rtc-pt7c4338))
  525. define KernelPackage/mtdtests
  526. SUBMENU:=$(OTHER_MENU)
  527. TITLE:=MTD subsystem tests
  528. KCONFIG:=CONFIG_MTD_TESTS
  529. FILES:=\
  530. $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
  531. $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
  532. $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
  533. $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
  534. $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
  535. $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
  536. $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
  537. $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
  538. endef
  539. define KernelPackage/mtdtests/description
  540. Kernel modules for MTD subsystem/driver testing
  541. endef
  542. $(eval $(call KernelPackage,mtdtests))
  543. define KernelPackage/serial-8250
  544. SUBMENU:=$(OTHER_MENU)
  545. TITLE:=8250 UARTs
  546. KCONFIG:= CONFIG_SERIAL_8250 \
  547. CONFIG_SERIAL_8250_NR_UARTS=16 \
  548. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  549. CONFIG_SERIAL_8250_EXTENDED=y \
  550. CONFIG_SERIAL_8250_MANY_PORTS=y \
  551. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  552. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  553. CONFIG_SERIAL_8250_RSA=n
  554. FILES:= \
  555. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  556. $(LINUX_DIR)/drivers/tty/serial/8250/[email protected]
  557. endef
  558. define KernelPackage/serial-8250/description
  559. Kernel module for 8250 UART based serial ports
  560. endef
  561. $(eval $(call KernelPackage,serial-8250))
  562. define KernelPackage/regmap
  563. SUBMENU:=$(OTHER_MENU)
  564. TITLE:=Generic register map support
  565. DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
  566. KCONFIG:=CONFIG_REGMAP \
  567. CONFIG_REGMAP_MMIO \
  568. CONFIG_REGMAP_SPI \
  569. CONFIG_REGMAP_I2C \
  570. CONFIG_SPI=y
  571. FILES:= \
  572. $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
  573. $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
  574. $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
  575. $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
  576. AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
  577. endef
  578. define KernelPackage/regmap/description
  579. Generic register map support
  580. endef
  581. $(eval $(call KernelPackage,regmap))
  582. define KernelPackage/ikconfig
  583. SUBMENU:=$(OTHER_MENU)
  584. TITLE:=Kernel configuration via /proc/config.gz
  585. KCONFIG:=CONFIG_IKCONFIG \
  586. CONFIG_IKCONFIG_PROC=y
  587. FILES:=$(LINUX_DIR)/kernel/configs.ko
  588. AUTOLOAD:=$(call AutoLoad,70,configs)
  589. endef
  590. define KernelPackage/ikconfig/description
  591. Kernel configuration via /proc/config.gz
  592. endef
  593. $(eval $(call KernelPackage,ikconfig))
  594. define KernelPackage/zram
  595. SUBMENU:=$(OTHER_MENU)
  596. TITLE:=ZRAM
  597. DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
  598. KCONFIG:= \
  599. CONFIG_ZSMALLOC \
  600. CONFIG_ZRAM \
  601. CONFIG_ZRAM_DEBUG=n \
  602. CONFIG_PGTABLE_MAPPING=n \
  603. CONFIG_ZSMALLOC_STAT=n \
  604. CONFIG_ZRAM_LZ4_COMPRESS=y
  605. FILES:= \
  606. $(LINUX_DIR)/mm/zsmalloc.ko \
  607. $(LINUX_DIR)/drivers/block/zram/zram.ko
  608. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  609. endef
  610. define KernelPackage/zram/description
  611. Compressed RAM block device support
  612. endef
  613. $(eval $(call KernelPackage,zram))
  614. define KernelPackage/mvsdio
  615. SUBMENU:=$(OTHER_MENU)
  616. TITLE:=Marvell SDIO support
  617. DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
  618. KCONFIG:=CONFIG_MMC_MVSDIO
  619. FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
  620. AUTOLOAD:=$(call AutoProbe,mvsdio)
  621. endef
  622. define KernelPackage/mvsdio/description
  623. Kernel support for the Marvell SDIO controller
  624. endef
  625. $(eval $(call KernelPackage,mvsdio))
  626. define KernelPackage/pps
  627. SUBMENU:=$(OTHER_MENU)
  628. TITLE:=PPS support
  629. KCONFIG:=CONFIG_PPS
  630. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  631. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  632. endef
  633. define KernelPackage/pps/description
  634. PPS (Pulse Per Second) is a special pulse provided by some GPS
  635. antennae. Userland can use it to get a high-precision time
  636. reference.
  637. endef
  638. $(eval $(call KernelPackage,pps))
  639. define KernelPackage/pps-gpio
  640. SUBMENU:=$(OTHER_MENU)
  641. TITLE:=PPS client using GPIO
  642. DEPENDS:=+kmod-pps
  643. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  644. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  645. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  646. endef
  647. define KernelPackage/pps-gpio/description
  648. Support for a PPS source using GPIO. To be useful you must
  649. also register a platform device specifying the GPIO pin and
  650. other options, usually in your board setup.
  651. endef
  652. $(eval $(call KernelPackage,pps-gpio))
  653. define KernelPackage/ptp
  654. SUBMENU:=$(OTHER_MENU)
  655. TITLE:=PTP clock support
  656. DEPENDS:=+kmod-pps
  657. KCONFIG:= \
  658. CONFIG_PTP_1588_CLOCK \
  659. CONFIG_NET_PTP_CLASSIFY=y
  660. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  661. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  662. endef
  663. define KernelPackage/ptp/description
  664. The IEEE 1588 standard defines a method to precisely
  665. synchronize distributed clocks over Ethernet networks.
  666. endef
  667. $(eval $(call KernelPackage,ptp))
  668. define KernelPackage/ptp-gianfar
  669. SUBMENU:=$(OTHER_MENU)
  670. TITLE:=Freescale Gianfar PTP support
  671. DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
  672. KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
  673. FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
  674. AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
  675. endef
  676. define KernelPackage/ptp-gianfar/description
  677. Kernel module for IEEE 1588 support for Freescale
  678. Gianfar Ethernet drivers
  679. endef
  680. $(eval $(call KernelPackage,ptp-gianfar))
  681. define KernelPackage/random-core
  682. SUBMENU:=$(OTHER_MENU)
  683. TITLE:=Hardware Random Number Generator Core support
  684. KCONFIG:=CONFIG_HW_RANDOM
  685. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  686. endef
  687. define KernelPackage/random-core/description
  688. Kernel module for the HW random number generator core infrastructure
  689. endef
  690. $(eval $(call KernelPackage,random-core))
  691. define KernelPackage/thermal
  692. SUBMENU:=$(OTHER_MENU)
  693. TITLE:=Generic Thermal sysfs driver
  694. DEPENDS:=+kmod-hwmon-core
  695. HIDDEN:=1
  696. KCONFIG:= \
  697. CONFIG_THERMAL \
  698. CONFIG_THERMAL_OF=y \
  699. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  700. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  701. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  702. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  703. CONFIG_THERMAL_GOV_STEP_WISE=y \
  704. CONFIG_THERMAL_GOV_USER_SPACE=n \
  705. CONFIG_THERMAL_HWMON=y \
  706. CONFIG_THERMAL_EMULATION=n
  707. FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
  708. AUTOLOAD:=$(call AutoProbe,thermal_sys)
  709. endef
  710. define KernelPackage/thermal/description
  711. Generic Thermal Sysfs driver offers a generic mechanism for thermal
  712. management. Usually it's made up of one or more thermal zone and cooling
  713. device.
  714. endef
  715. $(eval $(call KernelPackage,thermal))
  716. define KernelPackage/thermal-armada
  717. SUBMENU:=$(OTHER_MENU)
  718. TITLE:=Armada 370/XP thermal management
  719. DEPENDS:=@TARGET_mvebu +kmod-thermal
  720. KCONFIG:=CONFIG_ARMADA_THERMAL
  721. FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
  722. AUTOLOAD:=$(call AutoProbe,armada_thermal)
  723. endef
  724. define KernelPackage/thermal-armada/description
  725. Enable this module if you want to have support for thermal management
  726. controller present in Armada 370 and Armada XP SoC.
  727. endef
  728. $(eval $(call KernelPackage,thermal-armada))
  729. define KernelPackage/thermal-imx
  730. SUBMENU:=$(OTHER_MENU)
  731. TITLE:=Temperature sensor driver for Freescale i.MX SoCs
  732. DEPENDS:=@TARGET_imx6 +kmod-thermal
  733. KCONFIG:= \
  734. CONFIG_CPU_THERMAL=y \
  735. CONFIG_IMX_THERMAL
  736. FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
  737. AUTOLOAD:=$(call AutoProbe,imx_thermal)
  738. endef
  739. define KernelPackage/thermal-imx/description
  740. Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
  741. It supports one critical trip point and one passive trip point. The
  742. cpufreq is used as the cooling device to throttle CPUs when the
  743. passive trip is crossed.
  744. endef
  745. $(eval $(call KernelPackage,thermal-imx))
  746. define KernelPackage/thermal-kirkwood
  747. SUBMENU:=$(OTHER_MENU)
  748. TITLE:=Temperature sensor on Marvell Kirkwood SoCs
  749. DEPENDS:=@TARGET_kirkwood +kmod-thermal
  750. KCONFIG:=CONFIG_KIRKWOOD_THERMAL
  751. FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
  752. AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
  753. endef
  754. define KernelPackage/thermal-kirkwood/description
  755. Support for the Kirkwood thermal sensor driver into the Linux thermal
  756. framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
  757. endef
  758. $(eval $(call KernelPackage,thermal-kirkwood))
  759. define KernelPackage/gpio-beeper
  760. SUBMENU:=$(OTHER_MENU)
  761. TITLE:=GPIO beeper support
  762. DEPENDS:=+kmod-input-core
  763. KCONFIG:= \
  764. CONFIG_INPUT_MISC=y \
  765. CONFIG_INPUT_GPIO_BEEPER
  766. FILES:= \
  767. $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
  768. AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
  769. endef
  770. define KernelPackage/gpio-beeper/description
  771. This enables playing beeps through an GPIO-connected buzzer
  772. endef
  773. $(eval $(call KernelPackage,gpio-beeper))
  774. define KernelPackage/echo
  775. SUBMENU:=$(OTHER_MENU)
  776. TITLE:=Line Echo Canceller
  777. KCONFIG:=CONFIG_ECHO
  778. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  779. AUTOLOAD:=$(call AutoLoad,50,echo)
  780. endef
  781. define KernelPackage/echo/description
  782. This driver provides line echo cancelling support for mISDN and
  783. DAHDI drivers
  784. endef
  785. $(eval $(call KernelPackage,echo))