other.mk 27 KB

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