other.mk 27 KB

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