other.mk 27 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036
  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. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  396. KCONFIG:=CONFIG_RTC_DRV_DS1307 \
  397. CONFIG_RTC_CLASS=y
  398. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
  399. AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
  400. endef
  401. define KernelPackage/rtc-ds1307/description
  402. Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
  403. Epson RX-8025 and various other compatible RTC chips connected via I2C.
  404. endef
  405. $(eval $(call KernelPackage,rtc-ds1307))
  406. define KernelPackage/rtc-ds1374
  407. SUBMENU:=$(OTHER_MENU)
  408. TITLE:=Dallas/Maxim DS1374 RTC support
  409. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  410. KCONFIG:=CONFIG_RTC_DRV_DS1374 \
  411. CONFIG_RTC_DRV_DS1374_WDT=n \
  412. CONFIG_RTC_CLASS=y
  413. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
  414. AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
  415. endef
  416. define KernelPackage/rtc-ds1374/description
  417. Kernel module for Dallas/Maxim DS1374.
  418. endef
  419. $(eval $(call KernelPackage,rtc-ds1374))
  420. define KernelPackage/rtc-ds1672
  421. SUBMENU:=$(OTHER_MENU)
  422. TITLE:=Dallas/Maxim DS1672 RTC support
  423. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  424. KCONFIG:=CONFIG_RTC_DRV_DS1672 \
  425. CONFIG_RTC_CLASS=y
  426. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
  427. AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
  428. endef
  429. define KernelPackage/rtc-ds1672/description
  430. Kernel module for Dallas/Maxim DS1672 RTC.
  431. endef
  432. $(eval $(call KernelPackage,rtc-ds1672))
  433. define KernelPackage/rtc-isl1208
  434. SUBMENU:=$(OTHER_MENU)
  435. TITLE:=Intersil ISL1208 RTC support
  436. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  437. KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
  438. CONFIG_RTC_CLASS=y
  439. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
  440. AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
  441. endef
  442. define KernelPackage/rtc-isl1208/description
  443. Kernel module for Intersil ISL1208 RTC.
  444. endef
  445. $(eval $(call KernelPackage,rtc-isl1208))
  446. define KernelPackage/rtc-pcf8563
  447. SUBMENU:=$(OTHER_MENU)
  448. TITLE:=Philips PCF8563/Epson RTC8564 RTC support
  449. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  450. KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
  451. CONFIG_RTC_CLASS=y
  452. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
  453. AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
  454. endef
  455. define KernelPackage/rtc-pcf8563/description
  456. Kernel module for Philips PCF8563 RTC chip.
  457. The Epson RTC8564 should work as well.
  458. endef
  459. $(eval $(call KernelPackage,rtc-pcf8563))
  460. define KernelPackage/rtc-pcf2123
  461. SUBMENU:=$(OTHER_MENU)
  462. TITLE:=Philips PCF2123 RTC support
  463. DEPENDS:=@RTC_SUPPORT
  464. KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
  465. CONFIG_RTC_CLASS=y
  466. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
  467. AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
  468. endef
  469. define KernelPackage/rtc-pcf2123/description
  470. Kernel module for Philips PCF2123 RTC chip
  471. endef
  472. $(eval $(call KernelPackage,rtc-pcf2123))
  473. define KernelPackage/rtc-pt7c4338
  474. SUBMENU:=$(OTHER_MENU)
  475. TITLE:=Pericom PT7C4338 RTC support
  476. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  477. KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
  478. CONFIG_RTC_CLASS=y
  479. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
  480. AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
  481. endef
  482. define KernelPackage/rtc-pt7c4338/description
  483. Kernel module for Pericom PT7C4338 i2c RTC chip
  484. endef
  485. $(eval $(call KernelPackage,rtc-pt7c4338))
  486. define KernelPackage/rtc-rs5c372a
  487. SUBMENU:=$(OTHER_MENU)
  488. TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
  489. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  490. KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
  491. CONFIG_RTC_CLASS=y
  492. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
  493. AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
  494. endef
  495. define KernelPackage/rtc-rs5c372a/description
  496. Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
  497. endef
  498. $(eval $(call KernelPackage,rtc-rs5c372a))
  499. define KernelPackage/mtdtests
  500. SUBMENU:=$(OTHER_MENU)
  501. TITLE:=MTD subsystem tests
  502. KCONFIG:=CONFIG_MTD_TESTS
  503. FILES:=\
  504. $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
  505. $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
  506. $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
  507. $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
  508. $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
  509. $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
  510. $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
  511. $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
  512. endef
  513. define KernelPackage/mtdtests/description
  514. Kernel modules for MTD subsystem/driver testing
  515. endef
  516. $(eval $(call KernelPackage,mtdtests))
  517. define KernelPackage/serial-8250
  518. SUBMENU:=$(OTHER_MENU)
  519. TITLE:=8250 UARTs
  520. KCONFIG:= CONFIG_SERIAL_8250 \
  521. CONFIG_SERIAL_8250_NR_UARTS=16 \
  522. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  523. CONFIG_SERIAL_8250_EXTENDED=y \
  524. CONFIG_SERIAL_8250_MANY_PORTS=y \
  525. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  526. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  527. CONFIG_SERIAL_8250_RSA=n
  528. FILES:= \
  529. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  530. $(LINUX_DIR)/drivers/tty/serial/8250/[email protected]
  531. endef
  532. define KernelPackage/serial-8250/description
  533. Kernel module for 8250 UART based serial ports
  534. endef
  535. $(eval $(call KernelPackage,serial-8250))
  536. define KernelPackage/regmap
  537. SUBMENU:=$(OTHER_MENU)
  538. TITLE:=Generic register map support
  539. DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
  540. KCONFIG:=CONFIG_REGMAP \
  541. CONFIG_REGMAP_MMIO \
  542. CONFIG_REGMAP_SPI \
  543. CONFIG_REGMAP_I2C \
  544. CONFIG_SPI=y
  545. FILES:= \
  546. $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
  547. $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
  548. $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
  549. $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
  550. AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
  551. endef
  552. define KernelPackage/regmap/description
  553. Generic register map support
  554. endef
  555. $(eval $(call KernelPackage,regmap))
  556. define KernelPackage/ikconfig
  557. SUBMENU:=$(OTHER_MENU)
  558. TITLE:=Kernel configuration via /proc/config.gz
  559. KCONFIG:=CONFIG_IKCONFIG \
  560. CONFIG_IKCONFIG_PROC=y
  561. FILES:=$(LINUX_DIR)/kernel/configs.ko
  562. AUTOLOAD:=$(call AutoLoad,70,configs)
  563. endef
  564. define KernelPackage/ikconfig/description
  565. Kernel configuration via /proc/config.gz
  566. endef
  567. $(eval $(call KernelPackage,ikconfig))
  568. define KernelPackage/zram
  569. SUBMENU:=$(OTHER_MENU)
  570. TITLE:=ZRAM
  571. DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
  572. KCONFIG:= \
  573. CONFIG_ZSMALLOC \
  574. CONFIG_ZRAM \
  575. CONFIG_ZRAM_DEBUG=n \
  576. CONFIG_PGTABLE_MAPPING=n \
  577. CONFIG_ZSMALLOC_STAT=n \
  578. CONFIG_ZRAM_LZ4_COMPRESS=y
  579. FILES:= \
  580. $(LINUX_DIR)/mm/zsmalloc.ko \
  581. $(LINUX_DIR)/drivers/block/zram/zram.ko
  582. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  583. endef
  584. define KernelPackage/zram/description
  585. Compressed RAM block device support
  586. endef
  587. $(eval $(call KernelPackage,zram))
  588. define KernelPackage/pps
  589. SUBMENU:=$(OTHER_MENU)
  590. TITLE:=PPS support
  591. KCONFIG:=CONFIG_PPS
  592. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  593. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  594. endef
  595. define KernelPackage/pps/description
  596. PPS (Pulse Per Second) is a special pulse provided by some GPS
  597. antennae. Userland can use it to get a high-precision time
  598. reference.
  599. endef
  600. $(eval $(call KernelPackage,pps))
  601. define KernelPackage/pps-gpio
  602. SUBMENU:=$(OTHER_MENU)
  603. TITLE:=PPS client using GPIO
  604. DEPENDS:=+kmod-pps
  605. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  606. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  607. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  608. endef
  609. define KernelPackage/pps-gpio/description
  610. Support for a PPS source using GPIO. To be useful you must
  611. also register a platform device specifying the GPIO pin and
  612. other options, usually in your board setup.
  613. endef
  614. $(eval $(call KernelPackage,pps-gpio))
  615. define KernelPackage/pps-ldisc
  616. SUBMENU:=$(OTHER_MENU)
  617. TITLE:=PPS line discipline
  618. DEPENDS:=+kmod-pps
  619. KCONFIG:=CONFIG_PPS_CLIENT_LDISC
  620. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
  621. AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
  622. endef
  623. define KernelPackage/pps-ldisc/description
  624. Support for a PPS source connected with the CD (Carrier
  625. Detect) pin of your serial port.
  626. endef
  627. $(eval $(call KernelPackage,pps-ldisc))
  628. define KernelPackage/ptp
  629. SUBMENU:=$(OTHER_MENU)
  630. TITLE:=PTP clock support
  631. DEPENDS:=+kmod-pps
  632. KCONFIG:= \
  633. CONFIG_PTP_1588_CLOCK \
  634. CONFIG_NET_PTP_CLASSIFY=y
  635. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  636. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  637. endef
  638. define KernelPackage/ptp/description
  639. The IEEE 1588 standard defines a method to precisely
  640. synchronize distributed clocks over Ethernet networks.
  641. endef
  642. $(eval $(call KernelPackage,ptp))
  643. define KernelPackage/ptp-gianfar
  644. SUBMENU:=$(OTHER_MENU)
  645. TITLE:=Freescale Gianfar PTP support
  646. DEPENDS:=@TARGET_mpc85xx +kmod-ptp
  647. KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
  648. FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
  649. AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
  650. endef
  651. define KernelPackage/ptp-gianfar/description
  652. Kernel module for IEEE 1588 support for Freescale
  653. Gianfar Ethernet drivers
  654. endef
  655. $(eval $(call KernelPackage,ptp-gianfar))
  656. define KernelPackage/random-core
  657. SUBMENU:=$(OTHER_MENU)
  658. TITLE:=Hardware Random Number Generator Core support
  659. KCONFIG:=CONFIG_HW_RANDOM
  660. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  661. endef
  662. define KernelPackage/random-core/description
  663. Kernel module for the HW random number generator core infrastructure
  664. endef
  665. $(eval $(call KernelPackage,random-core))
  666. define KernelPackage/random-omap
  667. SUBMENU:=$(OTHER_MENU)
  668. TITLE:=Hardware Random Number Generator OMAP support
  669. KCONFIG:=CONFIG_HW_RANDOM_OMAP
  670. FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
  671. DEPENDS:=@TARGET_omap24xx +kmod-random-core
  672. AUTOLOAD:=$(call AutoProbe,random-omap)
  673. endef
  674. define KernelPackage/random-omap/description
  675. Kernel module for the OMAP Random Number Generator
  676. found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
  677. endef
  678. $(eval $(call KernelPackage,random-omap))
  679. define KernelPackage/thermal
  680. SUBMENU:=$(OTHER_MENU)
  681. TITLE:=Generic Thermal sysfs driver
  682. DEPENDS:=+kmod-hwmon-core
  683. HIDDEN:=1
  684. KCONFIG:= \
  685. CONFIG_THERMAL \
  686. CONFIG_THERMAL_OF=y \
  687. CONFIG_CPU_THERMAL=y \
  688. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  689. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  690. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  691. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  692. CONFIG_THERMAL_GOV_STEP_WISE=y \
  693. CONFIG_THERMAL_GOV_USER_SPACE=n \
  694. CONFIG_THERMAL_HWMON=y \
  695. CONFIG_THERMAL_EMULATION=n
  696. FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
  697. AUTOLOAD:=$(call AutoProbe,thermal_sys)
  698. endef
  699. define KernelPackage/thermal/description
  700. Generic Thermal Sysfs driver offers a generic mechanism for thermal
  701. management. Usually it's made up of one or more thermal zone and cooling
  702. device.
  703. endef
  704. $(eval $(call KernelPackage,thermal))
  705. define KernelPackage/gpio-beeper
  706. SUBMENU:=$(OTHER_MENU)
  707. TITLE:=GPIO beeper support
  708. DEPENDS:=+kmod-input-core
  709. KCONFIG:= \
  710. CONFIG_INPUT_MISC=y \
  711. CONFIG_INPUT_GPIO_BEEPER
  712. FILES:= \
  713. $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
  714. AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
  715. endef
  716. define KernelPackage/gpio-beeper/description
  717. This enables playing beeps through an GPIO-connected buzzer
  718. endef
  719. $(eval $(call KernelPackage,gpio-beeper))
  720. define KernelPackage/echo
  721. SUBMENU:=$(OTHER_MENU)
  722. TITLE:=Line Echo Canceller
  723. KCONFIG:=CONFIG_ECHO
  724. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  725. AUTOLOAD:=$(call AutoLoad,50,echo)
  726. endef
  727. define KernelPackage/echo/description
  728. This driver provides line echo cancelling support for mISDN and
  729. DAHDI drivers
  730. endef
  731. $(eval $(call KernelPackage,echo))
  732. define KernelPackage/bmp085
  733. SUBMENU:=$(OTHER_MENU)
  734. TITLE:=BMP085/BMP18x pressure sensor
  735. DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
  736. KCONFIG:= CONFIG_BMP085
  737. FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
  738. endef
  739. define KernelPackage/bmp085/description
  740. This driver adds support for Bosch Sensortec's digital pressure
  741. sensors BMP085 and BMP18x.
  742. endef
  743. $(eval $(call KernelPackage,bmp085))
  744. define KernelPackage/bmp085-i2c
  745. SUBMENU:=$(OTHER_MENU)
  746. TITLE:=BMP085/BMP18x pressure sensor I2C
  747. DEPENDS:= +kmod-bmp085
  748. KCONFIG:= CONFIG_BMP085_I2C
  749. FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
  750. AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
  751. endef
  752. define KernelPackage/bmp085-i2c/description
  753. This driver adds support for Bosch Sensortec's digital pressure
  754. sensor connected via I2C.
  755. endef
  756. $(eval $(call KernelPackage,bmp085-i2c))
  757. define KernelPackage/bmp085-spi
  758. SUBMENU:=$(OTHER_MENU)
  759. TITLE:=BMP085/BMP18x pressure sensor SPI
  760. DEPENDS:= +kmod-bmp085
  761. KCONFIG:= CONFIG_BMP085_SPI
  762. FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
  763. AUTOLOAD:=$(call AutoProbe,bmp085-spi)
  764. endef
  765. define KernelPackage/bmp085-spi/description
  766. This driver adds support for Bosch Sensortec's digital pressure
  767. sensor connected via SPI.
  768. endef
  769. $(eval $(call KernelPackage,bmp085-spi))
  770. define KernelPackage/tpm
  771. SUBMENU:=$(OTHER_MENU)
  772. TITLE:=TPM Hardware Support
  773. KCONFIG:= CONFIG_TCG_TPM
  774. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
  775. AUTOLOAD:=$(call AutoLoad,10,tpm,1)
  776. endef
  777. define KernelPackage/tpm/description
  778. This enables TPM Hardware Support.
  779. endef
  780. $(eval $(call KernelPackage,tpm))
  781. define KernelPackage/tpm-tis
  782. SUBMENU:=$(OTHER_MENU)
  783. TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
  784. DEPENDS:= @TARGET_x86 +kmod-tpm
  785. KCONFIG:= CONFIG_TCG_TIS
  786. FILES:= \
  787. $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
  788. $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
  789. AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
  790. endef
  791. define KernelPackage/tpm-tis/description
  792. If you have a TPM security chip that is compliant with the
  793. TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
  794. specification (TPM2.0) say Yes and it will be accessible from
  795. within Linux.
  796. endef
  797. $(eval $(call KernelPackage,tpm-tis))
  798. define KernelPackage/tpm-i2c-atmel
  799. SUBMENU:=$(OTHER_MENU)
  800. TITLE:=TPM I2C Atmel Support
  801. DEPENDS:= +kmod-tpm +kmod-i2c-core
  802. KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
  803. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
  804. AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
  805. endef
  806. define KernelPackage/tpm-i2c-atmel/description
  807. This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
  808. endef
  809. $(eval $(call KernelPackage,tpm-i2c-atmel))
  810. define KernelPackage/tpm-i2c-infineon
  811. SUBMENU:=$(OTHER_MENU)
  812. TITLE:= TPM I2C Infineon driver
  813. DEPENDS:= +kmod-tpm +kmod-i2c-core
  814. KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
  815. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
  816. AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
  817. endef
  818. define KernelPackage/tpm-i2c-infineon/description
  819. This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
  820. endef
  821. $(eval $(call KernelPackage,tpm-i2c-infineon))
  822. define KernelPackage/w83627hf-wdt
  823. SUBMENU:=$(OTHER_MENU)
  824. TITLE:=Winbond 83627HF Watchdog Timer
  825. KCONFIG:=CONFIG_W83627HF_WDT
  826. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
  827. AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
  828. endef
  829. define KernelPackage/w83627hf-wdt/description
  830. Kernel module for Winbond 83627HF Watchdog Timer
  831. endef
  832. $(eval $(call KernelPackage,w83627hf-wdt))