other.mk 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947
  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_14
  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_14: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-hci-h4p
  63. SUBMENU:=$(OTHER_MENU)
  64. TITLE:=HCI driver with H4 Nokia extensions
  65. DEPENDS:=@TARGET_omap24xx +kmod-bluetooth
  66. KCONFIG:=CONFIG_BT_HCIH4P
  67. FILES:=$(LINUX_DIR)/drivers/bluetooth/hci_h4p/hci_h4p.ko
  68. AUTOLOAD:=$(call AutoProbe,hci_h4p)
  69. endef
  70. define KernelPackage/bluetooth-hci-h4p/description
  71. HCI driver with H4 Nokia extensions
  72. endef
  73. $(eval $(call KernelPackage,bluetooth-hci-h4p))
  74. define KernelPackage/eeprom-93cx6
  75. SUBMENU:=$(OTHER_MENU)
  76. TITLE:=EEPROM 93CX6 support
  77. KCONFIG:=CONFIG_EEPROM_93CX6
  78. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
  79. AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
  80. endef
  81. define KernelPackage/eeprom-93cx6/description
  82. Kernel module for EEPROM 93CX6 support
  83. endef
  84. $(eval $(call KernelPackage,eeprom-93cx6))
  85. define KernelPackage/eeprom-at24
  86. SUBMENU:=$(OTHER_MENU)
  87. TITLE:=EEPROM AT24 support
  88. KCONFIG:=CONFIG_EEPROM_AT24
  89. DEPENDS:=+kmod-i2c-core
  90. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
  91. AUTOLOAD:=$(call AutoProbe,at24)
  92. endef
  93. define KernelPackage/eeprom-at24/description
  94. Kernel module for most I2C EEPROMs
  95. endef
  96. $(eval $(call KernelPackage,eeprom-at24))
  97. define KernelPackage/eeprom-at25
  98. SUBMENU:=$(OTHER_MENU)
  99. TITLE:=EEPROM AT25 support
  100. KCONFIG:=CONFIG_EEPROM_AT25
  101. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
  102. AUTOLOAD:=$(call AutoProbe,at25)
  103. endef
  104. define KernelPackage/eeprom-at25/description
  105. Kernel module for most SPI EEPROMs
  106. endef
  107. $(eval $(call KernelPackage,eeprom-at25))
  108. define KernelPackage/gpio-dev
  109. SUBMENU:=$(OTHER_MENU)
  110. TITLE:=Generic GPIO char device support
  111. DEPENDS:=@GPIO_SUPPORT
  112. KCONFIG:=CONFIG_GPIO_DEVICE
  113. FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
  114. AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
  115. endef
  116. define KernelPackage/gpio-dev/description
  117. Kernel module to allows control of GPIO pins using a character device.
  118. endef
  119. $(eval $(call KernelPackage,gpio-dev))
  120. define KernelPackage/gpio-mcp23s08
  121. SUBMENU:=$(OTHER_MENU)
  122. TITLE:=Microchip MCP23xxx I/O expander
  123. DEPENDS:=@GPIO_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core
  124. KCONFIG:=CONFIG_GPIO_MCP23S08
  125. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
  126. AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
  127. endef
  128. define KernelPackage/gpio-mcp23s08/description
  129. Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
  130. endef
  131. $(eval $(call KernelPackage,gpio-mcp23s08))
  132. define KernelPackage/gpio-nxp-74hc164
  133. SUBMENU:=$(OTHER_MENU)
  134. TITLE:=NXP 74HC164 GPIO expander support
  135. KCONFIG:=CONFIG_GPIO_NXP_74HC164
  136. FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
  137. AUTOLOAD:=$(call AutoProbe,nxp_74hc164)
  138. endef
  139. define KernelPackage/gpio-nxp-74hc164/description
  140. Kernel module for NXP 74HC164 GPIO expander
  141. endef
  142. $(eval $(call KernelPackage,gpio-nxp-74hc164))
  143. define KernelPackage/gpio-pca953x
  144. SUBMENU:=$(OTHER_MENU)
  145. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
  146. TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
  147. KCONFIG:=CONFIG_GPIO_PCA953X
  148. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
  149. AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
  150. endef
  151. define KernelPackage/gpio-pca953x/description
  152. Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
  153. PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
  154. endef
  155. $(eval $(call KernelPackage,gpio-pca953x))
  156. define KernelPackage/gpio-pcf857x
  157. SUBMENU:=$(OTHER_MENU)
  158. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
  159. TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
  160. KCONFIG:=CONFIG_GPIO_PCF857X
  161. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
  162. AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
  163. endef
  164. define KernelPackage/gpio-pcf857x/description
  165. Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
  166. endef
  167. $(eval $(call KernelPackage,gpio-pcf857x))
  168. define KernelPackage/iio-core
  169. SUBMENU:=$(OTHER_MENU)
  170. DEPENDS:=@!LINUX_3_3 @!LINUX_3_6
  171. TITLE:=Industrial IO core
  172. KCONFIG:= \
  173. CONFIG_IIO \
  174. CONFIG_IIO_BUFFER=y \
  175. CONFIG_IIO_KFIFO_BUF \
  176. CONFIG_IIO_TRIGGER=y \
  177. CONFIG_IIO_TRIGGERED_BUFFER
  178. FILES:= \
  179. $(LINUX_DIR)/drivers/iio/industrialio.ko \
  180. $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/industrialio-triggered-buffer.ko) \
  181. $(LINUX_DIR)/drivers/iio/kfifo_buf.ko
  182. AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
  183. endef
  184. define KernelPackage/iio-core/description
  185. The industrial I/O subsystem provides a unified framework for
  186. drivers for many different types of embedded sensors using a
  187. number of different physical interfaces (i2c, spi, etc)
  188. endef
  189. $(eval $(call KernelPackage,iio-core))
  190. define KernelPackage/iio-ad799x
  191. SUBMENU:=$(OTHER_MENU)
  192. DEPENDS:=kmod-i2c-core kmod-iio-core
  193. TITLE:=Analog Devices AD799x ADC driver
  194. KCONFIG:= \
  195. CONFIG_AD799X_RING_BUFFER=y \
  196. CONFIG_AD799X
  197. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.16.0)),1)
  198. FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
  199. else
  200. FILES:=$(LINUX_DIR)/drivers/staging/iio/adc/ad799x.ko
  201. endif
  202. AUTOLOAD:=$(call AutoLoad,56,ad799x)
  203. endef
  204. define KernelPackage/iio-ad799x/description
  205. support for Analog Devices:
  206. ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
  207. i2c analog to digital converters (ADC).
  208. endef
  209. $(eval $(call KernelPackage,iio-ad799x))
  210. define KernelPackage/lp
  211. SUBMENU:=$(OTHER_MENU)
  212. TITLE:=Parallel port and line printer support
  213. DEPENDS:=@BROKEN
  214. KCONFIG:= \
  215. CONFIG_PARPORT \
  216. CONFIG_PRINTER \
  217. CONFIG_PPDEV
  218. FILES:= \
  219. $(LINUX_DIR)/drivers/parport/parport.ko \
  220. $(LINUX_DIR)/drivers/char/lp.ko \
  221. $(LINUX_DIR)/drivers/char/ppdev.ko
  222. AUTOLOAD:=$(call AutoLoad,50,parport lp)
  223. endef
  224. $(eval $(call KernelPackage,lp))
  225. define KernelPackage/mmc
  226. SUBMENU:=$(OTHER_MENU)
  227. TITLE:=MMC/SD Card Support
  228. KCONFIG:= \
  229. CONFIG_MMC \
  230. CONFIG_MMC_BLOCK \
  231. CONFIG_MMC_DEBUG=n \
  232. CONFIG_MMC_UNSAFE_RESUME=n \
  233. CONFIG_MMC_BLOCK_BOUNCE=y \
  234. CONFIG_MMC_TIFM_SD=n \
  235. CONFIG_MMC_WBSD=n \
  236. CONFIG_SDIO_UART=n
  237. FILES:= \
  238. $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
  239. $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
  240. AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
  241. endef
  242. define KernelPackage/mmc/description
  243. Kernel support for MMC/SD cards
  244. endef
  245. $(eval $(call KernelPackage,mmc))
  246. define KernelPackage/sdhci
  247. SUBMENU:=$(OTHER_MENU)
  248. TITLE:=Secure Digital Host Controller Interface support
  249. DEPENDS:=+kmod-mmc
  250. KCONFIG:= \
  251. CONFIG_MMC_SDHCI \
  252. CONFIG_MMC_SDHCI_PLTFM \
  253. CONFIG_MMC_SDHCI_PCI=n
  254. FILES:= \
  255. $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
  256. $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
  257. AUTOLOAD:=$(call AutoProbe,sdhci sdhci-pltfm,1)
  258. endef
  259. define KernelPackage/sdhci/description
  260. Kernel support for SDHCI Hosts
  261. endef
  262. $(eval $(call KernelPackage,sdhci))
  263. define KernelPackage/oprofile
  264. SUBMENU:=$(OTHER_MENU)
  265. TITLE:=OProfile profiling support
  266. KCONFIG:=CONFIG_OPROFILE
  267. FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.ko
  268. DEPENDS:=@KERNEL_PROFILING
  269. endef
  270. define KernelPackage/oprofile/description
  271. Kernel module for support for oprofile system profiling
  272. endef
  273. $(eval $(call KernelPackage,oprofile))
  274. define KernelPackage/rfkill
  275. SUBMENU:=$(OTHER_MENU)
  276. TITLE:=RF switch subsystem support
  277. DEPENDS:=@USE_RFKILL +kmod-input-core
  278. KCONFIG:= \
  279. CONFIG_RFKILL \
  280. CONFIG_RFKILL_INPUT=y \
  281. CONFIG_RFKILL_LEDS=y \
  282. CONFIG_RFKILL_GPIO=y
  283. FILES:= \
  284. $(LINUX_DIR)/net/rfkill/rfkill.ko
  285. AUTOLOAD:=$(call AutoLoad,20,rfkill)
  286. endef
  287. define KernelPackage/rfkill/description
  288. Say Y here if you want to have control over RF switches
  289. found on many WiFi and Bluetooth cards
  290. endef
  291. $(eval $(call KernelPackage,rfkill))
  292. define KernelPackage/softdog
  293. SUBMENU:=$(OTHER_MENU)
  294. TITLE:=Software watchdog driver
  295. KCONFIG:=CONFIG_SOFT_WATCHDOG
  296. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
  297. AUTOLOAD:=$(call AutoLoad,50,softdog)
  298. endef
  299. define KernelPackage/softdog/description
  300. Software watchdog driver
  301. endef
  302. $(eval $(call KernelPackage,softdog))
  303. define KernelPackage/ssb
  304. SUBMENU:=$(OTHER_MENU)
  305. TITLE:=Silicon Sonics Backplane glue code
  306. DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
  307. KCONFIG:=\
  308. CONFIG_SSB \
  309. CONFIG_SSB_B43_PCI_BRIDGE=y \
  310. CONFIG_SSB_DRIVER_MIPS=n \
  311. CONFIG_SSB_DRIVER_PCICORE=y \
  312. CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
  313. CONFIG_SSB_PCIHOST=y \
  314. CONFIG_SSB_PCIHOST_POSSIBLE=y \
  315. CONFIG_SSB_POSSIBLE=y \
  316. CONFIG_SSB_SPROM=y \
  317. CONFIG_SSB_SILENT=y
  318. FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
  319. AUTOLOAD:=$(call AutoLoad,18,ssb,1)
  320. endef
  321. define KernelPackage/ssb/description
  322. Silicon Sonics Backplane glue code.
  323. endef
  324. $(eval $(call KernelPackage,ssb))
  325. define KernelPackage/bcma
  326. SUBMENU:=$(OTHER_MENU)
  327. TITLE:=BCMA support
  328. DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx
  329. KCONFIG:=\
  330. CONFIG_BCMA \
  331. CONFIG_BCMA_POSSIBLE=y \
  332. CONFIG_BCMA_BLOCKIO=y \
  333. CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
  334. CONFIG_BCMA_HOST_PCI=y \
  335. CONFIG_BCMA_HOST_SOC=n \
  336. CONFIG_BCMA_DRIVER_MIPS=n \
  337. CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
  338. CONFIG_BCMA_DRIVER_GMAC_CMN=n \
  339. CONFIG_BCMA_DEBUG=n
  340. FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
  341. AUTOLOAD:=$(call AutoLoad,29,bcma)
  342. endef
  343. define KernelPackage/bcma/description
  344. Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
  345. endef
  346. $(eval $(call KernelPackage,bcma))
  347. define KernelPackage/wdt-omap
  348. SUBMENU:=$(OTHER_MENU)
  349. TITLE:=OMAP Watchdog timer
  350. DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
  351. KCONFIG:=CONFIG_OMAP_WATCHDOG
  352. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
  353. AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
  354. endef
  355. define KernelPackage/wdt-omap/description
  356. Kernel module for TI omap watchdog timer
  357. endef
  358. $(eval $(call KernelPackage,wdt-omap))
  359. define KernelPackage/wdt-orion
  360. SUBMENU:=$(OTHER_MENU)
  361. TITLE:=Marvell Orion Watchdog timer
  362. DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
  363. KCONFIG:=CONFIG_ORION_WATCHDOG
  364. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
  365. AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
  366. endef
  367. define KernelPackage/wdt-orion/description
  368. Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
  369. endef
  370. $(eval $(call KernelPackage,wdt-orion))
  371. define KernelPackage/booke-wdt
  372. SUBMENU:=$(OTHER_MENU)
  373. TITLE:=PowerPC Book-E Watchdog Timer
  374. DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
  375. KCONFIG:=CONFIG_BOOKE_WDT
  376. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
  377. AUTOLOAD:=$(call AutoLoad,50,booke_wdt)
  378. endef
  379. define KernelPackage/booke-wdt/description
  380. Kernel module for PowerPC Book-E Watchdog Timer
  381. endef
  382. $(eval $(call KernelPackage,booke-wdt))
  383. define KernelPackage/pwm
  384. SUBMENU:=$(OTHER_MENU)
  385. TITLE:=PWM generic API
  386. KCONFIG:=CONFIG_GENERIC_PWM
  387. FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
  388. endef
  389. define KernelPackage/pwm/description
  390. Kernel module that implement a generic PWM API
  391. endef
  392. $(eval $(call KernelPackage,pwm))
  393. define KernelPackage/pwm-gpio
  394. SUBMENU:=$(OTHER_MENU)
  395. TITLE:=PWM over GPIO
  396. DEPENDS:=+kmod-pwm
  397. KCONFIG:=CONFIG_GPIO_PWM
  398. FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
  399. AUTOLOAD:=$(call AutoProbe,gpio-pwm)
  400. endef
  401. define KernelPackage/pwm-gpio/description
  402. Kernel module to models a single-channel PWM device using a timer and a GPIO pin
  403. endef
  404. $(eval $(call KernelPackage,pwm-gpio))
  405. define KernelPackage/rtc-ds1307
  406. SUBMENU:=$(OTHER_MENU)
  407. TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
  408. $(call AddDepends/rtc)
  409. DEPENDS+=+kmod-i2c-core
  410. KCONFIG:=CONFIG_RTC_DRV_DS1307
  411. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
  412. AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
  413. endef
  414. define KernelPackage/rtc-ds1307/description
  415. Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
  416. Epson RX-8025 and various other compatible RTC chips connected via I2C.
  417. endef
  418. $(eval $(call KernelPackage,rtc-ds1307))
  419. define KernelPackage/rtc-ds1672
  420. SUBMENU:=$(OTHER_MENU)
  421. TITLE:=Dallas/Maxim DS1672 RTC support
  422. $(call AddDepends/rtc)
  423. DEPENDS+=+kmod-i2c-core
  424. KCONFIG:=CONFIG_RTC_DRV_DS1672
  425. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
  426. AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
  427. endef
  428. define KernelPackage/rtc-ds1672/description
  429. Kernel module for Dallas/Maxim DS1672 RTC.
  430. endef
  431. $(eval $(call KernelPackage,rtc-ds1672))
  432. define KernelPackage/rtc-isl1208
  433. SUBMENU:=$(OTHER_MENU)
  434. TITLE:=Intersil ISL1208 RTC support
  435. $(call AddDepends/rtc)
  436. DEPENDS+=+kmod-i2c-core
  437. KCONFIG:=CONFIG_RTC_DRV_ISL1208
  438. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
  439. AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
  440. endef
  441. define KernelPackage/rtc-isl1208/description
  442. Kernel module for Intersil ISL1208 RTC.
  443. endef
  444. $(eval $(call KernelPackage,rtc-isl1208))
  445. define KernelPackage/rtc-marvell
  446. SUBMENU:=$(OTHER_MENU)
  447. TITLE:=Marvell SoC built-in RTC support
  448. $(call AddDepends/rtc)
  449. DEPENDS+=@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. $(call AddDepends/rtc,+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. $(call AddDepends/rtc)
  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. $(call AddDepends/rtc,+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$(if $(call kernel_patchver_ge,3.7),$(if $(call kernel_patchver_le,3.8),_core)).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:=@!LINUX_3_3 +kmod-lib-lzo
  592. KCONFIG:= \
  593. CONFIG_ZSMALLOC \
  594. CONFIG_ZRAM \
  595. CONFIG_ZRAM_DEBUG=n \
  596. CONFIG_PGTABLE_MAPPING=n
  597. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.14.0)),1)
  598. FILES:=\
  599. $(LINUX_DIR)/mm/zsmalloc.ko \
  600. $(LINUX_DIR)/drivers/block/zram/zram.ko
  601. else
  602. FILES:= \
  603. $(LINUX_DIR)/drivers/staging/zsmalloc/zsmalloc.ko \
  604. $(LINUX_DIR)/drivers/staging/zram/zram.ko
  605. endif
  606. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  607. endef
  608. define KernelPackage/zram/description
  609. Compressed RAM block device support
  610. endef
  611. $(eval $(call KernelPackage,zram))
  612. define KernelPackage/mvsdio
  613. SUBMENU:=$(OTHER_MENU)
  614. TITLE:=Marvell SDIO support
  615. DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
  616. KCONFIG:=CONFIG_MMC_MVSDIO
  617. FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
  618. AUTOLOAD:=$(call AutoProbe,mvsdio)
  619. endef
  620. define KernelPackage/mvsdio/description
  621. Kernel support for the Marvell SDIO controller
  622. endef
  623. $(eval $(call KernelPackage,mvsdio))
  624. define KernelPackage/pps
  625. SUBMENU:=$(OTHER_MENU)
  626. TITLE:=PPS support
  627. KCONFIG:=CONFIG_PPS
  628. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  629. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  630. endef
  631. define KernelPackage/pps/description
  632. PPS (Pulse Per Second) is a special pulse provided by some GPS
  633. antennae. Userland can use it to get a high-precision time
  634. reference.
  635. endef
  636. $(eval $(call KernelPackage,pps))
  637. define KernelPackage/pps-gpio
  638. SUBMENU:=$(OTHER_MENU)
  639. TITLE:=PPS client using GPIO
  640. DEPENDS:=+kmod-pps
  641. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  642. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  643. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  644. endef
  645. define KernelPackage/pps-gpio/description
  646. Support for a PPS source using GPIO. To be useful you must
  647. also register a platform device specifying the GPIO pin and
  648. other options, usually in your board setup.
  649. endef
  650. $(eval $(call KernelPackage,pps-gpio))
  651. define KernelPackage/ptp
  652. SUBMENU:=$(OTHER_MENU)
  653. TITLE:=PTP clock support
  654. DEPENDS:=+kmod-pps
  655. KCONFIG:=CONFIG_PTP_1588_CLOCK
  656. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  657. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  658. endef
  659. define KernelPackage/ptp/description
  660. The IEEE 1588 standard defines a method to precisely
  661. synchronize distributed clocks over Ethernet networks.
  662. endef
  663. $(eval $(call KernelPackage,ptp))
  664. define KernelPackage/ptp-gianfar
  665. SUBMENU:=$(OTHER_MENU)
  666. TITLE:=Freescale Gianfar PTP support
  667. DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
  668. KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
  669. FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
  670. AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
  671. endef
  672. define KernelPackage/ptp-gianfar/description
  673. Kernel module for IEEE 1588 support for Freescale
  674. Gianfar Ethernet drivers
  675. endef
  676. $(eval $(call KernelPackage,ptp-gianfar))
  677. define KernelPackage/random-core
  678. SUBMENU:=$(OTHER_MENU)
  679. TITLE:=Hardware Random Number Generator Core support
  680. KCONFIG:=CONFIG_HW_RANDOM
  681. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  682. endef
  683. define KernelPackage/random-core/description
  684. Kernel module for the HW random number generator core infrastructure
  685. endef
  686. $(eval $(call KernelPackage,random-core))
  687. define KernelPackage/thermal
  688. SUBMENU:=$(OTHER_MENU)
  689. TITLE:=Generic Thermal sysfs driver
  690. DEPENDS:=+kmod-hwmon-core
  691. HIDDEN:=1
  692. KCONFIG:= \
  693. CONFIG_THERMAL \
  694. CONFIG_THERMAL_OF=y \
  695. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  696. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  697. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  698. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  699. CONFIG_THERMAL_GOV_STEP_WISE=y \
  700. CONFIG_THERMAL_GOV_USER_SPACE=n \
  701. CONFIG_THERMAL_HWMON=y \
  702. CONFIG_THERMAL_EMULATION=n
  703. FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
  704. AUTOLOAD:=$(call AutoProbe,thermal_sys)
  705. endef
  706. define KernelPackage/thermal/description
  707. Generic Thermal Sysfs driver offers a generic mechanism for thermal
  708. management. Usually it's made up of one or more thermal zone and cooling
  709. device.
  710. endef
  711. $(eval $(call KernelPackage,thermal))
  712. define KernelPackage/thermal-armada
  713. SUBMENU:=$(OTHER_MENU)
  714. TITLE:=Armada 370/XP thermal management
  715. DEPENDS:=@TARGET_mvebu +kmod-thermal
  716. KCONFIG:=CONFIG_ARMADA_THERMAL
  717. FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
  718. AUTOLOAD:=$(call AutoProbe,armada_thermal)
  719. endef
  720. define KernelPackage/thermal-armada/description
  721. Enable this module if you want to have support for thermal management
  722. controller present in Armada 370 and Armada XP SoC.
  723. endef
  724. $(eval $(call KernelPackage,thermal-armada))
  725. define KernelPackage/thermal-imx
  726. SUBMENU:=$(OTHER_MENU)
  727. TITLE:=Temperature sensor driver for Freescale i.MX SoCs
  728. DEPENDS:=@TARGET_imx6 +kmod-thermal
  729. KCONFIG:= \
  730. CONFIG_CPU_THERMAL=y \
  731. CONFIG_IMX_THERMAL
  732. FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
  733. AUTOLOAD:=$(call AutoProbe,imx_thermal)
  734. endef
  735. define KernelPackage/thermal-imx/description
  736. Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
  737. It supports one critical trip point and one passive trip point. The
  738. cpufreq is used as the cooling device to throttle CPUs when the
  739. passive trip is crossed.
  740. endef
  741. $(eval $(call KernelPackage,thermal-imx))
  742. define KernelPackage/thermal-kirkwood
  743. SUBMENU:=$(OTHER_MENU)
  744. TITLE:=Temperature sensor on Marvell Kirkwood SoCs
  745. DEPENDS:=@TARGET_kirkwood +kmod-thermal
  746. KCONFIG:=CONFIG_KIRKWOOD_THERMAL
  747. FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
  748. AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
  749. endef
  750. define KernelPackage/thermal-kirkwood/description
  751. Support for the Kirkwood thermal sensor driver into the Linux thermal
  752. framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
  753. endef
  754. $(eval $(call KernelPackage,thermal-kirkwood))