other.mk 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973
  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_4_4: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/bluetooth-hci-h4p
  99. SUBMENU:=$(OTHER_MENU)
  100. TITLE:=HCI driver with H4 Nokia extensions
  101. DEPENDS:=@TARGET_omap24xx +kmod-bluetooth
  102. KCONFIG:=CONFIG_BT_HCIH4P
  103. FILES:=$(LINUX_DIR)/drivers/bluetooth/hci_h4p/hci_h4p.ko
  104. AUTOLOAD:=$(call AutoProbe,hci_h4p)
  105. endef
  106. define KernelPackage/bluetooth-hci-h4p/description
  107. HCI driver with H4 Nokia extensions
  108. endef
  109. $(eval $(call KernelPackage,bluetooth-hci-h4p))
  110. define KernelPackage/dma-buf
  111. SUBMENU:=$(OTHER_MENU)
  112. TITLE:=DMA shared buffer support
  113. HIDDEN:=1
  114. KCONFIG:=CONFIG_DMA_SHARED_BUFFER
  115. FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
  116. AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
  117. endef
  118. $(eval $(call KernelPackage,dma-buf))
  119. define KernelPackage/eeprom-93cx6
  120. SUBMENU:=$(OTHER_MENU)
  121. TITLE:=EEPROM 93CX6 support
  122. KCONFIG:=CONFIG_EEPROM_93CX6
  123. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
  124. AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
  125. endef
  126. define KernelPackage/eeprom-93cx6/description
  127. Kernel module for EEPROM 93CX6 support
  128. endef
  129. $(eval $(call KernelPackage,eeprom-93cx6))
  130. define KernelPackage/eeprom-at24
  131. SUBMENU:=$(OTHER_MENU)
  132. TITLE:=EEPROM AT24 support
  133. KCONFIG:=CONFIG_EEPROM_AT24
  134. DEPENDS:=+kmod-i2c-core
  135. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
  136. AUTOLOAD:=$(call AutoProbe,at24)
  137. endef
  138. define KernelPackage/eeprom-at24/description
  139. Kernel module for most I2C EEPROMs
  140. endef
  141. $(eval $(call KernelPackage,eeprom-at24))
  142. define KernelPackage/eeprom-at25
  143. SUBMENU:=$(OTHER_MENU)
  144. TITLE:=EEPROM AT25 support
  145. KCONFIG:=CONFIG_EEPROM_AT25
  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. KCONFIG:= \
  285. CONFIG_MMC \
  286. CONFIG_MMC_BLOCK \
  287. CONFIG_MMC_DEBUG=n \
  288. CONFIG_MMC_UNSAFE_RESUME=n \
  289. CONFIG_MMC_BLOCK_BOUNCE=y \
  290. CONFIG_MMC_TIFM_SD=n \
  291. CONFIG_MMC_WBSD=n \
  292. CONFIG_SDIO_UART=n
  293. FILES:= \
  294. $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
  295. $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
  296. AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
  297. endef
  298. define KernelPackage/mmc/description
  299. Kernel support for MMC/SD cards
  300. endef
  301. $(eval $(call KernelPackage,mmc))
  302. define KernelPackage/sdhci
  303. SUBMENU:=$(OTHER_MENU)
  304. TITLE:=Secure Digital Host Controller Interface support
  305. DEPENDS:=+kmod-mmc
  306. KCONFIG:= \
  307. CONFIG_MMC_SDHCI \
  308. CONFIG_MMC_SDHCI_PLTFM \
  309. CONFIG_MMC_SDHCI_PCI=n
  310. FILES:= \
  311. $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
  312. $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
  313. AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
  314. endef
  315. define KernelPackage/sdhci/description
  316. Kernel support for SDHCI Hosts
  317. endef
  318. $(eval $(call KernelPackage,sdhci))
  319. define KernelPackage/rfkill
  320. SUBMENU:=$(OTHER_MENU)
  321. TITLE:=RF switch subsystem support
  322. DEPENDS:=@USE_RFKILL +kmod-input-core
  323. KCONFIG:= \
  324. CONFIG_RFKILL_FULL \
  325. CONFIG_RFKILL_INPUT=y \
  326. CONFIG_RFKILL_LEDS=y
  327. FILES:= \
  328. $(LINUX_DIR)/net/rfkill/rfkill.ko
  329. AUTOLOAD:=$(call AutoLoad,20,rfkill)
  330. endef
  331. define KernelPackage/rfkill/description
  332. Say Y here if you want to have control over RF switches
  333. found on many WiFi and Bluetooth cards
  334. endef
  335. $(eval $(call KernelPackage,rfkill))
  336. define KernelPackage/softdog
  337. SUBMENU:=$(OTHER_MENU)
  338. TITLE:=Software watchdog driver
  339. KCONFIG:=CONFIG_SOFT_WATCHDOG
  340. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
  341. AUTOLOAD:=$(call AutoLoad,50,softdog,1)
  342. endef
  343. define KernelPackage/softdog/description
  344. Software watchdog driver
  345. endef
  346. $(eval $(call KernelPackage,softdog))
  347. define KernelPackage/ssb
  348. SUBMENU:=$(OTHER_MENU)
  349. TITLE:=Silicon Sonics Backplane glue code
  350. DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
  351. KCONFIG:=\
  352. CONFIG_SSB \
  353. CONFIG_SSB_B43_PCI_BRIDGE=y \
  354. CONFIG_SSB_DRIVER_MIPS=n \
  355. CONFIG_SSB_DRIVER_PCICORE=y \
  356. CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
  357. CONFIG_SSB_PCIHOST=y \
  358. CONFIG_SSB_PCIHOST_POSSIBLE=y \
  359. CONFIG_SSB_POSSIBLE=y \
  360. CONFIG_SSB_SPROM=y \
  361. CONFIG_SSB_SILENT=y
  362. FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
  363. AUTOLOAD:=$(call AutoLoad,18,ssb,1)
  364. endef
  365. define KernelPackage/ssb/description
  366. Silicon Sonics Backplane glue code.
  367. endef
  368. $(eval $(call KernelPackage,ssb))
  369. define KernelPackage/bcma
  370. SUBMENU:=$(OTHER_MENU)
  371. TITLE:=BCMA support
  372. DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
  373. KCONFIG:=\
  374. CONFIG_BCMA \
  375. CONFIG_BCMA_POSSIBLE=y \
  376. CONFIG_BCMA_BLOCKIO=y \
  377. CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
  378. CONFIG_BCMA_HOST_PCI=y \
  379. CONFIG_BCMA_HOST_SOC=n \
  380. CONFIG_BCMA_DRIVER_MIPS=n \
  381. CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
  382. CONFIG_BCMA_DRIVER_GMAC_CMN=n \
  383. CONFIG_BCMA_DEBUG=n
  384. FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
  385. AUTOLOAD:=$(call AutoLoad,29,bcma)
  386. endef
  387. define KernelPackage/bcma/description
  388. Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
  389. endef
  390. $(eval $(call KernelPackage,bcma))
  391. define KernelPackage/wdt-omap
  392. SUBMENU:=$(OTHER_MENU)
  393. TITLE:=OMAP Watchdog timer
  394. DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
  395. KCONFIG:=CONFIG_OMAP_WATCHDOG
  396. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
  397. AUTOLOAD:=$(call AutoLoad,50,omap_wdt,1)
  398. endef
  399. define KernelPackage/wdt-omap/description
  400. Kernel module for TI omap watchdog timer
  401. endef
  402. $(eval $(call KernelPackage,wdt-omap))
  403. define KernelPackage/rtc-ds1307
  404. SUBMENU:=$(OTHER_MENU)
  405. TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
  406. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  407. KCONFIG:=CONFIG_RTC_DRV_DS1307 \
  408. CONFIG_RTC_CLASS=y
  409. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
  410. AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
  411. endef
  412. define KernelPackage/rtc-ds1307/description
  413. Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
  414. Epson RX-8025 and various other compatible RTC chips connected via I2C.
  415. endef
  416. $(eval $(call KernelPackage,rtc-ds1307))
  417. define KernelPackage/rtc-ds1374
  418. SUBMENU:=$(OTHER_MENU)
  419. TITLE:=Dallas/Maxim DS1374 RTC support
  420. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  421. KCONFIG:=CONFIG_RTC_DRV_DS1374 \
  422. CONFIG_RTC_DRV_DS1374_WDT=n \
  423. CONFIG_RTC_CLASS=y
  424. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
  425. AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
  426. endef
  427. define KernelPackage/rtc-ds1374/description
  428. Kernel module for Dallas/Maxim DS1374.
  429. endef
  430. $(eval $(call KernelPackage,rtc-ds1374))
  431. define KernelPackage/rtc-ds1672
  432. SUBMENU:=$(OTHER_MENU)
  433. TITLE:=Dallas/Maxim DS1672 RTC support
  434. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  435. KCONFIG:=CONFIG_RTC_DRV_DS1672 \
  436. CONFIG_RTC_CLASS=y
  437. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
  438. AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
  439. endef
  440. define KernelPackage/rtc-ds1672/description
  441. Kernel module for Dallas/Maxim DS1672 RTC.
  442. endef
  443. $(eval $(call KernelPackage,rtc-ds1672))
  444. define KernelPackage/rtc-isl1208
  445. SUBMENU:=$(OTHER_MENU)
  446. TITLE:=Intersil ISL1208 RTC support
  447. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  448. KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
  449. CONFIG_RTC_CLASS=y
  450. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
  451. AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
  452. endef
  453. define KernelPackage/rtc-isl1208/description
  454. Kernel module for Intersil ISL1208 RTC.
  455. endef
  456. $(eval $(call KernelPackage,rtc-isl1208))
  457. define KernelPackage/rtc-pcf8563
  458. SUBMENU:=$(OTHER_MENU)
  459. TITLE:=Philips PCF8563/Epson RTC8564 RTC support
  460. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  461. KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
  462. CONFIG_RTC_CLASS=y
  463. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
  464. AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
  465. endef
  466. define KernelPackage/rtc-pcf8563/description
  467. Kernel module for Philips PCF8563 RTC chip.
  468. The Epson RTC8564 should work as well.
  469. endef
  470. $(eval $(call KernelPackage,rtc-pcf8563))
  471. define KernelPackage/rtc-pcf2123
  472. SUBMENU:=$(OTHER_MENU)
  473. TITLE:=Philips PCF2123 RTC support
  474. DEPENDS:=@RTC_SUPPORT
  475. KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
  476. CONFIG_RTC_CLASS=y
  477. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
  478. AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
  479. endef
  480. define KernelPackage/rtc-pcf2123/description
  481. Kernel module for Philips PCF2123 RTC chip
  482. endef
  483. $(eval $(call KernelPackage,rtc-pcf2123))
  484. define KernelPackage/rtc-pt7c4338
  485. SUBMENU:=$(OTHER_MENU)
  486. TITLE:=Pericom PT7C4338 RTC support
  487. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  488. KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
  489. CONFIG_RTC_CLASS=y
  490. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
  491. AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
  492. endef
  493. define KernelPackage/rtc-pt7c4338/description
  494. Kernel module for Pericom PT7C4338 i2c RTC chip
  495. endef
  496. $(eval $(call KernelPackage,rtc-pt7c4338))
  497. define KernelPackage/rtc-rs5c372a
  498. SUBMENU:=$(OTHER_MENU)
  499. TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
  500. DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
  501. KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
  502. CONFIG_RTC_CLASS=y
  503. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
  504. AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
  505. endef
  506. define KernelPackage/rtc-rs5c372a/description
  507. Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
  508. endef
  509. $(eval $(call KernelPackage,rtc-rs5c372a))
  510. define KernelPackage/mtdtests
  511. SUBMENU:=$(OTHER_MENU)
  512. TITLE:=MTD subsystem tests
  513. KCONFIG:=CONFIG_MTD_TESTS
  514. FILES:=\
  515. $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
  516. $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
  517. $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
  518. $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
  519. $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
  520. $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
  521. $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
  522. $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
  523. endef
  524. define KernelPackage/mtdtests/description
  525. Kernel modules for MTD subsystem/driver testing
  526. endef
  527. $(eval $(call KernelPackage,mtdtests))
  528. define KernelPackage/serial-8250
  529. SUBMENU:=$(OTHER_MENU)
  530. TITLE:=8250 UARTs
  531. KCONFIG:= CONFIG_SERIAL_8250 \
  532. CONFIG_SERIAL_8250_NR_UARTS=16 \
  533. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  534. CONFIG_SERIAL_8250_EXTENDED=y \
  535. CONFIG_SERIAL_8250_MANY_PORTS=y \
  536. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  537. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  538. CONFIG_SERIAL_8250_RSA=n
  539. FILES:= \
  540. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  541. $(LINUX_DIR)/drivers/tty/serial/8250/[email protected]
  542. endef
  543. define KernelPackage/serial-8250/description
  544. Kernel module for 8250 UART based serial ports
  545. endef
  546. $(eval $(call KernelPackage,serial-8250))
  547. define KernelPackage/regmap
  548. SUBMENU:=$(OTHER_MENU)
  549. TITLE:=Generic register map support
  550. DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
  551. KCONFIG:=CONFIG_REGMAP \
  552. CONFIG_REGMAP_MMIO \
  553. CONFIG_REGMAP_SPI \
  554. CONFIG_REGMAP_I2C \
  555. CONFIG_SPI=y
  556. FILES:= \
  557. $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
  558. $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
  559. $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
  560. $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
  561. AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
  562. endef
  563. define KernelPackage/regmap/description
  564. Generic register map support
  565. endef
  566. $(eval $(call KernelPackage,regmap))
  567. define KernelPackage/ikconfig
  568. SUBMENU:=$(OTHER_MENU)
  569. TITLE:=Kernel configuration via /proc/config.gz
  570. KCONFIG:=CONFIG_IKCONFIG \
  571. CONFIG_IKCONFIG_PROC=y
  572. FILES:=$(LINUX_DIR)/kernel/configs.ko
  573. AUTOLOAD:=$(call AutoLoad,70,configs)
  574. endef
  575. define KernelPackage/ikconfig/description
  576. Kernel configuration via /proc/config.gz
  577. endef
  578. $(eval $(call KernelPackage,ikconfig))
  579. define KernelPackage/zram
  580. SUBMENU:=$(OTHER_MENU)
  581. TITLE:=ZRAM
  582. DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
  583. KCONFIG:= \
  584. CONFIG_ZSMALLOC \
  585. CONFIG_ZRAM \
  586. CONFIG_ZRAM_DEBUG=n \
  587. CONFIG_PGTABLE_MAPPING=n \
  588. CONFIG_ZSMALLOC_STAT=n \
  589. CONFIG_ZRAM_LZ4_COMPRESS=y
  590. FILES:= \
  591. $(LINUX_DIR)/mm/zsmalloc.ko \
  592. $(LINUX_DIR)/drivers/block/zram/zram.ko
  593. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  594. endef
  595. define KernelPackage/zram/description
  596. Compressed RAM block device support
  597. endef
  598. $(eval $(call KernelPackage,zram))
  599. define KernelPackage/pps
  600. SUBMENU:=$(OTHER_MENU)
  601. TITLE:=PPS support
  602. KCONFIG:=CONFIG_PPS
  603. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  604. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  605. endef
  606. define KernelPackage/pps/description
  607. PPS (Pulse Per Second) is a special pulse provided by some GPS
  608. antennae. Userland can use it to get a high-precision time
  609. reference.
  610. endef
  611. $(eval $(call KernelPackage,pps))
  612. define KernelPackage/pps-gpio
  613. SUBMENU:=$(OTHER_MENU)
  614. TITLE:=PPS client using GPIO
  615. DEPENDS:=+kmod-pps
  616. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  617. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  618. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  619. endef
  620. define KernelPackage/pps-gpio/description
  621. Support for a PPS source using GPIO. To be useful you must
  622. also register a platform device specifying the GPIO pin and
  623. other options, usually in your board setup.
  624. endef
  625. $(eval $(call KernelPackage,pps-gpio))
  626. define KernelPackage/pps-ldisc
  627. SUBMENU:=$(OTHER_MENU)
  628. TITLE:=PPS line discipline
  629. DEPENDS:=+kmod-pps
  630. KCONFIG:=CONFIG_PPS_CLIENT_LDISC
  631. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
  632. AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
  633. endef
  634. define KernelPackage/pps-ldisc/description
  635. Support for a PPS source connected with the CD (Carrier
  636. Detect) pin of your serial port.
  637. endef
  638. $(eval $(call KernelPackage,pps-ldisc))
  639. define KernelPackage/ptp
  640. SUBMENU:=$(OTHER_MENU)
  641. TITLE:=PTP clock support
  642. DEPENDS:=+kmod-pps
  643. KCONFIG:= \
  644. CONFIG_PTP_1588_CLOCK \
  645. CONFIG_NET_PTP_CLASSIFY=y
  646. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  647. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  648. endef
  649. define KernelPackage/ptp/description
  650. The IEEE 1588 standard defines a method to precisely
  651. synchronize distributed clocks over Ethernet networks.
  652. endef
  653. $(eval $(call KernelPackage,ptp))
  654. define KernelPackage/ptp-gianfar
  655. SUBMENU:=$(OTHER_MENU)
  656. TITLE:=Freescale Gianfar PTP support
  657. DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
  658. KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
  659. FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
  660. AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
  661. endef
  662. define KernelPackage/ptp-gianfar/description
  663. Kernel module for IEEE 1588 support for Freescale
  664. Gianfar Ethernet drivers
  665. endef
  666. $(eval $(call KernelPackage,ptp-gianfar))
  667. define KernelPackage/random-core
  668. SUBMENU:=$(OTHER_MENU)
  669. TITLE:=Hardware Random Number Generator Core support
  670. KCONFIG:=CONFIG_HW_RANDOM
  671. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  672. endef
  673. define KernelPackage/random-core/description
  674. Kernel module for the HW random number generator core infrastructure
  675. endef
  676. $(eval $(call KernelPackage,random-core))
  677. define KernelPackage/random-omap
  678. SUBMENU:=$(OTHER_MENU)
  679. TITLE:=Hardware Random Number Generator OMAP support
  680. KCONFIG:=CONFIG_HW_RANDOM_OMAP
  681. FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
  682. DEPENDS:=@(TARGET_omap24xx||TARGET_omap) +kmod-random-core
  683. AUTOLOAD:=$(call AutoProbe,random-omap)
  684. endef
  685. define KernelPackage/random-omap/description
  686. Kernel module for the OMAP Random Number Generator
  687. found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
  688. endef
  689. $(eval $(call KernelPackage,random-omap))
  690. define KernelPackage/thermal
  691. SUBMENU:=$(OTHER_MENU)
  692. TITLE:=Generic Thermal sysfs driver
  693. DEPENDS:=+kmod-hwmon-core
  694. HIDDEN:=1
  695. KCONFIG:= \
  696. CONFIG_THERMAL \
  697. CONFIG_THERMAL_OF=y \
  698. CONFIG_CPU_THERMAL=y \
  699. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  700. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  701. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  702. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  703. CONFIG_THERMAL_GOV_STEP_WISE=y \
  704. CONFIG_THERMAL_GOV_USER_SPACE=n \
  705. CONFIG_THERMAL_HWMON=y \
  706. CONFIG_THERMAL_EMULATION=n
  707. FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
  708. AUTOLOAD:=$(call AutoProbe,thermal_sys)
  709. endef
  710. define KernelPackage/thermal/description
  711. Generic Thermal Sysfs driver offers a generic mechanism for thermal
  712. management. Usually it's made up of one or more thermal zone and cooling
  713. device.
  714. endef
  715. $(eval $(call KernelPackage,thermal))
  716. define KernelPackage/gpio-beeper
  717. SUBMENU:=$(OTHER_MENU)
  718. TITLE:=GPIO beeper support
  719. DEPENDS:=+kmod-input-core
  720. KCONFIG:= \
  721. CONFIG_INPUT_MISC=y \
  722. CONFIG_INPUT_GPIO_BEEPER
  723. FILES:= \
  724. $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
  725. AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
  726. endef
  727. define KernelPackage/gpio-beeper/description
  728. This enables playing beeps through an GPIO-connected buzzer
  729. endef
  730. $(eval $(call KernelPackage,gpio-beeper))
  731. define KernelPackage/echo
  732. SUBMENU:=$(OTHER_MENU)
  733. TITLE:=Line Echo Canceller
  734. KCONFIG:=CONFIG_ECHO
  735. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  736. AUTOLOAD:=$(call AutoLoad,50,echo)
  737. endef
  738. define KernelPackage/echo/description
  739. This driver provides line echo cancelling support for mISDN and
  740. DAHDI drivers
  741. endef
  742. $(eval $(call KernelPackage,echo))
  743. define KernelPackage/bmp085
  744. SUBMENU:=$(OTHER_MENU)
  745. TITLE:=BMP085/BMP18x pressure sensor
  746. DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
  747. KCONFIG:= CONFIG_BMP085
  748. FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
  749. endef
  750. define KernelPackage/bmp085/description
  751. This driver adds support for Bosch Sensortec's digital pressure
  752. sensors BMP085 and BMP18x.
  753. endef
  754. $(eval $(call KernelPackage,bmp085))
  755. define KernelPackage/bmp085-i2c
  756. SUBMENU:=$(OTHER_MENU)
  757. TITLE:=BMP085/BMP18x pressure sensor I2C
  758. DEPENDS:= +kmod-bmp085
  759. KCONFIG:= CONFIG_BMP085_I2C
  760. FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
  761. AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
  762. endef
  763. define KernelPackage/bmp085-i2c/description
  764. This driver adds support for Bosch Sensortec's digital pressure
  765. sensor connected via I2C.
  766. endef
  767. $(eval $(call KernelPackage,bmp085-i2c))
  768. define KernelPackage/bmp085-spi
  769. SUBMENU:=$(OTHER_MENU)
  770. TITLE:=BMP085/BMP18x pressure sensor SPI
  771. DEPENDS:= +kmod-bmp085
  772. KCONFIG:= CONFIG_BMP085_SPI
  773. FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
  774. AUTOLOAD:=$(call AutoProbe,bmp085-spi)
  775. endef
  776. define KernelPackage/bmp085-spi/description
  777. This driver adds support for Bosch Sensortec's digital pressure
  778. sensor connected via SPI.
  779. endef
  780. $(eval $(call KernelPackage,bmp085-spi))