other.mk 25 KB

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