other.mk 27 KB

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