other.mk 25 KB

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