other.mk 34 KB

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