other.mk 25 KB

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