other.mk 34 KB

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