other.mk 34 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342
  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. $(call AddDepends/bluetooth)
  64. FILES:= \
  65. $(LINUX_DIR)/drivers/bluetooth/ath3k.ko
  66. AUTOLOAD:=$(call AutoProbe,ath3k)
  67. endef
  68. define KernelPackage/ath3k/description
  69. Kernel support for ATH3K Module
  70. endef
  71. $(eval $(call KernelPackage,ath3k))
  72. define KernelPackage/bluetooth-6lowpan
  73. SUBMENU:=$(OTHER_MENU)
  74. TITLE:=Bluetooth 6LoWPAN support
  75. DEPENDS:=+kmod-6lowpan +kmod-bluetooth
  76. KCONFIG:=CONFIG_BT_6LOWPAN
  77. FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko
  78. AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan)
  79. endef
  80. define KernelPackage/bluetooth-6lowpan/description
  81. Kernel support for 6LoWPAN over Bluetooth Low Energy devices
  82. endef
  83. $(eval $(call KernelPackage,bluetooth-6lowpan))
  84. define KernelPackage/btmrvl
  85. SUBMENU:=$(OTHER_MENU)
  86. TITLE:=Marvell Bluetooth Kernel Module support
  87. DEPENDS:=+kmod-mmc +kmod-bluetooth +mwifiex-sdio-firmware
  88. KCONFIG:= \
  89. CONFIG_BT_MRVL \
  90. CONFIG_BT_MRVL_SDIO
  91. $(call AddDepends/bluetooth)
  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/dma-buf
  102. SUBMENU:=$(OTHER_MENU)
  103. TITLE:=DMA shared buffer support
  104. HIDDEN:=1
  105. KCONFIG:=CONFIG_DMA_SHARED_BUFFER
  106. ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
  107. ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
  108. FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
  109. endif
  110. endif
  111. AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
  112. endef
  113. $(eval $(call KernelPackage,dma-buf))
  114. define KernelPackage/eeprom-93cx6
  115. SUBMENU:=$(OTHER_MENU)
  116. TITLE:=EEPROM 93CX6 support
  117. KCONFIG:=CONFIG_EEPROM_93CX6
  118. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
  119. AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
  120. endef
  121. define KernelPackage/eeprom-93cx6/description
  122. Kernel module for EEPROM 93CX6 support
  123. endef
  124. $(eval $(call KernelPackage,eeprom-93cx6))
  125. define KernelPackage/eeprom-at24
  126. SUBMENU:=$(OTHER_MENU)
  127. TITLE:=EEPROM AT24 support
  128. KCONFIG:=CONFIG_EEPROM_AT24
  129. DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c
  130. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
  131. AUTOLOAD:=$(call AutoProbe,at24)
  132. endef
  133. define KernelPackage/eeprom-at24/description
  134. Kernel module for most I2C EEPROMs
  135. endef
  136. $(eval $(call KernelPackage,eeprom-at24))
  137. define KernelPackage/eeprom-at25
  138. SUBMENU:=$(OTHER_MENU)
  139. TITLE:=EEPROM AT25 support
  140. KCONFIG:=CONFIG_EEPROM_AT25
  141. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
  142. AUTOLOAD:=$(call AutoProbe,at25)
  143. endef
  144. define KernelPackage/eeprom-at25/description
  145. Kernel module for most SPI EEPROMs
  146. endef
  147. $(eval $(call KernelPackage,eeprom-at25))
  148. define KernelPackage/google-firmware
  149. SUBMENU:=$(OTHER_MENU)
  150. TITLE:=Google firmware drivers (Coreboot, VPD, Memconsole)
  151. KCONFIG:= \
  152. CONFIG_GOOGLE_FIRMWARE=y \
  153. CONFIG_GOOGLE_COREBOOT_TABLE \
  154. CONFIG_GOOGLE_MEMCONSOLE \
  155. CONFIG_GOOGLE_MEMCONSOLE_COREBOOT \
  156. CONFIG_GOOGLE_VPD
  157. FILES:= \
  158. $(LINUX_DIR)/drivers/firmware/google/coreboot_table.ko \
  159. $(LINUX_DIR)/drivers/firmware/google/memconsole.ko \
  160. $(LINUX_DIR)/drivers/firmware/google/memconsole-coreboot.ko \
  161. $(LINUX_DIR)/drivers/firmware/google/vpd-sysfs.ko
  162. AUTOLOAD:=$(call AutoProbe,coreboot_table memconsole-coreboot vpd-sysfs)
  163. endef
  164. define KernelPackage/google-firmware/description
  165. Kernel modules for Google firmware drivers. Useful for examining firmware and
  166. boot details on devices using a Google bootloader based on Coreboot. Provides
  167. files like /sys/firmware/log and /sys/firmware/vpd.
  168. endef
  169. $(eval $(call KernelPackage,google-firmware))
  170. define KernelPackage/gpio-f7188x
  171. SUBMENU:=$(OTHER_MENU)
  172. TITLE:=Fintek F718xx/F818xx GPIO Support
  173. DEPENDS:=@GPIO_SUPPORT @TARGET_x86
  174. KCONFIG:=CONFIG_GPIO_F7188X
  175. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-f7188x.ko
  176. AUTOLOAD:=$(call AutoProbe,gpio-f7188x)
  177. endef
  178. define KernelPackage/gpio-f7188x/description
  179. Kernel module for the GPIOs found on many Fintek Super-IO chips.
  180. endef
  181. $(eval $(call KernelPackage,gpio-f7188x))
  182. define KernelPackage/gpio-mcp23s08
  183. SUBMENU:=$(OTHER_MENU)
  184. TITLE:=Microchip MCP23xxx I/O expander
  185. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +kmod-regmap-i2c
  186. KCONFIG:= \
  187. CONFIG_GPIO_MCP23S08 \
  188. CONFIG_PINCTRL_MCP23S08
  189. FILES:= \
  190. $(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko
  191. AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08)
  192. endef
  193. define KernelPackage/gpio-mcp23s08/description
  194. Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
  195. endef
  196. $(eval $(call KernelPackage,gpio-mcp23s08))
  197. define KernelPackage/gpio-nxp-74hc164
  198. SUBMENU:=$(OTHER_MENU)
  199. TITLE:=NXP 74HC164 GPIO expander support
  200. KCONFIG:=CONFIG_GPIO_74X164
  201. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-74x164.ko
  202. AUTOLOAD:=$(call AutoProbe,gpio-74x164)
  203. endef
  204. define KernelPackage/gpio-nxp-74hc164/description
  205. Kernel module for NXP 74HC164 GPIO expander
  206. endef
  207. $(eval $(call KernelPackage,gpio-nxp-74hc164))
  208. define KernelPackage/gpio-pca953x
  209. SUBMENU:=$(OTHER_MENU)
  210. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +kmod-regmap-i2c
  211. TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
  212. KCONFIG:=CONFIG_GPIO_PCA953X
  213. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
  214. AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
  215. endef
  216. define KernelPackage/gpio-pca953x/description
  217. Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
  218. PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
  219. endef
  220. $(eval $(call KernelPackage,gpio-pca953x))
  221. define KernelPackage/gpio-pcf857x
  222. SUBMENU:=$(OTHER_MENU)
  223. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
  224. TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
  225. KCONFIG:=CONFIG_GPIO_PCF857X
  226. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
  227. AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
  228. endef
  229. define KernelPackage/gpio-pcf857x/description
  230. Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
  231. endef
  232. $(eval $(call KernelPackage,gpio-pcf857x))
  233. define KernelPackage/gpio-it87
  234. SUBMENU:=$(OTHER_MENU)
  235. DEPENDS:=@GPIO_SUPPORT @TARGET_x86
  236. TITLE:=GPIO support for IT87xx Super I/O chips
  237. KCONFIG:=CONFIG_GPIO_IT87
  238. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-it87.ko
  239. AUTOLOAD:=$(call AutoLoad,25,gpio-it87,1)
  240. endef
  241. define KernelPackage/gpio-it87/description
  242. This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and
  243. supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as
  244. well.
  245. endef
  246. $(eval $(call KernelPackage,gpio-it87))
  247. define KernelPackage/gpio-amd-fch
  248. SUBMENU:=$(OTHER_MENU)
  249. DEPENDS:=@GPIO_SUPPORT @TARGET_x86
  250. TITLE:=GPIO support for AMD Fusion Controller Hub (G-series SOCs)
  251. KCONFIG:=CONFIG_GPIO_AMD_FCH
  252. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-amd-fch.ko
  253. AUTOLOAD:=$(call AutoLoad,25,gpio-amd-fch,1)
  254. endef
  255. define KernelPackage/gpio-amd-fch/description
  256. This option enables driver for GPIO on AMDs Fusion Controller Hub,
  257. as found on G-series SOCs (eg. GX-412TC)
  258. endef
  259. $(eval $(call KernelPackage,gpio-amd-fch))
  260. define KernelPackage/ppdev
  261. SUBMENU:=$(OTHER_MENU)
  262. TITLE:=Parallel port support
  263. KCONFIG:= \
  264. CONFIG_PARPORT \
  265. CONFIG_PPDEV
  266. FILES:= \
  267. $(LINUX_DIR)/drivers/parport/parport.ko \
  268. $(LINUX_DIR)/drivers/char/ppdev.ko
  269. AUTOLOAD:=$(call AutoLoad,50,parport ppdev)
  270. endef
  271. $(eval $(call KernelPackage,ppdev))
  272. define KernelPackage/parport-pc
  273. SUBMENU:=$(OTHER_MENU)
  274. TITLE:=Parallel port interface (PC-style) support
  275. DEPENDS:=+kmod-ppdev
  276. KCONFIG:= \
  277. CONFIG_KS0108=n \
  278. CONFIG_PARPORT_PC \
  279. CONFIG_PARPORT_1284=y \
  280. CONFIG_PARPORT_PC_FIFO=y \
  281. CONFIG_PARPORT_PC_PCMCIA=n \
  282. CONFIG_PARPORT_PC_SUPERIO=y \
  283. CONFIG_PARPORT_SERIAL=n \
  284. CONFIG_PARIDE=n \
  285. CONFIG_SCSI_IMM=n \
  286. CONFIG_SCSI_PPA=n
  287. FILES:= \
  288. $(LINUX_DIR)/drivers/parport/parport_pc.ko
  289. AUTOLOAD:=$(call AutoLoad,51,parport_pc)
  290. endef
  291. $(eval $(call KernelPackage,parport-pc))
  292. define KernelPackage/lp
  293. SUBMENU:=$(OTHER_MENU)
  294. TITLE:=Parallel port line printer device support
  295. DEPENDS:=+kmod-ppdev
  296. KCONFIG:= \
  297. CONFIG_PRINTER
  298. FILES:= \
  299. $(LINUX_DIR)/drivers/char/lp.ko
  300. AUTOLOAD:=$(call AutoLoad,52,lp)
  301. endef
  302. $(eval $(call KernelPackage,lp))
  303. define KernelPackage/mmc
  304. SUBMENU:=$(OTHER_MENU)
  305. TITLE:=MMC/SD Card Support
  306. DEPENDS:=@!TARGET_uml
  307. KCONFIG:= \
  308. CONFIG_MMC \
  309. CONFIG_MMC_BLOCK \
  310. CONFIG_MMC_DEBUG=n \
  311. CONFIG_MMC_UNSAFE_RESUME=n \
  312. CONFIG_MMC_BLOCK_BOUNCE=y \
  313. CONFIG_MMC_TIFM_SD=n \
  314. CONFIG_MMC_WBSD=n \
  315. CONFIG_SDIO_UART=n
  316. FILES:= \
  317. $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
  318. $(LINUX_DIR)/drivers/mmc/core/mmc_block.ko
  319. AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
  320. endef
  321. define KernelPackage/mmc/description
  322. Kernel support for MMC/SD cards
  323. endef
  324. $(eval $(call KernelPackage,mmc))
  325. define KernelPackage/mvsdio
  326. SUBMENU:=$(OTHER_MENU)
  327. TITLE:=Marvell MMC/SD/SDIO host driver
  328. DEPENDS:=+kmod-mmc @TARGET_kirkwood
  329. KCONFIG:= CONFIG_MMC_MVSDIO
  330. FILES:= \
  331. $(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
  332. AUTOLOAD:=$(call AutoProbe,mvsdio,1)
  333. endef
  334. define KernelPackage/mvsdio/description
  335. Kernel support for the Marvell SDIO host driver.
  336. endef
  337. $(eval $(call KernelPackage,mvsdio))
  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-pt7c4338
  544. SUBMENU:=$(OTHER_MENU)
  545. TITLE:=Pericom PT7C4338 RTC support
  546. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  547. DEPENDS:=+kmod-i2c-core
  548. KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
  549. CONFIG_RTC_CLASS=y
  550. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
  551. AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
  552. endef
  553. define KernelPackage/rtc-pt7c4338/description
  554. Kernel module for Pericom PT7C4338 i2c RTC chip
  555. endef
  556. $(eval $(call KernelPackage,rtc-pt7c4338))
  557. define KernelPackage/rtc-rs5c372a
  558. SUBMENU:=$(OTHER_MENU)
  559. TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
  560. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  561. DEPENDS:=+kmod-i2c-core
  562. KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
  563. CONFIG_RTC_CLASS=y
  564. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
  565. AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
  566. endef
  567. define KernelPackage/rtc-rs5c372a/description
  568. Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
  569. endef
  570. $(eval $(call KernelPackage,rtc-rs5c372a))
  571. define KernelPackage/rtc-rx8025
  572. SUBMENU:=$(OTHER_MENU)
  573. TITLE:=Epson RX-8025 / RX-8035
  574. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  575. DEPENDS:=+kmod-i2c-core
  576. KCONFIG:=CONFIG_RTC_DRV_RX8025 \
  577. CONFIG_RTC_CLASS=y
  578. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rx8025.ko
  579. AUTOLOAD:=$(call AutoLoad,50,rtc-rx8025,1)
  580. endef
  581. define KernelPackage/rtc-rx8025/description
  582. Kernel module for Epson RX-8025 and RX-8035 I2C RTC chip
  583. endef
  584. $(eval $(call KernelPackage,rtc-rx8025))
  585. define KernelPackage/rtc-s35390a
  586. SUBMENU:=$(OTHER_MENU)
  587. TITLE:=Seico S-35390A
  588. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  589. DEPENDS:=+kmod-i2c-core
  590. KCONFIG:=CONFIG_RTC_DRV_S35390A \
  591. CONFIG_RTC_CLASS=y
  592. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-s35390a.ko
  593. AUTOLOAD:=$(call AutoLoad,50,rtc-s35390a,1)
  594. endef
  595. define KernelPackage/rtc-s35390a/description
  596. Kernel module for Seiko Instruments S-35390A I2C RTC chip
  597. endef
  598. $(eval $(call KernelPackage,rtc-s35390a))
  599. define KernelPackage/mtdtests
  600. SUBMENU:=$(OTHER_MENU)
  601. TITLE:=MTD subsystem tests
  602. KCONFIG:=CONFIG_MTD_TESTS
  603. FILES:=\
  604. $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
  605. $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
  606. $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
  607. $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
  608. $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
  609. $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
  610. $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
  611. $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
  612. endef
  613. define KernelPackage/mtdtests/description
  614. Kernel modules for MTD subsystem/driver testing
  615. endef
  616. $(eval $(call KernelPackage,mtdtests))
  617. define KernelPackage/mtdoops
  618. SUBMENU:=$(OTHER_MENU)
  619. TITLE:=Log panic/oops to an MTD buffer
  620. KCONFIG:=CONFIG_MTD_OOPS
  621. FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
  622. endef
  623. define KernelPackage/mtdoops/description
  624. Kernel modules for Log panic/oops to an MTD buffer
  625. endef
  626. $(eval $(call KernelPackage,mtdoops))
  627. define KernelPackage/mtdram
  628. SUBMENU:=$(OTHER_MENU)
  629. TITLE:=Test MTD driver using RAM
  630. KCONFIG:=CONFIG_MTD_MTDRAM \
  631. CONFIG_MTDRAM_TOTAL_SIZE=4096 \
  632. CONFIG_MTDRAM_ERASE_SIZE=128
  633. FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
  634. endef
  635. define KernelPackage/mtdram/description
  636. Test MTD driver using RAM
  637. endef
  638. $(eval $(call KernelPackage,mtdram))
  639. define KernelPackage/ramoops
  640. SUBMENU:=$(OTHER_MENU)
  641. TITLE:=Ramoops (pstore-ram)
  642. DEFAULT:=m if ALL_KMODS
  643. KCONFIG:=CONFIG_PSTORE_RAM
  644. DEPENDS:=+kmod-pstore +kmod-reed-solomon
  645. FILES:= $(LINUX_DIR)/fs/pstore/ramoops.ko
  646. AUTOLOAD:=$(call AutoLoad,30,ramoops,1)
  647. endef
  648. define KernelPackage/ramoops/description
  649. Kernel module for pstore-ram (ramoops) crash log storage
  650. endef
  651. $(eval $(call KernelPackage,ramoops))
  652. define KernelPackage/reed-solomon
  653. SUBMENU:=$(OTHER_MENU)
  654. TITLE:=Reed-Solomon error correction
  655. DEFAULT:=m if ALL_KMODS
  656. KCONFIG:=CONFIG_REED_SOLOMON \
  657. CONFIG_REED_SOLOMON_DEC8=y \
  658. CONFIG_REED_SOLOMON_ENC8=y
  659. FILES:= $(LINUX_DIR)/lib/reed_solomon/reed_solomon.ko
  660. AUTOLOAD:=$(call AutoLoad,30,reed_solomon,1)
  661. endef
  662. define KernelPackage/reed-solomon/description
  663. Kernel module for Reed-Solomon error correction
  664. endef
  665. $(eval $(call KernelPackage,reed-solomon))
  666. define KernelPackage/serial-8250
  667. SUBMENU:=$(OTHER_MENU)
  668. TITLE:=8250 UARTs
  669. KCONFIG:= CONFIG_SERIAL_8250 \
  670. CONFIG_SERIAL_8250_PCI \
  671. CONFIG_SERIAL_8250_NR_UARTS=16 \
  672. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  673. CONFIG_SERIAL_8250_EXTENDED=y \
  674. CONFIG_SERIAL_8250_MANY_PORTS=y \
  675. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  676. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  677. CONFIG_SERIAL_8250_RSA=n
  678. FILES:= \
  679. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  680. $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko \
  681. $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko) \
  682. $(if $(CONFIG_GPIOLIB),$(LINUX_DIR)/drivers/tty/serial/serial_mctrl_gpio.ko)
  683. AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
  684. endef
  685. define KernelPackage/serial-8250/description
  686. Kernel module for 8250 UART based serial ports
  687. endef
  688. $(eval $(call KernelPackage,serial-8250))
  689. define KernelPackage/serial-8250-exar
  690. SUBMENU:=$(OTHER_MENU)
  691. TITLE:=Exar 8250 UARTs
  692. KCONFIG:= CONFIG_SERIAL_8250_EXAR
  693. FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
  694. AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
  695. DEPENDS:=+kmod-serial-8250
  696. endef
  697. define KernelPackage/serial-8250-exar/description
  698. Kernel module for Exar serial ports
  699. endef
  700. $(eval $(call KernelPackage,serial-8250-exar))
  701. define KernelPackage/regmap-core
  702. SUBMENU:=$(OTHER_MENU)
  703. TITLE:=Generic register map support
  704. HIDDEN:=1
  705. KCONFIG:=CONFIG_REGMAP
  706. ifneq ($(wildcard $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko),)
  707. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
  708. endif
  709. endef
  710. define KernelPackage/regmap-core/description
  711. Generic register map support
  712. endef
  713. $(eval $(call KernelPackage,regmap-core))
  714. define KernelPackage/regmap-spi
  715. SUBMENU:=$(OTHER_MENU)
  716. TITLE:=SPI register map support
  717. DEPENDS:=+kmod-regmap-core
  718. HIDDEN:=1
  719. KCONFIG:=CONFIG_REGMAP_SPI \
  720. CONFIG_SPI=y
  721. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko
  722. endef
  723. define KernelPackage/regmap-spi/description
  724. SPI register map support
  725. endef
  726. $(eval $(call KernelPackage,regmap-spi))
  727. define KernelPackage/regmap-i2c
  728. SUBMENU:=$(OTHER_MENU)
  729. TITLE:=I2C register map support
  730. DEPENDS:=+kmod-regmap-core +kmod-i2c-core
  731. HIDDEN:=1
  732. KCONFIG:=CONFIG_REGMAP_I2C
  733. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko
  734. endef
  735. define KernelPackage/regmap-i2c/description
  736. I2C register map support
  737. endef
  738. $(eval $(call KernelPackage,regmap-i2c))
  739. define KernelPackage/regmap-mmio
  740. SUBMENU:=$(OTHER_MENU)
  741. TITLE:=MMIO register map support
  742. DEPENDS:=+kmod-regmap-core
  743. HIDDEN:=1
  744. KCONFIG:=CONFIG_REGMAP_MMIO
  745. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko
  746. endef
  747. define KernelPackage/regmap-mmio/description
  748. MMIO register map support
  749. endef
  750. $(eval $(call KernelPackage,regmap-mmio))
  751. define KernelPackage/ikconfig
  752. SUBMENU:=$(OTHER_MENU)
  753. TITLE:=Kernel configuration via /proc/config.gz
  754. KCONFIG:=CONFIG_IKCONFIG \
  755. CONFIG_IKCONFIG_PROC=y
  756. FILES:=$(LINUX_DIR)/kernel/configs.ko
  757. AUTOLOAD:=$(call AutoLoad,70,configs)
  758. endef
  759. define KernelPackage/ikconfig/description
  760. Kernel configuration via /proc/config.gz
  761. endef
  762. $(eval $(call KernelPackage,ikconfig))
  763. define KernelPackage/zram
  764. SUBMENU:=$(OTHER_MENU)
  765. TITLE:=ZRAM
  766. KCONFIG:= \
  767. CONFIG_ZSMALLOC \
  768. CONFIG_ZRAM \
  769. CONFIG_ZRAM_DEBUG=n \
  770. CONFIG_ZRAM_WRITEBACK=n \
  771. CONFIG_ZSMALLOC_STAT=n
  772. FILES:= \
  773. $(LINUX_DIR)/mm/zsmalloc.ko \
  774. $(LINUX_DIR)/drivers/block/zram/zram.ko
  775. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  776. endef
  777. define KernelPackage/zram/description
  778. Compressed RAM block device support
  779. endef
  780. define KernelPackage/zram/config
  781. choice
  782. prompt "ZRAM Default compressor"
  783. default ZRAM_DEF_COMP_LZORLE
  784. config ZRAM_DEF_COMP_LZORLE
  785. bool "lzo-rle"
  786. select PACKAGE_kmod-lib-lzo
  787. config ZRAM_DEF_COMP_LZO
  788. bool "lzo"
  789. select PACKAGE_kmod-lib-lzo
  790. config ZRAM_DEF_COMP_LZ4
  791. bool "lz4"
  792. select PACKAGE_kmod-lib-lz4
  793. config ZRAM_DEF_COMP_ZSTD
  794. bool "zstd"
  795. select PACKAGE_kmod-lib-zstd
  796. endchoice
  797. endef
  798. $(eval $(call KernelPackage,zram))
  799. define KernelPackage/pps
  800. SUBMENU:=$(OTHER_MENU)
  801. TITLE:=PPS support
  802. KCONFIG:=CONFIG_PPS
  803. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  804. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  805. endef
  806. define KernelPackage/pps/description
  807. PPS (Pulse Per Second) is a special pulse provided by some GPS
  808. antennae. Userland can use it to get a high-precision time
  809. reference.
  810. endef
  811. $(eval $(call KernelPackage,pps))
  812. define KernelPackage/pps-gpio
  813. SUBMENU:=$(OTHER_MENU)
  814. TITLE:=PPS client using GPIO
  815. DEPENDS:=+kmod-pps
  816. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  817. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  818. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  819. endef
  820. define KernelPackage/pps-gpio/description
  821. Support for a PPS source using GPIO. To be useful you must
  822. also register a platform device specifying the GPIO pin and
  823. other options, usually in your board setup.
  824. endef
  825. $(eval $(call KernelPackage,pps-gpio))
  826. define KernelPackage/pps-ldisc
  827. SUBMENU:=$(OTHER_MENU)
  828. TITLE:=PPS line discipline
  829. DEPENDS:=+kmod-pps
  830. KCONFIG:=CONFIG_PPS_CLIENT_LDISC
  831. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
  832. AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
  833. endef
  834. define KernelPackage/pps-ldisc/description
  835. Support for a PPS source connected with the CD (Carrier
  836. Detect) pin of your serial port.
  837. endef
  838. $(eval $(call KernelPackage,pps-ldisc))
  839. define KernelPackage/ptp
  840. SUBMENU:=$(OTHER_MENU)
  841. TITLE:=PTP clock support
  842. DEPENDS:=+kmod-pps
  843. KCONFIG:= \
  844. CONFIG_PTP_1588_CLOCK \
  845. CONFIG_NET_PTP_CLASSIFY=y
  846. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  847. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  848. endef
  849. define KernelPackage/ptp/description
  850. The IEEE 1588 standard defines a method to precisely
  851. synchronize distributed clocks over Ethernet networks.
  852. endef
  853. $(eval $(call KernelPackage,ptp))
  854. define KernelPackage/ptp-qoriq
  855. SUBMENU:=$(OTHER_MENU)
  856. TITLE:=Freescale QorIQ PTP support
  857. DEPENDS:=@(TARGET_mpc85xx||TARGET_qoriq) +kmod-ptp
  858. KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ
  859. FILES:=$(LINUX_DIR)/drivers/ptp/ptp-qoriq.ko
  860. AUTOLOAD:=$(call AutoProbe,ptp-qoriq)
  861. endef
  862. define KernelPackage/ptp-qoriq/description
  863. Kernel module for IEEE 1588 support for Freescale
  864. QorIQ Ethernet drivers
  865. endef
  866. $(eval $(call KernelPackage,ptp-qoriq))
  867. define KernelPackage/random-core
  868. SUBMENU:=$(OTHER_MENU)
  869. TITLE:=Hardware Random Number Generator Core support
  870. KCONFIG:=CONFIG_HW_RANDOM
  871. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  872. endef
  873. define KernelPackage/random-core/description
  874. Kernel module for the HW random number generator core infrastructure
  875. endef
  876. $(eval $(call KernelPackage,random-core))
  877. define KernelPackage/thermal
  878. SUBMENU:=$(OTHER_MENU)
  879. TITLE:=Thermal driver
  880. DEPENDS:=+kmod-hwmon-core
  881. HIDDEN:=1
  882. KCONFIG:= \
  883. CONFIG_THERMAL=y \
  884. CONFIG_THERMAL_OF=y \
  885. CONFIG_CPU_THERMAL=y \
  886. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  887. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  888. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  889. CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
  890. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  891. CONFIG_THERMAL_GOV_STEP_WISE=y \
  892. CONFIG_THERMAL_GOV_USER_SPACE=n \
  893. CONFIG_THERMAL_HWMON=y \
  894. CONFIG_THERMAL_EMULATION=n
  895. endef
  896. define KernelPackage/thermal/description
  897. Thermal driver offers a generic mechanism for thermal management.
  898. Usually it's made up of one or more thermal zone and cooling device.
  899. endef
  900. $(eval $(call KernelPackage,thermal))
  901. define KernelPackage/gpio-beeper
  902. SUBMENU:=$(OTHER_MENU)
  903. TITLE:=GPIO beeper support
  904. DEPENDS:=+kmod-input-core
  905. KCONFIG:= \
  906. CONFIG_INPUT_MISC=y \
  907. CONFIG_INPUT_GPIO_BEEPER
  908. FILES:= \
  909. $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
  910. AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
  911. endef
  912. define KernelPackage/gpio-beeper/description
  913. This enables playing beeps through an GPIO-connected buzzer
  914. endef
  915. $(eval $(call KernelPackage,gpio-beeper))
  916. define KernelPackage/echo
  917. SUBMENU:=$(OTHER_MENU)
  918. TITLE:=Line Echo Canceller
  919. KCONFIG:=CONFIG_ECHO
  920. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  921. AUTOLOAD:=$(call AutoLoad,50,echo)
  922. endef
  923. define KernelPackage/echo/description
  924. This driver provides line echo cancelling support for mISDN and
  925. DAHDI drivers
  926. endef
  927. $(eval $(call KernelPackage,echo))
  928. define KernelPackage/keys-encrypted
  929. SUBMENU:=$(OTHER_MENU)
  930. TITLE:=encrypted keys on kernel keyring
  931. DEPENDS:=@KERNEL_KEYS +kmod-crypto-cbc +kmod-crypto-hmac +kmod-crypto-rng \
  932. +kmod-crypto-sha256 +kmod-keys-trusted
  933. KCONFIG:=CONFIG_ENCRYPTED_KEYS
  934. FILES:=$(LINUX_DIR)/security/keys/encrypted-keys/encrypted-keys.ko
  935. AUTOLOAD:=$(call AutoLoad,01,encrypted-keys,1)
  936. endef
  937. define KernelPackage/keys-encrypted/description
  938. This module provides support for create/encrypting/decrypting keys
  939. in the kernel. Encrypted keys are kernel generated random numbers,
  940. which are encrypted/decrypted with a 'master' symmetric key. The
  941. 'master' key can be either a trusted-key or user-key type.
  942. Userspace only ever sees/stores encrypted blobs.
  943. endef
  944. $(eval $(call KernelPackage,keys-encrypted))
  945. define KernelPackage/keys-trusted
  946. SUBMENU:=$(OTHER_MENU)
  947. TITLE:=TPM trusted keys on kernel keyring
  948. DEPENDS:=@KERNEL_KEYS +kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha1 +kmod-tpm
  949. KCONFIG:=CONFIG_TRUSTED_KEYS
  950. FILES:= \
  951. $(LINUX_DIR)/security/keys/[email protected] \
  952. $(LINUX_DIR)/security/keys/trusted-keys/[email protected]
  953. AUTOLOAD:=$(call AutoLoad,01,trusted-keys,1)
  954. endef
  955. define KernelPackage/keys-trusted/description
  956. This module provides support for creating, sealing, and unsealing
  957. keys in the kernel. Trusted keys are random number symmetric keys,
  958. generated and RSA-sealed by the TPM. The TPM only unseals the keys,
  959. if the boot PCRs and other criteria match. Userspace will only ever
  960. see encrypted blobs.
  961. endef
  962. $(eval $(call KernelPackage,keys-trusted))
  963. define KernelPackage/tpm
  964. SUBMENU:=$(OTHER_MENU)
  965. TITLE:=TPM Hardware Support
  966. DEPENDS:= +kmod-random-core +(LINUX_5_15):kmod-asn1-decoder \
  967. +(LINUX_5_15):kmod-asn1-encoder +(LINUX_5_15):kmod-oid-registry
  968. KCONFIG:= CONFIG_TCG_TPM
  969. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
  970. AUTOLOAD:=$(call AutoLoad,10,tpm,1)
  971. endef
  972. define KernelPackage/tpm/description
  973. This enables TPM Hardware Support.
  974. endef
  975. $(eval $(call KernelPackage,tpm))
  976. define KernelPackage/tpm-tis
  977. SUBMENU:=$(OTHER_MENU)
  978. TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
  979. DEPENDS:= @TARGET_x86 +kmod-tpm
  980. KCONFIG:= CONFIG_TCG_TIS
  981. FILES:= \
  982. $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
  983. $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
  984. AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
  985. endef
  986. define KernelPackage/tpm-tis/description
  987. If you have a TPM security chip that is compliant with the
  988. TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
  989. specification (TPM2.0) say Yes and it will be accessible from
  990. within Linux.
  991. endef
  992. $(eval $(call KernelPackage,tpm-tis))
  993. define KernelPackage/tpm-i2c-atmel
  994. SUBMENU:=$(OTHER_MENU)
  995. TITLE:=TPM I2C Atmel Support
  996. DEPENDS:= +kmod-tpm +kmod-i2c-core
  997. KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
  998. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
  999. AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
  1000. endef
  1001. define KernelPackage/tpm-i2c-atmel/description
  1002. This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
  1003. endef
  1004. $(eval $(call KernelPackage,tpm-i2c-atmel))
  1005. define KernelPackage/tpm-i2c-infineon
  1006. SUBMENU:=$(OTHER_MENU)
  1007. TITLE:= TPM I2C Infineon driver
  1008. DEPENDS:= +kmod-tpm +kmod-i2c-core
  1009. KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
  1010. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
  1011. AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
  1012. endef
  1013. define KernelPackage/tpm-i2c-infineon/description
  1014. This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
  1015. endef
  1016. $(eval $(call KernelPackage,tpm-i2c-infineon))
  1017. define KernelPackage/w83627hf-wdt
  1018. SUBMENU:=$(OTHER_MENU)
  1019. TITLE:=Winbond 83627HF Watchdog Timer
  1020. KCONFIG:=CONFIG_W83627HF_WDT
  1021. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
  1022. AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
  1023. endef
  1024. define KernelPackage/w83627hf-wdt/description
  1025. Kernel module for Winbond 83627HF Watchdog Timer
  1026. endef
  1027. $(eval $(call KernelPackage,w83627hf-wdt))
  1028. define KernelPackage/itco-wdt
  1029. SUBMENU:=$(OTHER_MENU)
  1030. TITLE:=Intel iTCO Watchdog Timer
  1031. KCONFIG:=CONFIG_ITCO_WDT \
  1032. CONFIG_ITCO_VENDOR_SUPPORT=y
  1033. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
  1034. $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
  1035. AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
  1036. endef
  1037. define KernelPackage/itco-wdt/description
  1038. Kernel module for Intel iTCO Watchdog Timer
  1039. endef
  1040. $(eval $(call KernelPackage,itco-wdt))
  1041. define KernelPackage/it87-wdt
  1042. SUBMENU:=$(OTHER_MENU)
  1043. TITLE:=ITE IT87 Watchdog Timer
  1044. KCONFIG:=CONFIG_IT87_WDT
  1045. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
  1046. AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
  1047. MODPARAMS.it87-wdt:= \
  1048. nogameport=1 \
  1049. nocir=1
  1050. endef
  1051. define KernelPackage/it87-wdt/description
  1052. Kernel module for ITE IT87 Watchdog Timer
  1053. endef
  1054. $(eval $(call KernelPackage,it87-wdt))
  1055. define KernelPackage/f71808e-wdt
  1056. SUBMENU:=$(OTHER_MENU)
  1057. TITLE:=Fintek F718xx/F818xx Watchdog Timer
  1058. DEPENDS:=@TARGET_x86
  1059. KCONFIG:=CONFIG_F71808E_WDT
  1060. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/f71808e_wdt.ko
  1061. AUTOLOAD:=$(call AutoProbe,f71808e-wdt,1)
  1062. endef
  1063. define KernelPackage/f71808e-wdt/description
  1064. Kernel module for the watchdog timer found on many Fintek Super-IO chips.
  1065. endef
  1066. $(eval $(call KernelPackage,f71808e-wdt))