other.mk 34 KB

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