other.mk 25 KB

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