other.mk 25 KB

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