1
0

other.mk 24 KB

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