2
0

other.mk 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341
  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 +kmod-crypto-cmac +kmod-regmap-core +kmod-crypto-ecdh
  26. KCONFIG:= \
  27. CONFIG_BT \
  28. CONFIG_BT_BREDR=y \
  29. CONFIG_BT_DEBUGFS=n \
  30. CONFIG_BT_LE=y \
  31. CONFIG_BT_RFCOMM \
  32. CONFIG_BT_BNEP \
  33. CONFIG_BT_HCIBTUSB \
  34. CONFIG_BT_HCIBTUSB_BCM=n \
  35. CONFIG_BT_HCIBTUSB_MTK=y \
  36. CONFIG_BT_HCIBTUSB_RTL=n \
  37. CONFIG_BT_HCIUART \
  38. CONFIG_BT_HCIUART_BCM=n \
  39. CONFIG_BT_HCIUART_INTEL=n \
  40. CONFIG_BT_HCIUART_H4 \
  41. CONFIG_BT_HCIUART_NOKIA=n \
  42. CONFIG_BT_HIDP
  43. $(call AddDepends/rfkill)
  44. FILES:= \
  45. $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
  46. $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
  47. $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
  48. $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
  49. $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
  50. $(LINUX_DIR)/drivers/bluetooth/btusb.ko \
  51. $(LINUX_DIR)/drivers/bluetooth/btintel.ko
  52. AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
  53. endef
  54. define KernelPackage/bluetooth/description
  55. Kernel support for Bluetooth devices
  56. endef
  57. $(eval $(call KernelPackage,bluetooth))
  58. define KernelPackage/ath3k
  59. SUBMENU:=$(OTHER_MENU)
  60. TITLE:=ATH3K Kernel Module support
  61. DEPENDS:=+kmod-bluetooth +ar3k-firmware
  62. KCONFIG:= \
  63. CONFIG_BT_ATH3K \
  64. CONFIG_BT_HCIUART_ATH3K=y
  65. FILES:= \
  66. $(LINUX_DIR)/drivers/bluetooth/ath3k.ko
  67. AUTOLOAD:=$(call AutoProbe,ath3k)
  68. endef
  69. define KernelPackage/ath3k/description
  70. Kernel support for ATH3K Module
  71. endef
  72. $(eval $(call KernelPackage,ath3k))
  73. define KernelPackage/bluetooth-6lowpan
  74. SUBMENU:=$(OTHER_MENU)
  75. TITLE:=Bluetooth 6LoWPAN support
  76. DEPENDS:=+kmod-6lowpan +kmod-bluetooth
  77. KCONFIG:=CONFIG_BT_6LOWPAN
  78. FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko
  79. AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan)
  80. endef
  81. define KernelPackage/bluetooth-6lowpan/description
  82. Kernel support for 6LoWPAN over Bluetooth Low Energy devices
  83. endef
  84. $(eval $(call KernelPackage,bluetooth-6lowpan))
  85. define KernelPackage/btmrvl
  86. SUBMENU:=$(OTHER_MENU)
  87. TITLE:=Marvell Bluetooth Kernel Module support
  88. DEPENDS:=+kmod-mmc +kmod-bluetooth +mwifiex-sdio-firmware
  89. KCONFIG:= \
  90. CONFIG_BT_MRVL \
  91. CONFIG_BT_MRVL_SDIO
  92. FILES:= \
  93. $(LINUX_DIR)/drivers/bluetooth/btmrvl.ko \
  94. $(LINUX_DIR)/drivers/bluetooth/btmrvl_sdio.ko
  95. AUTOLOAD:=$(call AutoProbe,btmrvl btmrvl_sdio)
  96. endef
  97. define KernelPackage/btmrvl/description
  98. Kernel support for Marvell SDIO Bluetooth Module
  99. endef
  100. $(eval $(call KernelPackage,btmrvl))
  101. define KernelPackage/btsdio
  102. SUBMENU:=$(OTHER_MENU)
  103. TITLE:=Bluetooth HCI SDIO driver
  104. DEPENDS:=+kmod-bluetooth +kmod-mmc
  105. KCONFIG:= \
  106. CONFIG_BT_HCIBTSDIO
  107. FILES:= \
  108. $(LINUX_DIR)/drivers/bluetooth/btsdio.ko
  109. AUTOLOAD:=$(call AutoProbe,btsdio)
  110. endef
  111. define KernelPackage/btsdio/description
  112. Kernel support for Bluetooth device with SDIO interface
  113. endef
  114. $(eval $(call KernelPackage,btsdio))
  115. define KernelPackage/dma-buf
  116. SUBMENU:=$(OTHER_MENU)
  117. TITLE:=DMA shared buffer support
  118. HIDDEN:=1
  119. KCONFIG:=CONFIG_DMA_SHARED_BUFFER
  120. ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
  121. ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
  122. FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
  123. endif
  124. endif
  125. AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
  126. endef
  127. $(eval $(call KernelPackage,dma-buf))
  128. define KernelPackage/eeprom-93cx6
  129. SUBMENU:=$(OTHER_MENU)
  130. TITLE:=EEPROM 93CX6 support
  131. KCONFIG:=CONFIG_EEPROM_93CX6
  132. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
  133. AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
  134. endef
  135. define KernelPackage/eeprom-93cx6/description
  136. Kernel module for EEPROM 93CX6 support
  137. endef
  138. $(eval $(call KernelPackage,eeprom-93cx6))
  139. define KernelPackage/eeprom-at24
  140. SUBMENU:=$(OTHER_MENU)
  141. TITLE:=EEPROM AT24 support
  142. KCONFIG:=CONFIG_EEPROM_AT24
  143. DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c
  144. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
  145. AUTOLOAD:=$(call AutoProbe,at24)
  146. endef
  147. define KernelPackage/eeprom-at24/description
  148. Kernel module for most I2C EEPROMs
  149. endef
  150. $(eval $(call KernelPackage,eeprom-at24))
  151. define KernelPackage/eeprom-at25
  152. SUBMENU:=$(OTHER_MENU)
  153. TITLE:=EEPROM AT25 support
  154. KCONFIG:=CONFIG_EEPROM_AT25
  155. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
  156. AUTOLOAD:=$(call AutoProbe,at25)
  157. endef
  158. define KernelPackage/eeprom-at25/description
  159. Kernel module for most SPI EEPROMs
  160. endef
  161. $(eval $(call KernelPackage,eeprom-at25))
  162. define KernelPackage/google-firmware
  163. SUBMENU:=$(OTHER_MENU)
  164. TITLE:=Google firmware drivers (Coreboot, VPD, Memconsole)
  165. KCONFIG:= \
  166. CONFIG_GOOGLE_FIRMWARE=y \
  167. CONFIG_GOOGLE_COREBOOT_TABLE \
  168. CONFIG_GOOGLE_MEMCONSOLE \
  169. CONFIG_GOOGLE_MEMCONSOLE_COREBOOT \
  170. CONFIG_GOOGLE_VPD
  171. FILES:= \
  172. $(LINUX_DIR)/drivers/firmware/google/coreboot_table.ko \
  173. $(LINUX_DIR)/drivers/firmware/google/memconsole.ko \
  174. $(LINUX_DIR)/drivers/firmware/google/memconsole-coreboot.ko \
  175. $(LINUX_DIR)/drivers/firmware/google/vpd-sysfs.ko
  176. AUTOLOAD:=$(call AutoProbe,coreboot_table memconsole-coreboot vpd-sysfs)
  177. endef
  178. define KernelPackage/google-firmware/description
  179. Kernel modules for Google firmware drivers. Useful for examining firmware and
  180. boot details on devices using a Google bootloader based on Coreboot. Provides
  181. files like /sys/firmware/log and /sys/firmware/vpd.
  182. endef
  183. $(eval $(call KernelPackage,google-firmware))
  184. define KernelPackage/gpio-f7188x
  185. SUBMENU:=$(OTHER_MENU)
  186. TITLE:=Fintek F718xx/F818xx GPIO Support
  187. DEPENDS:=@GPIO_SUPPORT @TARGET_x86
  188. KCONFIG:=CONFIG_GPIO_F7188X
  189. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-f7188x.ko
  190. AUTOLOAD:=$(call AutoProbe,gpio-f7188x)
  191. endef
  192. define KernelPackage/gpio-f7188x/description
  193. Kernel module for the GPIOs found on many Fintek Super-IO chips.
  194. endef
  195. $(eval $(call KernelPackage,gpio-f7188x))
  196. define KernelPackage/pinctrl-mcp23s08
  197. SUBMENU:=$(OTHER_MENU)
  198. TITLE:=Microchip MCP23xxx I/O expander
  199. HIDDEN:=1
  200. DEPENDS:=@GPIO_SUPPORT +kmod-regmap-core
  201. KCONFIG:=CONFIG_PINCTRL_MCP23S08
  202. FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko
  203. AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08)
  204. endef
  205. define KernelPackage/pinctrl-mcp23s08/description
  206. Kernel module for Microchip MCP23xxx I/O expander
  207. endef
  208. $(eval $(call KernelPackage,pinctrl-mcp23s08))
  209. define KernelPackage/pinctrl-mcp23s08-i2c
  210. SUBMENU:=$(OTHER_MENU)
  211. TITLE:=Microchip MCP23xxx I/O expander (I2C)
  212. DEPENDS:=@GPIO_SUPPORT \
  213. +kmod-pinctrl-mcp23s08 \
  214. +kmod-i2c-core \
  215. +kmod-regmap-i2c
  216. KCONFIG:=CONFIG_PINCTRL_MCP23S08_I2C
  217. FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08_i2c.ko
  218. AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08-i2c)
  219. endef
  220. define KernelPackage/pinctrl-mcp23s08-i2c/description
  221. Kernel module for Microchip MCP23xxx I/O expander via I2C
  222. endef
  223. $(eval $(call KernelPackage,pinctrl-mcp23s08-i2c))
  224. define KernelPackage/pinctrl-mcp23s08-spi
  225. SUBMENU:=$(OTHER_MENU)
  226. TITLE:=Microchip MCP23xxx I/O expander (SPI)
  227. DEPENDS:=@GPIO_SUPPORT +kmod-pinctrl-mcp23s08
  228. KCONFIG:=CONFIG_PINCTRL_MCP23S08_SPI
  229. FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08_spi.ko
  230. AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08-spi)
  231. endef
  232. define KernelPackage/pinctrl-mcp23s08-spi/description
  233. Kernel module for Microchip MCP23xxx I/O expander via SPI
  234. endef
  235. $(eval $(call KernelPackage,pinctrl-mcp23s08-spi))
  236. define KernelPackage/gpio-nxp-74hc164
  237. SUBMENU:=$(OTHER_MENU)
  238. TITLE:=NXP 74HC164 GPIO expander support
  239. KCONFIG:=CONFIG_GPIO_74X164
  240. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-74x164.ko
  241. AUTOLOAD:=$(call AutoProbe,gpio-74x164)
  242. endef
  243. define KernelPackage/gpio-nxp-74hc164/description
  244. Kernel module for NXP 74HC164 GPIO expander
  245. endef
  246. $(eval $(call KernelPackage,gpio-nxp-74hc164))
  247. define KernelPackage/gpio-pca953x
  248. SUBMENU:=$(OTHER_MENU)
  249. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +kmod-regmap-i2c
  250. TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
  251. KCONFIG:=CONFIG_GPIO_PCA953X
  252. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
  253. AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
  254. endef
  255. define KernelPackage/gpio-pca953x/description
  256. Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
  257. PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
  258. endef
  259. $(eval $(call KernelPackage,gpio-pca953x))
  260. define KernelPackage/gpio-pcf857x
  261. SUBMENU:=$(OTHER_MENU)
  262. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
  263. TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
  264. KCONFIG:=CONFIG_GPIO_PCF857X
  265. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
  266. AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
  267. endef
  268. define KernelPackage/gpio-pcf857x/description
  269. Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
  270. endef
  271. $(eval $(call KernelPackage,gpio-pcf857x))
  272. define KernelPackage/gpio-it87
  273. SUBMENU:=$(OTHER_MENU)
  274. DEPENDS:=@GPIO_SUPPORT @TARGET_x86
  275. TITLE:=GPIO support for IT87xx Super I/O chips
  276. KCONFIG:=CONFIG_GPIO_IT87
  277. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-it87.ko
  278. AUTOLOAD:=$(call AutoLoad,25,gpio-it87,1)
  279. endef
  280. define KernelPackage/gpio-it87/description
  281. This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and
  282. supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as
  283. well.
  284. endef
  285. $(eval $(call KernelPackage,gpio-it87))
  286. define KernelPackage/gpio-amd-fch
  287. SUBMENU:=$(OTHER_MENU)
  288. DEPENDS:=@GPIO_SUPPORT @TARGET_x86
  289. TITLE:=GPIO support for AMD Fusion Controller Hub (G-series SOCs)
  290. KCONFIG:=CONFIG_GPIO_AMD_FCH
  291. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-amd-fch.ko
  292. AUTOLOAD:=$(call AutoLoad,25,gpio-amd-fch,1)
  293. endef
  294. define KernelPackage/gpio-amd-fch/description
  295. This option enables driver for GPIO on AMDs Fusion Controller Hub,
  296. as found on G-series SOCs (eg. GX-412TC)
  297. endef
  298. $(eval $(call KernelPackage,gpio-amd-fch))
  299. define KernelPackage/ppdev
  300. SUBMENU:=$(OTHER_MENU)
  301. TITLE:=Parallel port support
  302. KCONFIG:= \
  303. CONFIG_PARPORT \
  304. CONFIG_PPDEV
  305. FILES:= \
  306. $(LINUX_DIR)/drivers/parport/parport.ko \
  307. $(LINUX_DIR)/drivers/char/ppdev.ko
  308. AUTOLOAD:=$(call AutoLoad,50,parport ppdev)
  309. endef
  310. $(eval $(call KernelPackage,ppdev))
  311. define KernelPackage/parport-pc
  312. SUBMENU:=$(OTHER_MENU)
  313. TITLE:=Parallel port interface (PC-style) support
  314. DEPENDS:=+kmod-ppdev
  315. KCONFIG:= \
  316. CONFIG_KS0108=n \
  317. CONFIG_PARPORT_PC \
  318. CONFIG_PARPORT_1284=y \
  319. CONFIG_PARPORT_PC_FIFO=y \
  320. CONFIG_PARPORT_PC_PCMCIA=n \
  321. CONFIG_PARPORT_PC_SUPERIO=y \
  322. CONFIG_PARPORT_SERIAL=n \
  323. CONFIG_PARIDE=n \
  324. CONFIG_SCSI_IMM=n \
  325. CONFIG_SCSI_PPA=n
  326. FILES:= \
  327. $(LINUX_DIR)/drivers/parport/parport_pc.ko
  328. AUTOLOAD:=$(call AutoLoad,51,parport_pc)
  329. endef
  330. $(eval $(call KernelPackage,parport-pc))
  331. define KernelPackage/lp
  332. SUBMENU:=$(OTHER_MENU)
  333. TITLE:=Parallel port line printer device support
  334. DEPENDS:=+kmod-ppdev
  335. KCONFIG:= \
  336. CONFIG_PRINTER
  337. FILES:= \
  338. $(LINUX_DIR)/drivers/char/lp.ko
  339. AUTOLOAD:=$(call AutoLoad,52,lp)
  340. endef
  341. $(eval $(call KernelPackage,lp))
  342. define KernelPackage/mmc
  343. SUBMENU:=$(OTHER_MENU)
  344. TITLE:=MMC/SD Card Support
  345. DEPENDS:=@!TARGET_uml
  346. KCONFIG:= \
  347. CONFIG_MMC \
  348. CONFIG_MMC_BLOCK \
  349. CONFIG_MMC_DEBUG=n \
  350. CONFIG_MMC_UNSAFE_RESUME=n \
  351. CONFIG_MMC_TIFM_SD=n \
  352. CONFIG_MMC_WBSD=n \
  353. CONFIG_SDIO_UART=n
  354. FILES:= \
  355. $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
  356. $(LINUX_DIR)/drivers/mmc/core/mmc_block.ko
  357. AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
  358. endef
  359. define KernelPackage/mmc/description
  360. Kernel support for MMC/SD cards
  361. endef
  362. $(eval $(call KernelPackage,mmc))
  363. define KernelPackage/sdhci
  364. SUBMENU:=$(OTHER_MENU)
  365. TITLE:=Secure Digital Host Controller Interface support
  366. DEPENDS:=+kmod-mmc
  367. KCONFIG:= \
  368. CONFIG_MMC_SDHCI \
  369. CONFIG_MMC_SDHCI_PLTFM \
  370. CONFIG_MMC_SDHCI_PCI=n
  371. FILES:= \
  372. $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
  373. $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
  374. AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
  375. endef
  376. define KernelPackage/sdhci/description
  377. Kernel support for SDHCI Hosts
  378. endef
  379. $(eval $(call KernelPackage,sdhci))
  380. define KernelPackage/rfkill
  381. SUBMENU:=$(OTHER_MENU)
  382. TITLE:=RF switch subsystem support
  383. DEPENDS:=@USE_RFKILL +kmod-input-core
  384. KCONFIG:= \
  385. CONFIG_RFKILL_FULL \
  386. CONFIG_RFKILL_INPUT=y \
  387. CONFIG_RFKILL_LEDS=y
  388. FILES:= \
  389. $(LINUX_DIR)/net/rfkill/rfkill.ko
  390. AUTOLOAD:=$(call AutoLoad,20,rfkill)
  391. endef
  392. define KernelPackage/rfkill/description
  393. Say Y here if you want to have control over RF switches
  394. found on many WiFi and Bluetooth cards
  395. endef
  396. $(eval $(call KernelPackage,rfkill))
  397. define KernelPackage/softdog
  398. SUBMENU:=$(OTHER_MENU)
  399. TITLE:=Software watchdog driver
  400. KCONFIG:=CONFIG_SOFT_WATCHDOG \
  401. CONFIG_SOFT_WATCHDOG_PRETIMEOUT=n
  402. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
  403. AUTOLOAD:=$(call AutoLoad,50,softdog,1)
  404. endef
  405. define KernelPackage/softdog/description
  406. Software watchdog driver
  407. endef
  408. $(eval $(call KernelPackage,softdog))
  409. define KernelPackage/ssb
  410. SUBMENU:=$(OTHER_MENU)
  411. TITLE:=Silicon Sonics Backplane glue code
  412. DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm63xx
  413. KCONFIG:=\
  414. CONFIG_SSB \
  415. CONFIG_SSB_B43_PCI_BRIDGE=y \
  416. CONFIG_SSB_DRIVER_MIPS=n \
  417. CONFIG_SSB_DRIVER_PCICORE=y \
  418. CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
  419. CONFIG_SSB_PCIHOST=y \
  420. CONFIG_SSB_PCIHOST_POSSIBLE=y \
  421. CONFIG_SSB_POSSIBLE=y \
  422. CONFIG_SSB_SPROM=y \
  423. CONFIG_SSB_SILENT=y
  424. FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
  425. AUTOLOAD:=$(call AutoLoad,18,ssb,1)
  426. endef
  427. define KernelPackage/ssb/description
  428. Silicon Sonics Backplane glue code.
  429. endef
  430. $(eval $(call KernelPackage,ssb))
  431. define KernelPackage/bcma
  432. SUBMENU:=$(OTHER_MENU)
  433. TITLE:=BCMA support
  434. DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm53xx
  435. KCONFIG:=\
  436. CONFIG_BCMA \
  437. CONFIG_BCMA_POSSIBLE=y \
  438. CONFIG_BCMA_BLOCKIO=y \
  439. CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
  440. CONFIG_BCMA_HOST_PCI=y \
  441. CONFIG_BCMA_HOST_SOC=n \
  442. CONFIG_BCMA_DRIVER_MIPS=n \
  443. CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
  444. CONFIG_BCMA_DRIVER_GMAC_CMN=n \
  445. CONFIG_BCMA_DEBUG=n
  446. FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
  447. AUTOLOAD:=$(call AutoLoad,29,bcma)
  448. endef
  449. define KernelPackage/bcma/description
  450. Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
  451. endef
  452. $(eval $(call KernelPackage,bcma))
  453. define KernelPackage/rtc-ds1307
  454. SUBMENU:=$(OTHER_MENU)
  455. TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
  456. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  457. DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c +kmod-hwmon-core
  458. KCONFIG:=CONFIG_RTC_DRV_DS1307 \
  459. CONFIG_RTC_CLASS=y
  460. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
  461. AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
  462. endef
  463. define KernelPackage/rtc-ds1307/description
  464. Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
  465. Epson RX-8025 and various other compatible RTC chips connected via I2C.
  466. endef
  467. $(eval $(call KernelPackage,rtc-ds1307))
  468. define KernelPackage/rtc-ds1374
  469. SUBMENU:=$(OTHER_MENU)
  470. TITLE:=Dallas/Maxim DS1374 RTC support
  471. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  472. DEPENDS:=+kmod-i2c-core
  473. KCONFIG:=CONFIG_RTC_DRV_DS1374 \
  474. CONFIG_RTC_DRV_DS1374_WDT=n \
  475. CONFIG_RTC_CLASS=y
  476. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
  477. AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
  478. endef
  479. define KernelPackage/rtc-ds1374/description
  480. Kernel module for Dallas/Maxim DS1374.
  481. endef
  482. $(eval $(call KernelPackage,rtc-ds1374))
  483. define KernelPackage/rtc-ds1672
  484. SUBMENU:=$(OTHER_MENU)
  485. TITLE:=Dallas/Maxim DS1672 RTC support
  486. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  487. DEPENDS:=+kmod-i2c-core
  488. KCONFIG:=CONFIG_RTC_DRV_DS1672 \
  489. CONFIG_RTC_CLASS=y
  490. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
  491. AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
  492. endef
  493. define KernelPackage/rtc-ds1672/description
  494. Kernel module for Dallas/Maxim DS1672 RTC.
  495. endef
  496. $(eval $(call KernelPackage,rtc-ds1672))
  497. define KernelPackage/rtc-em3027
  498. SUBMENU:=$(OTHER_MENU)
  499. TITLE:=Microelectronic EM3027 RTC support
  500. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  501. DEPENDS:=+kmod-i2c-core
  502. KCONFIG:=CONFIG_RTC_DRV_EM3027 \
  503. CONFIG_RTC_CLASS=y
  504. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-em3027.ko
  505. AUTOLOAD:=$(call AutoProbe,rtc-em3027)
  506. endef
  507. define KernelPackage/rtc-em3027/description
  508. Kernel module for Microelectronic EM3027 RTC.
  509. endef
  510. $(eval $(call KernelPackage,rtc-em3027))
  511. define KernelPackage/rtc-isl1208
  512. SUBMENU:=$(OTHER_MENU)
  513. TITLE:=Intersil ISL1208 RTC support
  514. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  515. DEPENDS:=+kmod-i2c-core
  516. KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
  517. CONFIG_RTC_CLASS=y
  518. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
  519. AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
  520. endef
  521. define KernelPackage/rtc-isl1208/description
  522. Kernel module for Intersil ISL1208 RTC.
  523. endef
  524. $(eval $(call KernelPackage,rtc-isl1208))
  525. define KernelPackage/rtc-pcf8563
  526. SUBMENU:=$(OTHER_MENU)
  527. TITLE:=Philips PCF8563/Epson RTC8564 RTC support
  528. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  529. DEPENDS:=+kmod-i2c-core
  530. KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
  531. CONFIG_RTC_CLASS=y
  532. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
  533. AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
  534. endef
  535. define KernelPackage/rtc-pcf8563/description
  536. Kernel module for Philips PCF8563 RTC chip.
  537. The Epson RTC8564 should work as well.
  538. endef
  539. $(eval $(call KernelPackage,rtc-pcf8563))
  540. define KernelPackage/rtc-pcf2123
  541. SUBMENU:=$(OTHER_MENU)
  542. TITLE:=Philips PCF2123 RTC support
  543. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  544. DEPENDS:=+kmod-regmap-spi
  545. KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
  546. CONFIG_RTC_CLASS=y
  547. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
  548. AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
  549. endef
  550. define KernelPackage/rtc-pcf2123/description
  551. Kernel module for Philips PCF2123 RTC chip
  552. endef
  553. $(eval $(call KernelPackage,rtc-pcf2123))
  554. define KernelPackage/rtc-pcf2127
  555. SUBMENU:=$(OTHER_MENU)
  556. TITLE:=NXP PCF2127 and PCF2129 RTC support
  557. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  558. DEPENDS:=+kmod-i2c-core +kmod-regmap-spi
  559. KCONFIG:=CONFIG_RTC_DRV_PCF2127 \
  560. CONFIG_RTC_CLASS=y
  561. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2127.ko
  562. AUTOLOAD:=$(call AutoProbe,rtc-pcf2127)
  563. endef
  564. define KernelPackage/rtc-pcf2127/description
  565. Kernel module for NXP PCF2127 and PCF2129 RTC chip
  566. endef
  567. $(eval $(call KernelPackage,rtc-pcf2127))
  568. define KernelPackage/rtc-rs5c372a
  569. SUBMENU:=$(OTHER_MENU)
  570. TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
  571. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  572. DEPENDS:=+kmod-i2c-core
  573. KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
  574. CONFIG_RTC_CLASS=y
  575. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
  576. AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
  577. endef
  578. define KernelPackage/rtc-rs5c372a/description
  579. Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
  580. endef
  581. $(eval $(call KernelPackage,rtc-rs5c372a))
  582. define KernelPackage/rtc-rx8025
  583. SUBMENU:=$(OTHER_MENU)
  584. TITLE:=Epson RX-8025 / RX-8035
  585. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  586. DEPENDS:=+kmod-i2c-core
  587. KCONFIG:=CONFIG_RTC_DRV_RX8025 \
  588. CONFIG_RTC_CLASS=y
  589. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rx8025.ko
  590. AUTOLOAD:=$(call AutoLoad,50,rtc-rx8025,1)
  591. endef
  592. define KernelPackage/rtc-rx8025/description
  593. Kernel module for Epson RX-8025 and RX-8035 I2C RTC chip
  594. endef
  595. $(eval $(call KernelPackage,rtc-rx8025))
  596. define KernelPackage/rtc-s35390a
  597. SUBMENU:=$(OTHER_MENU)
  598. TITLE:=Seico S-35390A
  599. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  600. DEPENDS:=+kmod-i2c-core
  601. KCONFIG:=CONFIG_RTC_DRV_S35390A \
  602. CONFIG_RTC_CLASS=y
  603. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-s35390a.ko
  604. AUTOLOAD:=$(call AutoLoad,50,rtc-s35390a,1)
  605. endef
  606. define KernelPackage/rtc-s35390a/description
  607. Kernel module for Seiko Instruments S-35390A I2C RTC chip
  608. endef
  609. $(eval $(call KernelPackage,rtc-s35390a))
  610. define KernelPackage/mtdtests
  611. SUBMENU:=$(OTHER_MENU)
  612. TITLE:=MTD subsystem tests
  613. KCONFIG:=CONFIG_MTD_TESTS
  614. FILES:=\
  615. $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
  616. $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
  617. $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
  618. $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
  619. $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
  620. $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
  621. $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
  622. $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
  623. endef
  624. define KernelPackage/mtdtests/description
  625. Kernel modules for MTD subsystem/driver testing
  626. endef
  627. $(eval $(call KernelPackage,mtdtests))
  628. define KernelPackage/mtdoops
  629. SUBMENU:=$(OTHER_MENU)
  630. TITLE:=Log panic/oops to an MTD buffer
  631. KCONFIG:=CONFIG_MTD_OOPS
  632. FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
  633. endef
  634. define KernelPackage/mtdoops/description
  635. Kernel modules for Log panic/oops to an MTD buffer
  636. endef
  637. $(eval $(call KernelPackage,mtdoops))
  638. define KernelPackage/mtdram
  639. SUBMENU:=$(OTHER_MENU)
  640. TITLE:=Test MTD driver using RAM
  641. KCONFIG:=CONFIG_MTD_MTDRAM \
  642. CONFIG_MTDRAM_TOTAL_SIZE=4096 \
  643. CONFIG_MTDRAM_ERASE_SIZE=128
  644. FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
  645. endef
  646. define KernelPackage/mtdram/description
  647. Test MTD driver using RAM
  648. endef
  649. $(eval $(call KernelPackage,mtdram))
  650. define KernelPackage/ramoops
  651. SUBMENU:=$(OTHER_MENU)
  652. TITLE:=Ramoops (pstore-ram)
  653. DEFAULT:=m if ALL_KMODS
  654. KCONFIG:=CONFIG_PSTORE_RAM
  655. DEPENDS:=+kmod-pstore +kmod-reed-solomon
  656. FILES:= $(LINUX_DIR)/fs/pstore/ramoops.ko
  657. AUTOLOAD:=$(call AutoLoad,30,ramoops,1)
  658. endef
  659. define KernelPackage/ramoops/description
  660. Kernel module for pstore-ram (ramoops) crash log storage
  661. endef
  662. $(eval $(call KernelPackage,ramoops))
  663. define KernelPackage/reed-solomon
  664. SUBMENU:=$(OTHER_MENU)
  665. TITLE:=Reed-Solomon error correction
  666. DEFAULT:=m if ALL_KMODS
  667. KCONFIG:=CONFIG_REED_SOLOMON \
  668. CONFIG_REED_SOLOMON_DEC8=y \
  669. CONFIG_REED_SOLOMON_ENC8=y
  670. FILES:= $(LINUX_DIR)/lib/reed_solomon/reed_solomon.ko
  671. AUTOLOAD:=$(call AutoLoad,30,reed_solomon,1)
  672. endef
  673. define KernelPackage/reed-solomon/description
  674. Kernel module for Reed-Solomon error correction
  675. endef
  676. $(eval $(call KernelPackage,reed-solomon))
  677. define KernelPackage/serial-8250
  678. SUBMENU:=$(OTHER_MENU)
  679. TITLE:=8250 UARTs
  680. KCONFIG:= CONFIG_SERIAL_8250 \
  681. CONFIG_SERIAL_8250_PCI \
  682. CONFIG_SERIAL_8250_NR_UARTS=16 \
  683. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  684. CONFIG_SERIAL_8250_EXTENDED=y \
  685. CONFIG_SERIAL_8250_MANY_PORTS=y \
  686. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  687. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  688. CONFIG_SERIAL_8250_RSA=n
  689. FILES:= \
  690. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  691. $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko \
  692. $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko) \
  693. $(if $(CONFIG_GPIOLIB),$(LINUX_DIR)/drivers/tty/serial/serial_mctrl_gpio.ko)
  694. AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
  695. endef
  696. define KernelPackage/serial-8250/description
  697. Kernel module for 8250 UART based serial ports
  698. endef
  699. $(eval $(call KernelPackage,serial-8250))
  700. define KernelPackage/serial-8250-exar
  701. SUBMENU:=$(OTHER_MENU)
  702. TITLE:=Exar 8250 UARTs
  703. KCONFIG:= CONFIG_SERIAL_8250_EXAR
  704. FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
  705. AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
  706. DEPENDS:=+kmod-serial-8250
  707. endef
  708. define KernelPackage/serial-8250-exar/description
  709. Kernel module for Exar serial ports
  710. endef
  711. $(eval $(call KernelPackage,serial-8250-exar))
  712. define KernelPackage/regmap-core
  713. SUBMENU:=$(OTHER_MENU)
  714. TITLE:=Generic register map support
  715. HIDDEN:=1
  716. KCONFIG:=CONFIG_REGMAP
  717. ifneq ($(wildcard $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko),)
  718. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
  719. endif
  720. endef
  721. define KernelPackage/regmap-core/description
  722. Generic register map support
  723. endef
  724. $(eval $(call KernelPackage,regmap-core))
  725. define KernelPackage/regmap-spi
  726. SUBMENU:=$(OTHER_MENU)
  727. TITLE:=SPI register map support
  728. DEPENDS:=+kmod-regmap-core
  729. HIDDEN:=1
  730. KCONFIG:=CONFIG_REGMAP_SPI \
  731. CONFIG_SPI=y
  732. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko
  733. endef
  734. define KernelPackage/regmap-spi/description
  735. SPI register map support
  736. endef
  737. $(eval $(call KernelPackage,regmap-spi))
  738. define KernelPackage/regmap-i2c
  739. SUBMENU:=$(OTHER_MENU)
  740. TITLE:=I2C register map support
  741. DEPENDS:=+kmod-regmap-core +kmod-i2c-core
  742. HIDDEN:=1
  743. KCONFIG:=CONFIG_REGMAP_I2C
  744. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko
  745. endef
  746. define KernelPackage/regmap-i2c/description
  747. I2C register map support
  748. endef
  749. $(eval $(call KernelPackage,regmap-i2c))
  750. define KernelPackage/regmap-mmio
  751. SUBMENU:=$(OTHER_MENU)
  752. TITLE:=MMIO register map support
  753. DEPENDS:=+kmod-regmap-core
  754. HIDDEN:=1
  755. KCONFIG:=CONFIG_REGMAP_MMIO
  756. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko
  757. endef
  758. define KernelPackage/regmap-mmio/description
  759. MMIO register map support
  760. endef
  761. $(eval $(call KernelPackage,regmap-mmio))
  762. define KernelPackage/ikconfig
  763. SUBMENU:=$(OTHER_MENU)
  764. TITLE:=Kernel configuration via /proc/config.gz
  765. KCONFIG:=CONFIG_IKCONFIG \
  766. CONFIG_IKCONFIG_PROC=y
  767. FILES:=$(LINUX_DIR)/kernel/configs.ko
  768. AUTOLOAD:=$(call AutoLoad,70,configs)
  769. endef
  770. define KernelPackage/ikconfig/description
  771. Kernel configuration via /proc/config.gz
  772. endef
  773. $(eval $(call KernelPackage,ikconfig))
  774. define KernelPackage/zram
  775. SUBMENU:=$(OTHER_MENU)
  776. TITLE:=ZRAM
  777. KCONFIG:= \
  778. CONFIG_ZSMALLOC \
  779. CONFIG_ZRAM \
  780. CONFIG_ZRAM_DEBUG=n \
  781. CONFIG_ZRAM_WRITEBACK=n \
  782. CONFIG_ZSMALLOC_STAT=n
  783. FILES:= \
  784. $(LINUX_DIR)/mm/zsmalloc.ko \
  785. $(LINUX_DIR)/drivers/block/zram/zram.ko
  786. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  787. endef
  788. define KernelPackage/zram/description
  789. Compressed RAM block device support
  790. endef
  791. define KernelPackage/zram/config
  792. choice
  793. prompt "ZRAM Default compressor"
  794. default ZRAM_DEF_COMP_LZORLE
  795. config ZRAM_DEF_COMP_LZORLE
  796. bool "lzo-rle"
  797. select PACKAGE_kmod-lib-lzo
  798. config ZRAM_DEF_COMP_LZO
  799. bool "lzo"
  800. select PACKAGE_kmod-lib-lzo
  801. config ZRAM_DEF_COMP_LZ4
  802. bool "lz4"
  803. select PACKAGE_kmod-lib-lz4
  804. config ZRAM_DEF_COMP_ZSTD
  805. bool "zstd"
  806. select PACKAGE_kmod-lib-zstd
  807. endchoice
  808. endef
  809. $(eval $(call KernelPackage,zram))
  810. define KernelPackage/pps
  811. SUBMENU:=$(OTHER_MENU)
  812. TITLE:=PPS support
  813. KCONFIG:=CONFIG_PPS
  814. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  815. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  816. endef
  817. define KernelPackage/pps/description
  818. PPS (Pulse Per Second) is a special pulse provided by some GPS
  819. antennae. Userland can use it to get a high-precision time
  820. reference.
  821. endef
  822. $(eval $(call KernelPackage,pps))
  823. define KernelPackage/pps-gpio
  824. SUBMENU:=$(OTHER_MENU)
  825. TITLE:=PPS client using GPIO
  826. DEPENDS:=+kmod-pps
  827. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  828. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  829. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  830. endef
  831. define KernelPackage/pps-gpio/description
  832. Support for a PPS source using GPIO. To be useful you must
  833. also register a platform device specifying the GPIO pin and
  834. other options, usually in your board setup.
  835. endef
  836. $(eval $(call KernelPackage,pps-gpio))
  837. define KernelPackage/pps-ldisc
  838. SUBMENU:=$(OTHER_MENU)
  839. TITLE:=PPS line discipline
  840. DEPENDS:=+kmod-pps
  841. KCONFIG:=CONFIG_PPS_CLIENT_LDISC
  842. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
  843. AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
  844. endef
  845. define KernelPackage/pps-ldisc/description
  846. Support for a PPS source connected with the CD (Carrier
  847. Detect) pin of your serial port.
  848. endef
  849. $(eval $(call KernelPackage,pps-ldisc))
  850. define KernelPackage/ptp
  851. SUBMENU:=$(OTHER_MENU)
  852. TITLE:=PTP clock support
  853. DEPENDS:=+kmod-pps
  854. KCONFIG:= \
  855. CONFIG_PTP_1588_CLOCK \
  856. CONFIG_NET_PTP_CLASSIFY=y
  857. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  858. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  859. endef
  860. define KernelPackage/ptp/description
  861. The IEEE 1588 standard defines a method to precisely
  862. synchronize distributed clocks over Ethernet networks.
  863. endef
  864. $(eval $(call KernelPackage,ptp))
  865. define KernelPackage/ptp-qoriq
  866. SUBMENU:=$(OTHER_MENU)
  867. TITLE:=Freescale QorIQ PTP support
  868. DEPENDS:=@(TARGET_mpc85xx||TARGET_qoriq) +kmod-ptp
  869. KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ
  870. FILES:=$(LINUX_DIR)/drivers/ptp/ptp-qoriq.ko
  871. AUTOLOAD:=$(call AutoProbe,ptp-qoriq)
  872. endef
  873. define KernelPackage/ptp-qoriq/description
  874. Kernel module for IEEE 1588 support for Freescale
  875. QorIQ Ethernet drivers
  876. endef
  877. $(eval $(call KernelPackage,ptp-qoriq))
  878. define KernelPackage/random-core
  879. SUBMENU:=$(OTHER_MENU)
  880. TITLE:=Hardware Random Number Generator Core support
  881. KCONFIG:=CONFIG_HW_RANDOM
  882. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  883. endef
  884. define KernelPackage/random-core/description
  885. Kernel module for the HW random number generator core infrastructure
  886. endef
  887. $(eval $(call KernelPackage,random-core))
  888. define KernelPackage/thermal
  889. SUBMENU:=$(OTHER_MENU)
  890. TITLE:=Thermal driver
  891. DEPENDS:=+kmod-hwmon-core
  892. HIDDEN:=1
  893. KCONFIG:= \
  894. CONFIG_THERMAL=y \
  895. CONFIG_THERMAL_OF=y \
  896. CONFIG_CPU_THERMAL=y \
  897. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  898. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  899. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  900. CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
  901. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  902. CONFIG_THERMAL_GOV_STEP_WISE=y \
  903. CONFIG_THERMAL_GOV_USER_SPACE=n \
  904. CONFIG_THERMAL_HWMON=y \
  905. CONFIG_THERMAL_EMULATION=n
  906. endef
  907. define KernelPackage/thermal/description
  908. Thermal driver offers a generic mechanism for thermal management.
  909. Usually it's made up of one or more thermal zone and cooling device.
  910. endef
  911. $(eval $(call KernelPackage,thermal))
  912. define KernelPackage/gpio-beeper
  913. SUBMENU:=$(OTHER_MENU)
  914. TITLE:=GPIO beeper support
  915. DEPENDS:=+kmod-input-core
  916. KCONFIG:= \
  917. CONFIG_INPUT_MISC=y \
  918. CONFIG_INPUT_GPIO_BEEPER
  919. FILES:= \
  920. $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
  921. AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
  922. endef
  923. define KernelPackage/gpio-beeper/description
  924. This enables playing beeps through an GPIO-connected buzzer
  925. endef
  926. $(eval $(call KernelPackage,gpio-beeper))
  927. define KernelPackage/echo
  928. SUBMENU:=$(OTHER_MENU)
  929. TITLE:=Line Echo Canceller
  930. KCONFIG:=CONFIG_ECHO
  931. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  932. AUTOLOAD:=$(call AutoLoad,50,echo)
  933. endef
  934. define KernelPackage/echo/description
  935. This driver provides line echo cancelling support for mISDN and
  936. DAHDI drivers
  937. endef
  938. $(eval $(call KernelPackage,echo))
  939. define KernelPackage/keys-encrypted
  940. SUBMENU:=$(OTHER_MENU)
  941. TITLE:=encrypted keys on kernel keyring
  942. DEPENDS:=@KERNEL_KEYS +kmod-crypto-cbc +kmod-crypto-hmac +kmod-crypto-rng \
  943. +kmod-crypto-sha256 +kmod-keys-trusted
  944. KCONFIG:=CONFIG_ENCRYPTED_KEYS
  945. FILES:=$(LINUX_DIR)/security/keys/encrypted-keys/encrypted-keys.ko
  946. AUTOLOAD:=$(call AutoLoad,01,encrypted-keys,1)
  947. endef
  948. define KernelPackage/keys-encrypted/description
  949. This module provides support for create/encrypting/decrypting keys
  950. in the kernel. Encrypted keys are kernel generated random numbers,
  951. which are encrypted/decrypted with a 'master' symmetric key. The
  952. 'master' key can be either a trusted-key or user-key type.
  953. Userspace only ever sees/stores encrypted blobs.
  954. endef
  955. $(eval $(call KernelPackage,keys-encrypted))
  956. define KernelPackage/keys-trusted
  957. SUBMENU:=$(OTHER_MENU)
  958. TITLE:=TPM trusted keys on kernel keyring
  959. DEPENDS:=@KERNEL_KEYS +kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha1 +kmod-tpm
  960. KCONFIG:=CONFIG_TRUSTED_KEYS
  961. FILES:= $(LINUX_DIR)/security/keys/trusted-keys/trusted.ko
  962. AUTOLOAD:=$(call AutoLoad,01,trusted-keys,1)
  963. endef
  964. define KernelPackage/keys-trusted/description
  965. This module provides support for creating, sealing, and unsealing
  966. keys in the kernel. Trusted keys are random number symmetric keys,
  967. generated and RSA-sealed by the TPM. The TPM only unseals the keys,
  968. if the boot PCRs and other criteria match. Userspace will only ever
  969. see encrypted blobs.
  970. endef
  971. $(eval $(call KernelPackage,keys-trusted))
  972. define KernelPackage/tpm
  973. SUBMENU:=$(OTHER_MENU)
  974. TITLE:=TPM Hardware Support
  975. DEPENDS:= +kmod-random-core +(LINUX_5_15):kmod-asn1-decoder \
  976. +(LINUX_5_15):kmod-asn1-encoder +(LINUX_5_15):kmod-oid-registry
  977. KCONFIG:= CONFIG_TCG_TPM
  978. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
  979. AUTOLOAD:=$(call AutoLoad,10,tpm,1)
  980. endef
  981. define KernelPackage/tpm/description
  982. This enables TPM Hardware Support.
  983. endef
  984. $(eval $(call KernelPackage,tpm))
  985. define KernelPackage/tpm-tis
  986. SUBMENU:=$(OTHER_MENU)
  987. TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
  988. DEPENDS:= @TARGET_x86 +kmod-tpm
  989. KCONFIG:= CONFIG_TCG_TIS
  990. FILES:= \
  991. $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
  992. $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
  993. AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
  994. endef
  995. define KernelPackage/tpm-tis/description
  996. If you have a TPM security chip that is compliant with the
  997. TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
  998. specification (TPM2.0) say Yes and it will be accessible from
  999. within Linux.
  1000. endef
  1001. $(eval $(call KernelPackage,tpm-tis))
  1002. define KernelPackage/tpm-i2c-atmel
  1003. SUBMENU:=$(OTHER_MENU)
  1004. TITLE:=TPM I2C Atmel Support
  1005. DEPENDS:= +kmod-tpm +kmod-i2c-core
  1006. KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
  1007. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
  1008. AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
  1009. endef
  1010. define KernelPackage/tpm-i2c-atmel/description
  1011. This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
  1012. endef
  1013. $(eval $(call KernelPackage,tpm-i2c-atmel))
  1014. define KernelPackage/tpm-i2c-infineon
  1015. SUBMENU:=$(OTHER_MENU)
  1016. TITLE:= TPM I2C Infineon driver
  1017. DEPENDS:= +kmod-tpm +kmod-i2c-core
  1018. KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
  1019. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
  1020. AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
  1021. endef
  1022. define KernelPackage/tpm-i2c-infineon/description
  1023. This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
  1024. endef
  1025. $(eval $(call KernelPackage,tpm-i2c-infineon))
  1026. define KernelPackage/i6300esb-wdt
  1027. SUBMENU:=$(OTHER_MENU)
  1028. TITLE:=Intel 6300ESB Timer/Watchdog
  1029. DEPENDS:=@PCI_SUPPORT @!SMALL_FLASH
  1030. KCONFIG:=CONFIG_I6300ESB_WDT \
  1031. CONFIG_WATCHDOG_CORE=y
  1032. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/i6300esb.ko
  1033. AUTOLOAD:=$(call AutoLoad,50,i6300esb,1)
  1034. endef
  1035. define KernelPackage/i6300esb-wdt/description
  1036. Kernel module for the watchdog timer built into the Intel
  1037. 6300ESB controller hub. Also used by QEMU/libvirt.
  1038. endef
  1039. $(eval $(call KernelPackage,i6300esb-wdt))
  1040. define KernelPackage/mhi-bus
  1041. SUBMENU:=$(OTHER_MENU)
  1042. TITLE:=MHI bus
  1043. DEPENDS:=@LINUX_5_15
  1044. KCONFIG:=CONFIG_MHI_BUS \
  1045. CONFIG_MHI_BUS_DEBUG=y
  1046. FILES:=$(LINUX_DIR)/drivers/bus/mhi/core/mhi.ko
  1047. AUTOLOAD:=$(call AutoProbe,mhi)
  1048. endef
  1049. define KernelPackage/mhi-bus/description
  1050. Kernel module for the Qualcomm MHI bus.
  1051. endef
  1052. $(eval $(call KernelPackage,mhi-bus))
  1053. define KernelPackage/mhi-pci-generic
  1054. SUBMENU:=$(OTHER_MENU)
  1055. TITLE:=MHI PCI controller driver
  1056. DEPENDS:=@LINUX_5_15 +kmod-mhi-bus
  1057. KCONFIG:=CONFIG_MHI_BUS_PCI_GENERIC
  1058. FILES:=$(LINUX_DIR)/drivers/bus/mhi/mhi_pci_generic.ko
  1059. AUTOLOAD:=$(call AutoProbe,mhi_pci_generic)
  1060. endef
  1061. define KernelPackage/mhi-pci-generic/description
  1062. Kernel module for the MHI PCI controller driver.
  1063. endef
  1064. $(eval $(call KernelPackage,mhi-pci-generic))