other.mk 26 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033
  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
  10. SUBMENU:=$(OTHER_MENU)
  11. TITLE:=6LoWPAN shared code
  12. KCONFIG:= \
  13. CONFIG_6LOWPAN \
  14. CONFIG_6LOWPAN_NHC=n
  15. FILES:=$(LINUX_DIR)/net/6lowpan/6lowpan.ko
  16. AUTOLOAD:=$(call AutoProbe,6lowpan)
  17. endef
  18. define KernelPackage/6lowpan/description
  19. Shared 6lowpan code for IEEE 802.15.4 and Bluetooth.
  20. endef
  21. $(eval $(call KernelPackage,6lowpan))
  22. define KernelPackage/bluetooth
  23. SUBMENU:=$(OTHER_MENU)
  24. TITLE:=Bluetooth support
  25. DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +kmod-crypto-ecb +kmod-lib-crc16 +kmod-hid +!LINUX_3_18:kmod-crypto-cmac +!LINUX_3_18:kmod-regmap
  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_BREDR=y \
  37. CONFIG_BT_DEBUGFS=n \
  38. CONFIG_BT_L2CAP=y \
  39. CONFIG_BT_LE=y \
  40. CONFIG_BT_SCO=y \
  41. CONFIG_BT_RFCOMM \
  42. CONFIG_BT_BNEP \
  43. CONFIG_BT_HCIBTUSB \
  44. CONFIG_BT_HCIBTUSB_BCM=n \
  45. CONFIG_BT_HCIUSB \
  46. CONFIG_BT_HCIUART \
  47. CONFIG_BT_HCIUART_BCM=n \
  48. CONFIG_BT_HCIUART_INTEL=n \
  49. CONFIG_BT_HCIUART_H4 \
  50. CONFIG_BT_HIDP \
  51. CONFIG_HID_SUPPORT=y
  52. $(call AddDepends/rfkill)
  53. FILES:= \
  54. $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
  55. $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
  56. $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
  57. $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
  58. $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
  59. $(LINUX_DIR)/drivers/bluetooth/btusb.ko
  60. ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,4.1.0)),1)
  61. FILES+= \
  62. $(LINUX_DIR)/drivers/bluetooth/btintel.ko
  63. endif
  64. AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
  65. endef
  66. define KernelPackage/bluetooth/description
  67. Kernel support for Bluetooth devices
  68. endef
  69. $(eval $(call KernelPackage,bluetooth))
  70. define KernelPackage/ath3k
  71. SUBMENU:=$(OTHER_MENU)
  72. TITLE:=ATH3K Kernel Module support
  73. DEPENDS:=+kmod-bluetooth +ar3k-firmware
  74. KCONFIG:= \
  75. CONFIG_BT_ATH3K \
  76. CONFIG_BT_HCIUART_ATH3K=y
  77. $(call AddDepends/bluetooth)
  78. FILES:= \
  79. $(LINUX_DIR)/drivers/bluetooth/ath3k.ko
  80. AUTOLOAD:=$(call AutoProbe,ath3k)
  81. endef
  82. define KernelPackage/ath3k/description
  83. Kernel support for ATH3K Module
  84. endef
  85. $(eval $(call KernelPackage,ath3k))
  86. define KernelPackage/bluetooth_6lowpan
  87. SUBMENU:=$(OTHER_MENU)
  88. TITLE:=Bluetooth 6LoWPAN support
  89. DEPENDS:=+kmod-6lowpan +kmod-bluetooth
  90. KCONFIG:=CONFIG_BT_6LOWPAN
  91. FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko
  92. AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan)
  93. endef
  94. define KernelPackage/bluetooth_6lowpan/description
  95. Kernel support for 6LoWPAN over Bluetooth Low Energy devices
  96. endef
  97. $(eval $(call KernelPackage,bluetooth_6lowpan))
  98. define KernelPackage/btmrvl
  99. SUBMENU:=$(OTHER_MENU)
  100. TITLE:=Marvell Bluetooth Kernel Module support
  101. DEPENDS:=+kmod-mmc +kmod-bluetooth +mwifiex-sdio-firmware
  102. KCONFIG:= \
  103. CONFIG_BT_MRVL \
  104. CONFIG_BT_MRVL_SDIO
  105. $(call AddDepends/bluetooth)
  106. FILES:= \
  107. $(LINUX_DIR)/drivers/bluetooth/btmrvl.ko \
  108. $(LINUX_DIR)/drivers/bluetooth/btmrvl_sdio.ko
  109. AUTOLOAD:=$(call AutoProbe,btmrvl btmrvl_sdio)
  110. endef
  111. define KernelPackage/btmrvl/description
  112. Kernel support for Marvell SDIO Bluetooth Module
  113. endef
  114. $(eval $(call KernelPackage,btmrvl))
  115. define KernelPackage/dma-buf
  116. SUBMENU:=$(OTHER_MENU)
  117. TITLE:=DMA shared buffer support
  118. HIDDEN:=1
  119. KCONFIG:=CONFIG_DMA_SHARED_BUFFER
  120. FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
  121. AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
  122. endef
  123. $(eval $(call KernelPackage,dma-buf))
  124. define KernelPackage/nvmem
  125. SUBMENU:=$(OTHER_MENU)
  126. TITLE:=Non Volatile Memory support
  127. KCONFIG:=CONFIG_NVMEM
  128. HIDDEN:=1
  129. FILES:=$(LINUX_DIR)/drivers/nvmem/[email protected]
  130. endef
  131. define KernelPackage/nvmem/description
  132. Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES, etc.
  133. endef
  134. $(eval $(call KernelPackage,nvmem))
  135. define KernelPackage/eeprom-93cx6
  136. SUBMENU:=$(OTHER_MENU)
  137. TITLE:=EEPROM 93CX6 support
  138. KCONFIG:=CONFIG_EEPROM_93CX6
  139. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
  140. AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
  141. endef
  142. define KernelPackage/eeprom-93cx6/description
  143. Kernel module for EEPROM 93CX6 support
  144. endef
  145. $(eval $(call KernelPackage,eeprom-93cx6))
  146. define KernelPackage/eeprom-at24
  147. SUBMENU:=$(OTHER_MENU)
  148. TITLE:=EEPROM AT24 support
  149. KCONFIG:=CONFIG_EEPROM_AT24
  150. DEPENDS:=+kmod-i2c-core +kmod-nvmem
  151. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
  152. AUTOLOAD:=$(call AutoProbe,at24)
  153. endef
  154. define KernelPackage/eeprom-at24/description
  155. Kernel module for most I2C EEPROMs
  156. endef
  157. $(eval $(call KernelPackage,eeprom-at24))
  158. define KernelPackage/eeprom-at25
  159. SUBMENU:=$(OTHER_MENU)
  160. TITLE:=EEPROM AT25 support
  161. KCONFIG:=CONFIG_EEPROM_AT25
  162. DEPENDS:=+kmod-nvmem
  163. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
  164. AUTOLOAD:=$(call AutoProbe,at25)
  165. endef
  166. define KernelPackage/eeprom-at25/description
  167. Kernel module for most SPI EEPROMs
  168. endef
  169. $(eval $(call KernelPackage,eeprom-at25))
  170. define KernelPackage/gpio-dev
  171. SUBMENU:=$(OTHER_MENU)
  172. TITLE:=Generic GPIO char device support
  173. DEPENDS:=@GPIO_SUPPORT
  174. KCONFIG:=CONFIG_GPIO_DEVICE
  175. FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
  176. AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
  177. endef
  178. define KernelPackage/gpio-dev/description
  179. Kernel module to allows control of GPIO pins using a character device.
  180. endef
  181. $(eval $(call KernelPackage,gpio-dev))
  182. define KernelPackage/gpio-mcp23s08
  183. SUBMENU:=$(OTHER_MENU)
  184. TITLE:=Microchip MCP23xxx I/O expander
  185. DEPENDS:=@GPIO_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core
  186. KCONFIG:=CONFIG_GPIO_MCP23S08
  187. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
  188. AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
  189. endef
  190. define KernelPackage/gpio-mcp23s08/description
  191. Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
  192. endef
  193. $(eval $(call KernelPackage,gpio-mcp23s08))
  194. define KernelPackage/gpio-nxp-74hc164
  195. SUBMENU:=$(OTHER_MENU)
  196. TITLE:=NXP 74HC164 GPIO expander support
  197. KCONFIG:=CONFIG_GPIO_NXP_74HC164
  198. FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
  199. AUTOLOAD:=$(call AutoProbe,nxp_74hc164)
  200. endef
  201. define KernelPackage/gpio-nxp-74hc164/description
  202. Kernel module for NXP 74HC164 GPIO expander
  203. endef
  204. $(eval $(call KernelPackage,gpio-nxp-74hc164))
  205. define KernelPackage/gpio-pca953x
  206. SUBMENU:=$(OTHER_MENU)
  207. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
  208. TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
  209. KCONFIG:=CONFIG_GPIO_PCA953X
  210. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
  211. AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
  212. endef
  213. define KernelPackage/gpio-pca953x/description
  214. Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
  215. PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
  216. endef
  217. $(eval $(call KernelPackage,gpio-pca953x))
  218. define KernelPackage/gpio-pcf857x
  219. SUBMENU:=$(OTHER_MENU)
  220. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
  221. TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
  222. KCONFIG:=CONFIG_GPIO_PCF857X
  223. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
  224. AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
  225. endef
  226. define KernelPackage/gpio-pcf857x/description
  227. Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
  228. endef
  229. $(eval $(call KernelPackage,gpio-pcf857x))
  230. define KernelPackage/lp
  231. SUBMENU:=$(OTHER_MENU)
  232. TITLE:=Parallel port and line printer support
  233. KCONFIG:= \
  234. CONFIG_PARPORT \
  235. CONFIG_PRINTER \
  236. CONFIG_PPDEV
  237. FILES:= \
  238. $(LINUX_DIR)/drivers/parport/parport.ko \
  239. $(LINUX_DIR)/drivers/char/lp.ko \
  240. $(LINUX_DIR)/drivers/char/ppdev.ko
  241. AUTOLOAD:=$(call AutoLoad,50,parport lp ppdev)
  242. endef
  243. $(eval $(call KernelPackage,lp))
  244. define KernelPackage/mmc
  245. SUBMENU:=$(OTHER_MENU)
  246. TITLE:=MMC/SD Card Support
  247. DEPENDS:=@!TARGET_uml
  248. KCONFIG:= \
  249. CONFIG_MMC \
  250. CONFIG_MMC_BLOCK \
  251. CONFIG_MMC_DEBUG=n \
  252. CONFIG_MMC_UNSAFE_RESUME=n \
  253. CONFIG_MMC_BLOCK_BOUNCE=y \
  254. CONFIG_MMC_TIFM_SD=n \
  255. CONFIG_MMC_WBSD=n \
  256. CONFIG_SDIO_UART=n
  257. FILES:= \
  258. $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
  259. $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
  260. AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
  261. endef
  262. define KernelPackage/mmc/description
  263. Kernel support for MMC/SD cards
  264. endef
  265. $(eval $(call KernelPackage,mmc))
  266. define KernelPackage/sdhci
  267. SUBMENU:=$(OTHER_MENU)
  268. TITLE:=Secure Digital Host Controller Interface support
  269. DEPENDS:=+kmod-mmc
  270. KCONFIG:= \
  271. CONFIG_MMC_SDHCI \
  272. CONFIG_MMC_SDHCI_PLTFM \
  273. CONFIG_MMC_SDHCI_PCI=n
  274. FILES:= \
  275. $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
  276. $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
  277. AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
  278. endef
  279. define KernelPackage/sdhci/description
  280. Kernel support for SDHCI Hosts
  281. endef
  282. $(eval $(call KernelPackage,sdhci))
  283. define KernelPackage/rfkill
  284. SUBMENU:=$(OTHER_MENU)
  285. TITLE:=RF switch subsystem support
  286. DEPENDS:=@USE_RFKILL +kmod-input-core
  287. KCONFIG:= \
  288. CONFIG_RFKILL_FULL \
  289. CONFIG_RFKILL_INPUT=y \
  290. CONFIG_RFKILL_LEDS=y
  291. FILES:= \
  292. $(LINUX_DIR)/net/rfkill/rfkill.ko
  293. AUTOLOAD:=$(call AutoLoad,20,rfkill)
  294. endef
  295. define KernelPackage/rfkill/description
  296. Say Y here if you want to have control over RF switches
  297. found on many WiFi and Bluetooth cards
  298. endef
  299. $(eval $(call KernelPackage,rfkill))
  300. define KernelPackage/softdog
  301. SUBMENU:=$(OTHER_MENU)
  302. TITLE:=Software watchdog driver
  303. KCONFIG:=CONFIG_SOFT_WATCHDOG
  304. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
  305. AUTOLOAD:=$(call AutoLoad,50,softdog,1)
  306. endef
  307. define KernelPackage/softdog/description
  308. Software watchdog driver
  309. endef
  310. $(eval $(call KernelPackage,softdog))
  311. define KernelPackage/ssb
  312. SUBMENU:=$(OTHER_MENU)
  313. TITLE:=Silicon Sonics Backplane glue code
  314. DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
  315. KCONFIG:=\
  316. CONFIG_SSB \
  317. CONFIG_SSB_B43_PCI_BRIDGE=y \
  318. CONFIG_SSB_DRIVER_MIPS=n \
  319. CONFIG_SSB_DRIVER_PCICORE=y \
  320. CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
  321. CONFIG_SSB_PCIHOST=y \
  322. CONFIG_SSB_PCIHOST_POSSIBLE=y \
  323. CONFIG_SSB_POSSIBLE=y \
  324. CONFIG_SSB_SPROM=y \
  325. CONFIG_SSB_SILENT=y
  326. FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
  327. AUTOLOAD:=$(call AutoLoad,18,ssb,1)
  328. endef
  329. define KernelPackage/ssb/description
  330. Silicon Sonics Backplane glue code.
  331. endef
  332. $(eval $(call KernelPackage,ssb))
  333. define KernelPackage/bcma
  334. SUBMENU:=$(OTHER_MENU)
  335. TITLE:=BCMA support
  336. DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
  337. KCONFIG:=\
  338. CONFIG_BCMA \
  339. CONFIG_BCMA_POSSIBLE=y \
  340. CONFIG_BCMA_BLOCKIO=y \
  341. CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
  342. CONFIG_BCMA_HOST_PCI=y \
  343. CONFIG_BCMA_HOST_SOC=n \
  344. CONFIG_BCMA_DRIVER_MIPS=n \
  345. CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
  346. CONFIG_BCMA_DRIVER_GMAC_CMN=n \
  347. CONFIG_BCMA_DEBUG=n
  348. FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
  349. AUTOLOAD:=$(call AutoLoad,29,bcma)
  350. endef
  351. define KernelPackage/bcma/description
  352. Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
  353. endef
  354. $(eval $(call KernelPackage,bcma))
  355. define KernelPackage/rtc-ds1307
  356. SUBMENU:=$(OTHER_MENU)
  357. TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
  358. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  359. DEPENDS:=+kmod-i2c-core
  360. KCONFIG:=CONFIG_RTC_DRV_DS1307 \
  361. CONFIG_RTC_CLASS=y
  362. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
  363. AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
  364. endef
  365. define KernelPackage/rtc-ds1307/description
  366. Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
  367. Epson RX-8025 and various other compatible RTC chips connected via I2C.
  368. endef
  369. $(eval $(call KernelPackage,rtc-ds1307))
  370. define KernelPackage/rtc-ds1374
  371. SUBMENU:=$(OTHER_MENU)
  372. TITLE:=Dallas/Maxim DS1374 RTC support
  373. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  374. DEPENDS:=+kmod-i2c-core
  375. KCONFIG:=CONFIG_RTC_DRV_DS1374 \
  376. CONFIG_RTC_DRV_DS1374_WDT=n \
  377. CONFIG_RTC_CLASS=y
  378. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
  379. AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
  380. endef
  381. define KernelPackage/rtc-ds1374/description
  382. Kernel module for Dallas/Maxim DS1374.
  383. endef
  384. $(eval $(call KernelPackage,rtc-ds1374))
  385. define KernelPackage/rtc-ds1672
  386. SUBMENU:=$(OTHER_MENU)
  387. TITLE:=Dallas/Maxim DS1672 RTC support
  388. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  389. DEPENDS:=+kmod-i2c-core
  390. KCONFIG:=CONFIG_RTC_DRV_DS1672 \
  391. CONFIG_RTC_CLASS=y
  392. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
  393. AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
  394. endef
  395. define KernelPackage/rtc-ds1672/description
  396. Kernel module for Dallas/Maxim DS1672 RTC.
  397. endef
  398. $(eval $(call KernelPackage,rtc-ds1672))
  399. define KernelPackage/rtc-isl1208
  400. SUBMENU:=$(OTHER_MENU)
  401. TITLE:=Intersil ISL1208 RTC support
  402. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  403. DEPENDS:=+kmod-i2c-core
  404. KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
  405. CONFIG_RTC_CLASS=y
  406. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
  407. AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
  408. endef
  409. define KernelPackage/rtc-isl1208/description
  410. Kernel module for Intersil ISL1208 RTC.
  411. endef
  412. $(eval $(call KernelPackage,rtc-isl1208))
  413. define KernelPackage/rtc-pcf8563
  414. SUBMENU:=$(OTHER_MENU)
  415. TITLE:=Philips PCF8563/Epson RTC8564 RTC support
  416. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  417. DEPENDS:=+kmod-i2c-core
  418. KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
  419. CONFIG_RTC_CLASS=y
  420. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
  421. AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
  422. endef
  423. define KernelPackage/rtc-pcf8563/description
  424. Kernel module for Philips PCF8563 RTC chip.
  425. The Epson RTC8564 should work as well.
  426. endef
  427. $(eval $(call KernelPackage,rtc-pcf8563))
  428. define KernelPackage/rtc-pcf2123
  429. SUBMENU:=$(OTHER_MENU)
  430. TITLE:=Philips PCF2123 RTC support
  431. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  432. KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
  433. CONFIG_RTC_CLASS=y
  434. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
  435. AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
  436. endef
  437. define KernelPackage/rtc-pcf2123/description
  438. Kernel module for Philips PCF2123 RTC chip
  439. endef
  440. $(eval $(call KernelPackage,rtc-pcf2123))
  441. define KernelPackage/rtc-pt7c4338
  442. SUBMENU:=$(OTHER_MENU)
  443. TITLE:=Pericom PT7C4338 RTC support
  444. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  445. DEPENDS:=+kmod-i2c-core
  446. KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
  447. CONFIG_RTC_CLASS=y
  448. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
  449. AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
  450. endef
  451. define KernelPackage/rtc-pt7c4338/description
  452. Kernel module for Pericom PT7C4338 i2c RTC chip
  453. endef
  454. $(eval $(call KernelPackage,rtc-pt7c4338))
  455. define KernelPackage/rtc-rs5c372a
  456. SUBMENU:=$(OTHER_MENU)
  457. TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
  458. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  459. DEPENDS:=+kmod-i2c-core
  460. KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
  461. CONFIG_RTC_CLASS=y
  462. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
  463. AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
  464. endef
  465. define KernelPackage/rtc-rs5c372a/description
  466. Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
  467. endef
  468. $(eval $(call KernelPackage,rtc-rs5c372a))
  469. define KernelPackage/mtdtests
  470. SUBMENU:=$(OTHER_MENU)
  471. TITLE:=MTD subsystem tests
  472. KCONFIG:=CONFIG_MTD_TESTS
  473. FILES:=\
  474. $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
  475. $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
  476. $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
  477. $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
  478. $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
  479. $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
  480. $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
  481. $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
  482. endef
  483. define KernelPackage/mtdtests/description
  484. Kernel modules for MTD subsystem/driver testing
  485. endef
  486. $(eval $(call KernelPackage,mtdtests))
  487. define KernelPackage/mtdoops
  488. SUBMENU:=$(OTHER_MENU)
  489. TITLE:=Log panic/oops to an MTD buffer
  490. KCONFIG:=CONFIG_MTD_OOPS
  491. FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
  492. endef
  493. define KernelPackage/mtdoops/description
  494. Kernel modules for Log panic/oops to an MTD buffer
  495. endef
  496. $(eval $(call KernelPackage,mtdoops))
  497. define KernelPackage/serial-8250
  498. SUBMENU:=$(OTHER_MENU)
  499. TITLE:=8250 UARTs
  500. KCONFIG:= CONFIG_SERIAL_8250 \
  501. CONFIG_SERIAL_8250_PCI \
  502. CONFIG_SERIAL_8250_NR_UARTS=16 \
  503. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  504. CONFIG_SERIAL_8250_EXTENDED=y \
  505. CONFIG_SERIAL_8250_MANY_PORTS=y \
  506. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  507. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  508. CONFIG_SERIAL_8250_RSA=n
  509. FILES:= \
  510. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  511. $(LINUX_DIR)/drivers/tty/serial/8250/[email protected] \
  512. $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/[email protected])
  513. AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
  514. endef
  515. define KernelPackage/serial-8250/description
  516. Kernel module for 8250 UART based serial ports
  517. endef
  518. $(eval $(call KernelPackage,serial-8250))
  519. define KernelPackage/regmap
  520. SUBMENU:=$(OTHER_MENU)
  521. TITLE:=Generic register map support
  522. DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
  523. KCONFIG:=CONFIG_REGMAP \
  524. CONFIG_REGMAP_MMIO \
  525. CONFIG_REGMAP_SPI \
  526. CONFIG_REGMAP_I2C \
  527. CONFIG_SPI=y
  528. FILES:= \
  529. $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
  530. $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
  531. $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
  532. $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
  533. AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
  534. endef
  535. define KernelPackage/regmap/description
  536. Generic register map support
  537. endef
  538. $(eval $(call KernelPackage,regmap))
  539. define KernelPackage/ikconfig
  540. SUBMENU:=$(OTHER_MENU)
  541. TITLE:=Kernel configuration via /proc/config.gz
  542. KCONFIG:=CONFIG_IKCONFIG \
  543. CONFIG_IKCONFIG_PROC=y
  544. FILES:=$(LINUX_DIR)/kernel/configs.ko
  545. AUTOLOAD:=$(call AutoLoad,70,configs)
  546. endef
  547. define KernelPackage/ikconfig/description
  548. Kernel configuration via /proc/config.gz
  549. endef
  550. $(eval $(call KernelPackage,ikconfig))
  551. define KernelPackage/zram
  552. SUBMENU:=$(OTHER_MENU)
  553. TITLE:=ZRAM
  554. DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
  555. KCONFIG:= \
  556. CONFIG_ZSMALLOC \
  557. CONFIG_ZRAM \
  558. CONFIG_ZRAM_DEBUG=n \
  559. CONFIG_PGTABLE_MAPPING=n \
  560. CONFIG_ZSMALLOC_STAT=n \
  561. CONFIG_ZRAM_LZ4_COMPRESS=y
  562. FILES:= \
  563. $(LINUX_DIR)/mm/zsmalloc.ko \
  564. $(LINUX_DIR)/drivers/block/zram/zram.ko
  565. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  566. endef
  567. define KernelPackage/zram/description
  568. Compressed RAM block device support
  569. endef
  570. $(eval $(call KernelPackage,zram))
  571. define KernelPackage/pps
  572. SUBMENU:=$(OTHER_MENU)
  573. TITLE:=PPS support
  574. KCONFIG:=CONFIG_PPS
  575. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  576. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  577. endef
  578. define KernelPackage/pps/description
  579. PPS (Pulse Per Second) is a special pulse provided by some GPS
  580. antennae. Userland can use it to get a high-precision time
  581. reference.
  582. endef
  583. $(eval $(call KernelPackage,pps))
  584. define KernelPackage/pps-gpio
  585. SUBMENU:=$(OTHER_MENU)
  586. TITLE:=PPS client using GPIO
  587. DEPENDS:=+kmod-pps
  588. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  589. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  590. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  591. endef
  592. define KernelPackage/pps-gpio/description
  593. Support for a PPS source using GPIO. To be useful you must
  594. also register a platform device specifying the GPIO pin and
  595. other options, usually in your board setup.
  596. endef
  597. $(eval $(call KernelPackage,pps-gpio))
  598. define KernelPackage/pps-ldisc
  599. SUBMENU:=$(OTHER_MENU)
  600. TITLE:=PPS line discipline
  601. DEPENDS:=+kmod-pps
  602. KCONFIG:=CONFIG_PPS_CLIENT_LDISC
  603. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
  604. AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
  605. endef
  606. define KernelPackage/pps-ldisc/description
  607. Support for a PPS source connected with the CD (Carrier
  608. Detect) pin of your serial port.
  609. endef
  610. $(eval $(call KernelPackage,pps-ldisc))
  611. define KernelPackage/ptp
  612. SUBMENU:=$(OTHER_MENU)
  613. TITLE:=PTP clock support
  614. DEPENDS:=+kmod-pps
  615. KCONFIG:= \
  616. CONFIG_PTP_1588_CLOCK \
  617. CONFIG_NET_PTP_CLASSIFY=y
  618. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  619. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  620. endef
  621. define KernelPackage/ptp/description
  622. The IEEE 1588 standard defines a method to precisely
  623. synchronize distributed clocks over Ethernet networks.
  624. endef
  625. $(eval $(call KernelPackage,ptp))
  626. define KernelPackage/ptp-gianfar
  627. SUBMENU:=$(OTHER_MENU)
  628. TITLE:=Freescale Gianfar PTP support
  629. DEPENDS:=@TARGET_mpc85xx +kmod-ptp
  630. KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
  631. FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
  632. AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
  633. endef
  634. define KernelPackage/ptp-gianfar/description
  635. Kernel module for IEEE 1588 support for Freescale
  636. Gianfar Ethernet drivers
  637. endef
  638. $(eval $(call KernelPackage,ptp-gianfar))
  639. define KernelPackage/random-core
  640. SUBMENU:=$(OTHER_MENU)
  641. TITLE:=Hardware Random Number Generator Core support
  642. KCONFIG:=CONFIG_HW_RANDOM
  643. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  644. endef
  645. define KernelPackage/random-core/description
  646. Kernel module for the HW random number generator core infrastructure
  647. endef
  648. $(eval $(call KernelPackage,random-core))
  649. define KernelPackage/random-omap
  650. SUBMENU:=$(OTHER_MENU)
  651. TITLE:=Hardware Random Number Generator OMAP support
  652. KCONFIG:=CONFIG_HW_RANDOM_OMAP
  653. FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
  654. DEPENDS:=@TARGET_omap24xx +kmod-random-core
  655. AUTOLOAD:=$(call AutoProbe,random-omap)
  656. endef
  657. define KernelPackage/random-omap/description
  658. Kernel module for the OMAP Random Number Generator
  659. found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
  660. endef
  661. $(eval $(call KernelPackage,random-omap))
  662. define KernelPackage/thermal
  663. SUBMENU:=$(OTHER_MENU)
  664. TITLE:=Generic Thermal sysfs driver
  665. DEPENDS:=+kmod-hwmon-core
  666. HIDDEN:=1
  667. KCONFIG:= \
  668. CONFIG_THERMAL \
  669. CONFIG_THERMAL_OF=y \
  670. CONFIG_CPU_THERMAL=y \
  671. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  672. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  673. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  674. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  675. CONFIG_THERMAL_GOV_STEP_WISE=y \
  676. CONFIG_THERMAL_GOV_USER_SPACE=n \
  677. CONFIG_THERMAL_HWMON=y \
  678. CONFIG_THERMAL_EMULATION=n
  679. FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
  680. AUTOLOAD:=$(call AutoProbe,thermal_sys)
  681. endef
  682. define KernelPackage/thermal/description
  683. Generic Thermal Sysfs driver offers a generic mechanism for thermal
  684. management. Usually it's made up of one or more thermal zone and cooling
  685. device.
  686. endef
  687. $(eval $(call KernelPackage,thermal))
  688. define KernelPackage/gpio-beeper
  689. SUBMENU:=$(OTHER_MENU)
  690. TITLE:=GPIO beeper support
  691. DEPENDS:=+kmod-input-core
  692. KCONFIG:= \
  693. CONFIG_INPUT_MISC=y \
  694. CONFIG_INPUT_GPIO_BEEPER
  695. FILES:= \
  696. $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
  697. AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
  698. endef
  699. define KernelPackage/gpio-beeper/description
  700. This enables playing beeps through an GPIO-connected buzzer
  701. endef
  702. $(eval $(call KernelPackage,gpio-beeper))
  703. define KernelPackage/echo
  704. SUBMENU:=$(OTHER_MENU)
  705. TITLE:=Line Echo Canceller
  706. KCONFIG:=CONFIG_ECHO
  707. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  708. AUTOLOAD:=$(call AutoLoad,50,echo)
  709. endef
  710. define KernelPackage/echo/description
  711. This driver provides line echo cancelling support for mISDN and
  712. DAHDI drivers
  713. endef
  714. $(eval $(call KernelPackage,echo))
  715. define KernelPackage/bmp085
  716. SUBMENU:=$(OTHER_MENU)
  717. TITLE:=BMP085/BMP18x pressure sensor
  718. DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
  719. KCONFIG:= CONFIG_BMP085
  720. FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
  721. endef
  722. define KernelPackage/bmp085/description
  723. This driver adds support for Bosch Sensortec's digital pressure
  724. sensors BMP085 and BMP18x.
  725. endef
  726. $(eval $(call KernelPackage,bmp085))
  727. define KernelPackage/bmp085-i2c
  728. SUBMENU:=$(OTHER_MENU)
  729. TITLE:=BMP085/BMP18x pressure sensor I2C
  730. DEPENDS:= +kmod-bmp085
  731. KCONFIG:= CONFIG_BMP085_I2C
  732. FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
  733. AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
  734. endef
  735. define KernelPackage/bmp085-i2c/description
  736. This driver adds support for Bosch Sensortec's digital pressure
  737. sensor connected via I2C.
  738. endef
  739. $(eval $(call KernelPackage,bmp085-i2c))
  740. define KernelPackage/bmp085-spi
  741. SUBMENU:=$(OTHER_MENU)
  742. TITLE:=BMP085/BMP18x pressure sensor SPI
  743. DEPENDS:= +kmod-bmp085
  744. KCONFIG:= CONFIG_BMP085_SPI
  745. FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
  746. AUTOLOAD:=$(call AutoProbe,bmp085-spi)
  747. endef
  748. define KernelPackage/bmp085-spi/description
  749. This driver adds support for Bosch Sensortec's digital pressure
  750. sensor connected via SPI.
  751. endef
  752. $(eval $(call KernelPackage,bmp085-spi))
  753. define KernelPackage/tpm
  754. SUBMENU:=$(OTHER_MENU)
  755. TITLE:=TPM Hardware Support
  756. KCONFIG:= CONFIG_TCG_TPM
  757. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
  758. AUTOLOAD:=$(call AutoLoad,10,tpm,1)
  759. endef
  760. define KernelPackage/tpm/description
  761. This enables TPM Hardware Support.
  762. endef
  763. $(eval $(call KernelPackage,tpm))
  764. define KernelPackage/tpm-tis
  765. SUBMENU:=$(OTHER_MENU)
  766. TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
  767. DEPENDS:= @TARGET_x86 +kmod-tpm
  768. KCONFIG:= CONFIG_TCG_TIS
  769. FILES:= \
  770. $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
  771. $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
  772. AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
  773. endef
  774. define KernelPackage/tpm-tis/description
  775. If you have a TPM security chip that is compliant with the
  776. TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
  777. specification (TPM2.0) say Yes and it will be accessible from
  778. within Linux.
  779. endef
  780. $(eval $(call KernelPackage,tpm-tis))
  781. define KernelPackage/tpm-i2c-atmel
  782. SUBMENU:=$(OTHER_MENU)
  783. TITLE:=TPM I2C Atmel Support
  784. DEPENDS:= +kmod-tpm +kmod-i2c-core
  785. KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
  786. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
  787. AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
  788. endef
  789. define KernelPackage/tpm-i2c-atmel/description
  790. This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
  791. endef
  792. $(eval $(call KernelPackage,tpm-i2c-atmel))
  793. define KernelPackage/tpm-i2c-infineon
  794. SUBMENU:=$(OTHER_MENU)
  795. TITLE:= TPM I2C Infineon driver
  796. DEPENDS:= +kmod-tpm +kmod-i2c-core
  797. KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
  798. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
  799. AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
  800. endef
  801. define KernelPackage/tpm-i2c-infineon/description
  802. This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
  803. endef
  804. $(eval $(call KernelPackage,tpm-i2c-infineon))
  805. define KernelPackage/w83627hf-wdt
  806. SUBMENU:=$(OTHER_MENU)
  807. TITLE:=Winbond 83627HF Watchdog Timer
  808. KCONFIG:=CONFIG_W83627HF_WDT
  809. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
  810. AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
  811. endef
  812. define KernelPackage/w83627hf-wdt/description
  813. Kernel module for Winbond 83627HF Watchdog Timer
  814. endef
  815. $(eval $(call KernelPackage,w83627hf-wdt))
  816. define KernelPackage/itco-wdt
  817. SUBMENU:=$(OTHER_MENU)
  818. TITLE:=Intel iTCO Watchdog Timer
  819. KCONFIG:=CONFIG_ITCO_WDT \
  820. CONFIG_ITCO_VENDOR_SUPPORT=y
  821. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
  822. $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
  823. AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
  824. endef
  825. define KernelPackage/itco-wdt/description
  826. Kernel module for Intel iTCO Watchdog Timer
  827. endef
  828. $(eval $(call KernelPackage,itco-wdt))