other.mk 33 KB

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