other.mk 26 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019
  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/serial-8250
  488. SUBMENU:=$(OTHER_MENU)
  489. TITLE:=8250 UARTs
  490. KCONFIG:= CONFIG_SERIAL_8250 \
  491. CONFIG_SERIAL_8250_PCI \
  492. CONFIG_SERIAL_8250_NR_UARTS=16 \
  493. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  494. CONFIG_SERIAL_8250_EXTENDED=y \
  495. CONFIG_SERIAL_8250_MANY_PORTS=y \
  496. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  497. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  498. CONFIG_SERIAL_8250_RSA=n
  499. FILES:= \
  500. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  501. $(LINUX_DIR)/drivers/tty/serial/8250/[email protected] \
  502. $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/[email protected])
  503. AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
  504. endef
  505. define KernelPackage/serial-8250/description
  506. Kernel module for 8250 UART based serial ports
  507. endef
  508. $(eval $(call KernelPackage,serial-8250))
  509. define KernelPackage/regmap
  510. SUBMENU:=$(OTHER_MENU)
  511. TITLE:=Generic register map support
  512. DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
  513. KCONFIG:=CONFIG_REGMAP \
  514. CONFIG_REGMAP_MMIO \
  515. CONFIG_REGMAP_SPI \
  516. CONFIG_REGMAP_I2C \
  517. CONFIG_SPI=y
  518. FILES:= \
  519. $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
  520. $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
  521. $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
  522. $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
  523. AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
  524. endef
  525. define KernelPackage/regmap/description
  526. Generic register map support
  527. endef
  528. $(eval $(call KernelPackage,regmap))
  529. define KernelPackage/ikconfig
  530. SUBMENU:=$(OTHER_MENU)
  531. TITLE:=Kernel configuration via /proc/config.gz
  532. KCONFIG:=CONFIG_IKCONFIG \
  533. CONFIG_IKCONFIG_PROC=y
  534. FILES:=$(LINUX_DIR)/kernel/configs.ko
  535. AUTOLOAD:=$(call AutoLoad,70,configs)
  536. endef
  537. define KernelPackage/ikconfig/description
  538. Kernel configuration via /proc/config.gz
  539. endef
  540. $(eval $(call KernelPackage,ikconfig))
  541. define KernelPackage/zram
  542. SUBMENU:=$(OTHER_MENU)
  543. TITLE:=ZRAM
  544. DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
  545. KCONFIG:= \
  546. CONFIG_ZSMALLOC \
  547. CONFIG_ZRAM \
  548. CONFIG_ZRAM_DEBUG=n \
  549. CONFIG_PGTABLE_MAPPING=n \
  550. CONFIG_ZSMALLOC_STAT=n \
  551. CONFIG_ZRAM_LZ4_COMPRESS=y
  552. FILES:= \
  553. $(LINUX_DIR)/mm/zsmalloc.ko \
  554. $(LINUX_DIR)/drivers/block/zram/zram.ko
  555. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  556. endef
  557. define KernelPackage/zram/description
  558. Compressed RAM block device support
  559. endef
  560. $(eval $(call KernelPackage,zram))
  561. define KernelPackage/pps
  562. SUBMENU:=$(OTHER_MENU)
  563. TITLE:=PPS support
  564. KCONFIG:=CONFIG_PPS
  565. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  566. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  567. endef
  568. define KernelPackage/pps/description
  569. PPS (Pulse Per Second) is a special pulse provided by some GPS
  570. antennae. Userland can use it to get a high-precision time
  571. reference.
  572. endef
  573. $(eval $(call KernelPackage,pps))
  574. define KernelPackage/pps-gpio
  575. SUBMENU:=$(OTHER_MENU)
  576. TITLE:=PPS client using GPIO
  577. DEPENDS:=+kmod-pps
  578. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  579. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  580. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  581. endef
  582. define KernelPackage/pps-gpio/description
  583. Support for a PPS source using GPIO. To be useful you must
  584. also register a platform device specifying the GPIO pin and
  585. other options, usually in your board setup.
  586. endef
  587. $(eval $(call KernelPackage,pps-gpio))
  588. define KernelPackage/pps-ldisc
  589. SUBMENU:=$(OTHER_MENU)
  590. TITLE:=PPS line discipline
  591. DEPENDS:=+kmod-pps
  592. KCONFIG:=CONFIG_PPS_CLIENT_LDISC
  593. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
  594. AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
  595. endef
  596. define KernelPackage/pps-ldisc/description
  597. Support for a PPS source connected with the CD (Carrier
  598. Detect) pin of your serial port.
  599. endef
  600. $(eval $(call KernelPackage,pps-ldisc))
  601. define KernelPackage/ptp
  602. SUBMENU:=$(OTHER_MENU)
  603. TITLE:=PTP clock support
  604. DEPENDS:=+kmod-pps
  605. KCONFIG:= \
  606. CONFIG_PTP_1588_CLOCK \
  607. CONFIG_NET_PTP_CLASSIFY=y
  608. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  609. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  610. endef
  611. define KernelPackage/ptp/description
  612. The IEEE 1588 standard defines a method to precisely
  613. synchronize distributed clocks over Ethernet networks.
  614. endef
  615. $(eval $(call KernelPackage,ptp))
  616. define KernelPackage/ptp-gianfar
  617. SUBMENU:=$(OTHER_MENU)
  618. TITLE:=Freescale Gianfar PTP support
  619. DEPENDS:=@TARGET_mpc85xx +kmod-ptp
  620. KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
  621. FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
  622. AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
  623. endef
  624. define KernelPackage/ptp-gianfar/description
  625. Kernel module for IEEE 1588 support for Freescale
  626. Gianfar Ethernet drivers
  627. endef
  628. $(eval $(call KernelPackage,ptp-gianfar))
  629. define KernelPackage/random-core
  630. SUBMENU:=$(OTHER_MENU)
  631. TITLE:=Hardware Random Number Generator Core support
  632. KCONFIG:=CONFIG_HW_RANDOM
  633. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  634. endef
  635. define KernelPackage/random-core/description
  636. Kernel module for the HW random number generator core infrastructure
  637. endef
  638. $(eval $(call KernelPackage,random-core))
  639. define KernelPackage/random-omap
  640. SUBMENU:=$(OTHER_MENU)
  641. TITLE:=Hardware Random Number Generator OMAP support
  642. KCONFIG:=CONFIG_HW_RANDOM_OMAP
  643. FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
  644. DEPENDS:=@TARGET_omap24xx +kmod-random-core
  645. AUTOLOAD:=$(call AutoProbe,random-omap)
  646. endef
  647. define KernelPackage/random-omap/description
  648. Kernel module for the OMAP Random Number Generator
  649. found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
  650. endef
  651. $(eval $(call KernelPackage,random-omap))
  652. define KernelPackage/thermal
  653. SUBMENU:=$(OTHER_MENU)
  654. TITLE:=Generic Thermal sysfs driver
  655. DEPENDS:=+kmod-hwmon-core
  656. HIDDEN:=1
  657. KCONFIG:= \
  658. CONFIG_THERMAL \
  659. CONFIG_THERMAL_OF=y \
  660. CONFIG_CPU_THERMAL=y \
  661. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  662. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  663. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  664. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  665. CONFIG_THERMAL_GOV_STEP_WISE=y \
  666. CONFIG_THERMAL_GOV_USER_SPACE=n \
  667. CONFIG_THERMAL_HWMON=y \
  668. CONFIG_THERMAL_EMULATION=n
  669. FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
  670. AUTOLOAD:=$(call AutoProbe,thermal_sys)
  671. endef
  672. define KernelPackage/thermal/description
  673. Generic Thermal Sysfs driver offers a generic mechanism for thermal
  674. management. Usually it's made up of one or more thermal zone and cooling
  675. device.
  676. endef
  677. $(eval $(call KernelPackage,thermal))
  678. define KernelPackage/gpio-beeper
  679. SUBMENU:=$(OTHER_MENU)
  680. TITLE:=GPIO beeper support
  681. DEPENDS:=+kmod-input-core
  682. KCONFIG:= \
  683. CONFIG_INPUT_MISC=y \
  684. CONFIG_INPUT_GPIO_BEEPER
  685. FILES:= \
  686. $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
  687. AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
  688. endef
  689. define KernelPackage/gpio-beeper/description
  690. This enables playing beeps through an GPIO-connected buzzer
  691. endef
  692. $(eval $(call KernelPackage,gpio-beeper))
  693. define KernelPackage/echo
  694. SUBMENU:=$(OTHER_MENU)
  695. TITLE:=Line Echo Canceller
  696. KCONFIG:=CONFIG_ECHO
  697. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  698. AUTOLOAD:=$(call AutoLoad,50,echo)
  699. endef
  700. define KernelPackage/echo/description
  701. This driver provides line echo cancelling support for mISDN and
  702. DAHDI drivers
  703. endef
  704. $(eval $(call KernelPackage,echo))
  705. define KernelPackage/bmp085
  706. SUBMENU:=$(OTHER_MENU)
  707. TITLE:=BMP085/BMP18x pressure sensor
  708. DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
  709. KCONFIG:= CONFIG_BMP085
  710. FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
  711. endef
  712. define KernelPackage/bmp085/description
  713. This driver adds support for Bosch Sensortec's digital pressure
  714. sensors BMP085 and BMP18x.
  715. endef
  716. $(eval $(call KernelPackage,bmp085))
  717. define KernelPackage/bmp085-i2c
  718. SUBMENU:=$(OTHER_MENU)
  719. TITLE:=BMP085/BMP18x pressure sensor I2C
  720. DEPENDS:= +kmod-bmp085
  721. KCONFIG:= CONFIG_BMP085_I2C
  722. FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
  723. AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
  724. endef
  725. define KernelPackage/bmp085-i2c/description
  726. This driver adds support for Bosch Sensortec's digital pressure
  727. sensor connected via I2C.
  728. endef
  729. $(eval $(call KernelPackage,bmp085-i2c))
  730. define KernelPackage/bmp085-spi
  731. SUBMENU:=$(OTHER_MENU)
  732. TITLE:=BMP085/BMP18x pressure sensor SPI
  733. DEPENDS:= +kmod-bmp085
  734. KCONFIG:= CONFIG_BMP085_SPI
  735. FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
  736. AUTOLOAD:=$(call AutoProbe,bmp085-spi)
  737. endef
  738. define KernelPackage/bmp085-spi/description
  739. This driver adds support for Bosch Sensortec's digital pressure
  740. sensor connected via SPI.
  741. endef
  742. $(eval $(call KernelPackage,bmp085-spi))
  743. define KernelPackage/tpm
  744. SUBMENU:=$(OTHER_MENU)
  745. TITLE:=TPM Hardware Support
  746. KCONFIG:= CONFIG_TCG_TPM
  747. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
  748. AUTOLOAD:=$(call AutoLoad,10,tpm,1)
  749. endef
  750. define KernelPackage/tpm/description
  751. This enables TPM Hardware Support.
  752. endef
  753. $(eval $(call KernelPackage,tpm))
  754. define KernelPackage/tpm-tis
  755. SUBMENU:=$(OTHER_MENU)
  756. TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
  757. DEPENDS:= @TARGET_x86 +kmod-tpm
  758. KCONFIG:= CONFIG_TCG_TIS
  759. FILES:= \
  760. $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
  761. $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
  762. AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
  763. endef
  764. define KernelPackage/tpm-tis/description
  765. If you have a TPM security chip that is compliant with the
  766. TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
  767. specification (TPM2.0) say Yes and it will be accessible from
  768. within Linux.
  769. endef
  770. $(eval $(call KernelPackage,tpm-tis))
  771. define KernelPackage/tpm-i2c-atmel
  772. SUBMENU:=$(OTHER_MENU)
  773. TITLE:=TPM I2C Atmel Support
  774. DEPENDS:= +kmod-tpm +kmod-i2c-core
  775. KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
  776. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
  777. AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
  778. endef
  779. define KernelPackage/tpm-i2c-atmel/description
  780. This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
  781. endef
  782. $(eval $(call KernelPackage,tpm-i2c-atmel))
  783. define KernelPackage/tpm-i2c-infineon
  784. SUBMENU:=$(OTHER_MENU)
  785. TITLE:= TPM I2C Infineon driver
  786. DEPENDS:= +kmod-tpm +kmod-i2c-core
  787. KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
  788. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
  789. AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
  790. endef
  791. define KernelPackage/tpm-i2c-infineon/description
  792. This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
  793. endef
  794. $(eval $(call KernelPackage,tpm-i2c-infineon))
  795. define KernelPackage/w83627hf-wdt
  796. SUBMENU:=$(OTHER_MENU)
  797. TITLE:=Winbond 83627HF Watchdog Timer
  798. KCONFIG:=CONFIG_W83627HF_WDT
  799. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
  800. AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
  801. endef
  802. define KernelPackage/w83627hf-wdt/description
  803. Kernel module for Winbond 83627HF Watchdog Timer
  804. endef
  805. $(eval $(call KernelPackage,w83627hf-wdt))
  806. define KernelPackage/itco-wdt
  807. SUBMENU:=$(OTHER_MENU)
  808. TITLE:=Intel iTCO Watchdog Timer
  809. KCONFIG:=CONFIG_ITCO_WDT \
  810. CONFIG_ITCO_VENDOR_SUPPORT=y
  811. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
  812. $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
  813. AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
  814. endef
  815. define KernelPackage/itco-wdt/description
  816. Kernel module for Intel iTCO Watchdog Timer
  817. endef
  818. $(eval $(call KernelPackage,itco-wdt))