other.mk 25 KB

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