other.mk 35 KB

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