blob: 5c626826836958b9b7510027cf1435ae84883b9c [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#
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
8OTHER_MENU:=Other modules
9
10WATCHDOG_DIR:=watchdog
11
12
13define KernelPackage/6lowpan
14 SUBMENU:=$(OTHER_MENU)
15 TITLE:=6LoWPAN shared code
16 KCONFIG:= \
17 CONFIG_6LOWPAN \
18 CONFIG_6LOWPAN_NHC=n
19 FILES:=$(LINUX_DIR)/net/6lowpan/6lowpan.ko
20 AUTOLOAD:=$(call AutoProbe,6lowpan)
21endef
22
23define KernelPackage/6lowpan/description
24 Shared 6lowpan code for IEEE 802.15.4 and Bluetooth.
25endef
26
27$(eval $(call KernelPackage,6lowpan))
28
29
30define KernelPackage/bluetooth
31 SUBMENU:=$(OTHER_MENU)
32 TITLE:=Bluetooth support
33 DEPENDS:=@USB_SUPPORT +kmod-crypto-cmac +kmod-crypto-ecb \
34 +kmod-crypto-ecdh +kmod-crypto-hash +kmod-hid +kmod-lib-crc16 \
35 +kmod-regmap-core +kmod-serdev +kmod-usb-core
36 KCONFIG:= \
37 CONFIG_BT \
38 CONFIG_BT_BREDR=y \
39 CONFIG_BT_DEBUGFS=n \
40 CONFIG_BT_LE=y \
41 CONFIG_BT_RFCOMM \
42 CONFIG_BT_BNEP \
43 CONFIG_BT_HCIBTUSB \
44 CONFIG_BT_HCIBTUSB_BCM=y \
45 CONFIG_BT_HCIBTUSB_MTK=y \
46 CONFIG_BT_HCIBTUSB_RTL=y \
47 CONFIG_BT_HCIUART \
48 CONFIG_BT_HCIUART_BCM=y \
49 CONFIG_BT_HCIUART_INTEL=n \
50 CONFIG_BT_HCIUART_H4 \
51 CONFIG_BT_HCIUART_NOKIA=n \
52 CONFIG_BT_HCIUART_QCA=y \
53 CONFIG_BT_HCIUART_SERDEV=y \
54 CONFIG_BT_HIDP
55 $(call AddDepends/rfkill)
56 FILES:= \
57 $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
58 $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
59 $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
60 $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
61 $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
62 $(LINUX_DIR)/drivers/bluetooth/btusb.ko \
63 $(LINUX_DIR)/drivers/bluetooth/btbcm.ko \
64 $(LINUX_DIR)/drivers/bluetooth/btqca.ko \
65 $(LINUX_DIR)/drivers/bluetooth/btrtl.ko \
66 $(LINUX_DIR)/drivers/bluetooth/btintel.ko \
67 $(LINUX_DIR)/drivers/bluetooth/btmtk.ko@ge5.17
68 AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
69endef
70
71define KernelPackage/bluetooth/description
72 Kernel support for Bluetooth devices
73endef
74
75$(eval $(call KernelPackage,bluetooth))
76
77define KernelPackage/ath3k
78 SUBMENU:=$(OTHER_MENU)
79 TITLE:=ATH3K Kernel Module support
80 DEPENDS:=+kmod-bluetooth +ar3k-firmware
81 KCONFIG:= \
82 CONFIG_BT_ATH3K \
83 CONFIG_BT_HCIUART_ATH3K=y
84 FILES:= \
85 $(LINUX_DIR)/drivers/bluetooth/ath3k.ko
86 AUTOLOAD:=$(call AutoProbe,ath3k)
87endef
88
89define KernelPackage/ath3k/description
90 Kernel support for ATH3K Module
91endef
92
93$(eval $(call KernelPackage,ath3k))
94
95
96define KernelPackage/bluetooth-6lowpan
97 SUBMENU:=$(OTHER_MENU)
98 TITLE:=Bluetooth 6LoWPAN support
99 DEPENDS:=+kmod-6lowpan +kmod-bluetooth
100 KCONFIG:=CONFIG_BT_6LOWPAN
101 FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko
102 AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan)
103endef
104
105define KernelPackage/bluetooth-6lowpan/description
106 Kernel support for 6LoWPAN over Bluetooth Low Energy devices
107endef
108
109$(eval $(call KernelPackage,bluetooth-6lowpan))
110
111
112define KernelPackage/btmrvl
113 SUBMENU:=$(OTHER_MENU)
114 TITLE:=Marvell Bluetooth Kernel Module support
115 DEPENDS:=+kmod-mmc +kmod-bluetooth +mwifiex-sdio-firmware
116 KCONFIG:= \
117 CONFIG_BT_MRVL \
118 CONFIG_BT_MRVL_SDIO
119 FILES:= \
120 $(LINUX_DIR)/drivers/bluetooth/btmrvl.ko \
121 $(LINUX_DIR)/drivers/bluetooth/btmrvl_sdio.ko
122 AUTOLOAD:=$(call AutoProbe,btmrvl btmrvl_sdio)
123endef
124
125define KernelPackage/btmrvl/description
126 Kernel support for Marvell SDIO Bluetooth Module
127endef
128
129$(eval $(call KernelPackage,btmrvl))
130
131
132define KernelPackage/btsdio
133 SUBMENU:=$(OTHER_MENU)
134 TITLE:=Bluetooth HCI SDIO driver
135 DEPENDS:=+kmod-bluetooth +kmod-mmc
136 KCONFIG:= \
137 CONFIG_BT_HCIBTSDIO
138 FILES:= \
139 $(LINUX_DIR)/drivers/bluetooth/btsdio.ko
140 AUTOLOAD:=$(call AutoProbe,btsdio)
141endef
142
143define KernelPackage/btsdio/description
144 Kernel support for Bluetooth device with SDIO interface
145endef
146
147$(eval $(call KernelPackage,btsdio))
148
149
150define KernelPackage/dma-buf
151 SUBMENU:=$(OTHER_MENU)
152 TITLE:=DMA shared buffer support
153 HIDDEN:=1
154 KCONFIG:=CONFIG_DMA_SHARED_BUFFER
155 ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
156 ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
157 FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
158 endif
159 endif
160 AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
161endef
162$(eval $(call KernelPackage,dma-buf))
163
164
165define KernelPackage/eeprom-93cx6
166 SUBMENU:=$(OTHER_MENU)
167 TITLE:=EEPROM 93CX6 support
168 KCONFIG:=CONFIG_EEPROM_93CX6
169 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
170 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
171endef
172
173define KernelPackage/eeprom-93cx6/description
174 Kernel module for EEPROM 93CX6 support
175endef
176
177$(eval $(call KernelPackage,eeprom-93cx6))
178
179
180define KernelPackage/eeprom-at24
181 SUBMENU:=$(OTHER_MENU)
182 TITLE:=EEPROM AT24 support
183 KCONFIG:=CONFIG_EEPROM_AT24
184 DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c
185 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
186 AUTOLOAD:=$(call AutoProbe,at24)
187endef
188
189define KernelPackage/eeprom-at24/description
190 Kernel module for most I2C EEPROMs
191endef
192
193$(eval $(call KernelPackage,eeprom-at24))
194
195
196define KernelPackage/eeprom-at25
197 SUBMENU:=$(OTHER_MENU)
198 TITLE:=EEPROM AT25 support
199 KCONFIG:=CONFIG_EEPROM_AT25
200 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
201 AUTOLOAD:=$(call AutoProbe,at25)
202endef
203
204define KernelPackage/eeprom-at25/description
205 Kernel module for most SPI EEPROMs
206endef
207
208$(eval $(call KernelPackage,eeprom-at25))
209
210
211define KernelPackage/google-firmware
212 SUBMENU:=$(OTHER_MENU)
213 TITLE:=Google firmware drivers (Coreboot, VPD, Memconsole)
214 KCONFIG:= \
215 CONFIG_GOOGLE_FIRMWARE=y \
216 CONFIG_GOOGLE_COREBOOT_TABLE \
217 CONFIG_GOOGLE_MEMCONSOLE \
218 CONFIG_GOOGLE_MEMCONSOLE_COREBOOT \
219 CONFIG_GOOGLE_VPD
220 FILES:= \
221 $(LINUX_DIR)/drivers/firmware/google/coreboot_table.ko \
222 $(LINUX_DIR)/drivers/firmware/google/memconsole.ko \
223 $(LINUX_DIR)/drivers/firmware/google/memconsole-coreboot.ko \
224 $(LINUX_DIR)/drivers/firmware/google/vpd-sysfs.ko
225 AUTOLOAD:=$(call AutoProbe,coreboot_table memconsole-coreboot vpd-sysfs)
226endef
227
228define KernelPackage/google-firmware/description
229 Kernel modules for Google firmware drivers. Useful for examining firmware and
230 boot details on devices using a Google bootloader based on Coreboot. Provides
231 files like /sys/firmware/log and /sys/firmware/vpd.
232endef
233
234$(eval $(call KernelPackage,google-firmware))
235
236
237define KernelPackage/lkdtm
238 SUBMENU:=$(OTHER_MENU)
239 TITLE:=Linux Kernel Dump Test Tool Module
240 KCONFIG:=CONFIG_LKDTM
241 FILES:=$(LINUX_DIR)/drivers/misc/lkdtm/lkdtm.ko
242 AUTOLOAD:=$(call AutoProbe,lkdtm)
243endef
244
245define KernelPackage/lkdtm/description
246 This module enables testing of the different dumping mechanisms by inducing
247 system failures at predefined crash points.
248endef
249
250$(eval $(call KernelPackage,lkdtm))
251
252
253define KernelPackage/pinctrl-mcp23s08
254 SUBMENU:=$(OTHER_MENU)
255 TITLE:=Microchip MCP23xxx I/O expander
256 HIDDEN:=1
257 DEPENDS:=@GPIO_SUPPORT +kmod-regmap-core
258 KCONFIG:=CONFIG_PINCTRL_MCP23S08
259 FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko
260 AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08)
261endef
262
263define KernelPackage/pinctrl-mcp23s08/description
264 Kernel module for Microchip MCP23xxx I/O expander
265endef
266
267$(eval $(call KernelPackage,pinctrl-mcp23s08))
268
269
270define KernelPackage/pinctrl-mcp23s08-i2c
271 SUBMENU:=$(OTHER_MENU)
272 TITLE:=Microchip MCP23xxx I/O expander (I2C)
273 DEPENDS:=@GPIO_SUPPORT \
274 +kmod-pinctrl-mcp23s08 \
275 +kmod-i2c-core \
276 +kmod-regmap-i2c
277 KCONFIG:=CONFIG_PINCTRL_MCP23S08_I2C
278 FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08_i2c.ko
279 AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08-i2c)
280endef
281
282define KernelPackage/pinctrl-mcp23s08-i2c/description
283 Kernel module for Microchip MCP23xxx I/O expander via I2C
284endef
285
286$(eval $(call KernelPackage,pinctrl-mcp23s08-i2c))
287
288
289define KernelPackage/pinctrl-mcp23s08-spi
290 SUBMENU:=$(OTHER_MENU)
291 TITLE:=Microchip MCP23xxx I/O expander (SPI)
292 DEPENDS:=@GPIO_SUPPORT +kmod-pinctrl-mcp23s08
293 KCONFIG:=CONFIG_PINCTRL_MCP23S08_SPI
294 FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08_spi.ko
295 AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08-spi)
296endef
297
298define KernelPackage/pinctrl-mcp23s08-spi/description
299 Kernel module for Microchip MCP23xxx I/O expander via SPI
300endef
301
302$(eval $(call KernelPackage,pinctrl-mcp23s08-spi))
303
304
305define KernelPackage/ppdev
306 SUBMENU:=$(OTHER_MENU)
307 TITLE:=Parallel port support
308 KCONFIG:= \
309 CONFIG_PARPORT \
310 CONFIG_PPDEV
311 FILES:= \
312 $(LINUX_DIR)/drivers/parport/parport.ko \
313 $(LINUX_DIR)/drivers/char/ppdev.ko
314 AUTOLOAD:=$(call AutoLoad,50,parport ppdev)
315endef
316
317$(eval $(call KernelPackage,ppdev))
318
319
320define KernelPackage/parport-pc
321 SUBMENU:=$(OTHER_MENU)
322 TITLE:=Parallel port interface (PC-style) support
323 DEPENDS:=+kmod-ppdev
324 KCONFIG:= \
325 CONFIG_KS0108=n \
326 CONFIG_PARPORT_PC \
327 CONFIG_PARPORT_1284=y \
328 CONFIG_PARPORT_PC_FIFO=y \
329 CONFIG_PARPORT_PC_PCMCIA=n \
330 CONFIG_PARPORT_PC_SUPERIO=y \
331 CONFIG_PARPORT_SERIAL=n \
332 CONFIG_PARIDE=n \
333 CONFIG_SCSI_IMM=n \
334 CONFIG_SCSI_PPA=n
335 FILES:= \
336 $(LINUX_DIR)/drivers/parport/parport_pc.ko
337 AUTOLOAD:=$(call AutoLoad,51,parport_pc)
338endef
339
340$(eval $(call KernelPackage,parport-pc))
341
342
343define KernelPackage/lp
344 SUBMENU:=$(OTHER_MENU)
345 TITLE:=Parallel port line printer device support
346 DEPENDS:=+kmod-ppdev
347 KCONFIG:= \
348 CONFIG_PRINTER
349 FILES:= \
350 $(LINUX_DIR)/drivers/char/lp.ko
351 AUTOLOAD:=$(call AutoLoad,52,lp)
352endef
353
354$(eval $(call KernelPackage,lp))
355
356
357define KernelPackage/mmc
358 SUBMENU:=$(OTHER_MENU)
359 TITLE:=MMC/SD Card Support
360 DEPENDS:=@!TARGET_uml
361 KCONFIG:= \
362 CONFIG_MMC \
363 CONFIG_MMC_BLOCK \
364 CONFIG_MMC_DEBUG=n \
365 CONFIG_MMC_UNSAFE_RESUME=n \
366 CONFIG_MMC_TIFM_SD=n \
367 CONFIG_MMC_WBSD=n \
368 CONFIG_SDIO_UART=n
369 FILES:= \
370 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
371 $(LINUX_DIR)/drivers/mmc/core/mmc_block.ko
372 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
373endef
374
375define KernelPackage/mmc/description
376 Kernel support for MMC/SD cards
377endef
378
379$(eval $(call KernelPackage,mmc))
380
381
382define KernelPackage/sdhci
383 SUBMENU:=$(OTHER_MENU)
384 TITLE:=Secure Digital Host Controller Interface support
385 DEPENDS:=+kmod-mmc
386 KCONFIG:= \
387 CONFIG_MMC_SDHCI \
388 CONFIG_MMC_SDHCI_PLTFM \
389 CONFIG_MMC_SDHCI_PCI=n
390 FILES:= \
391 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
392 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
393
394 AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
395endef
396
397define KernelPackage/sdhci/description
398 Kernel support for SDHCI Hosts
399endef
400
401$(eval $(call KernelPackage,sdhci))
402
403
404define KernelPackage/serdev
405 SUBMENU:=$(OTHER_MENU)
406 TITLE:=Serial device bus support
407 KCONFIG:=CONFIG_SERIAL_DEV_BUS
408 FILES:= \
409 $(LINUX_DIR)/drivers/tty/serdev/serdev.ko
410 AUTOLOAD:=$(call AutoProbe,serdev)
411endef
412
413define KernelPackage/serdev/description
414 Kernel support for devices connected via a serial port
415endef
416
417$(eval $(call KernelPackage,serdev))
418
419
420define KernelPackage/rfkill
421 SUBMENU:=$(OTHER_MENU)
422 TITLE:=RF switch subsystem support
423 DEPENDS:=@USE_RFKILL +kmod-input-core
424 KCONFIG:= \
425 CONFIG_RFKILL_FULL \
426 CONFIG_RFKILL_GPIO=y \
427 CONFIG_RFKILL_INPUT=y \
428 CONFIG_RFKILL_LEDS=y
429 FILES:= \
430 $(LINUX_DIR)/net/rfkill/rfkill.ko \
431 $(LINUX_DIR)/net/rfkill/rfkill-gpio.ko
432 AUTOLOAD:=$(call AutoLoad,20,rfkill-gpio)
433endef
434
435define KernelPackage/rfkill/description
436 Say Y here if you want to have control over RF switches
437 found on many WiFi and Bluetooth cards
438endef
439
440$(eval $(call KernelPackage,rfkill))
441
442
443define KernelPackage/softdog
444 SUBMENU:=$(OTHER_MENU)
445 TITLE:=Software watchdog driver
446 KCONFIG:=CONFIG_SOFT_WATCHDOG \
447 CONFIG_SOFT_WATCHDOG_PRETIMEOUT=n
448 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
449 AUTOLOAD:=$(call AutoLoad,50,softdog,1)
450endef
451
452define KernelPackage/softdog/description
453 Software watchdog driver
454endef
455
456$(eval $(call KernelPackage,softdog))
457
458
459define KernelPackage/ssb
460 SUBMENU:=$(OTHER_MENU)
461 TITLE:=Silicon Sonics Backplane glue code
462 DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm63xx
463 KCONFIG:=\
464 CONFIG_SSB \
465 CONFIG_SSB_B43_PCI_BRIDGE=y \
466 CONFIG_SSB_DRIVER_MIPS=n \
467 CONFIG_SSB_DRIVER_PCICORE=y \
468 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
469 CONFIG_SSB_FALLBACK_SPROM=y \
470 CONFIG_SSB_PCIHOST=y \
471 CONFIG_SSB_PCIHOST_POSSIBLE=y \
472 CONFIG_SSB_POSSIBLE=y \
473 CONFIG_SSB_SPROM=y \
474 CONFIG_SSB_SILENT=y
475 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
476 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
477endef
478
479define KernelPackage/ssb/description
480 Silicon Sonics Backplane glue code.
481endef
482
483$(eval $(call KernelPackage,ssb))
484
485
486define KernelPackage/bcma
487 SUBMENU:=$(OTHER_MENU)
488 TITLE:=BCMA support
489 DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm53xx
490 KCONFIG:=\
491 CONFIG_BCMA \
492 CONFIG_BCMA_POSSIBLE=y \
493 CONFIG_BCMA_BLOCKIO=y \
494 CONFIG_BCMA_FALLBACK_SPROM=y \
495 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
496 CONFIG_BCMA_HOST_PCI=y \
497 CONFIG_BCMA_HOST_SOC=n \
498 CONFIG_BCMA_DRIVER_MIPS=n \
499 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
500 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
501 CONFIG_BCMA_DEBUG=n
502 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
503 AUTOLOAD:=$(call AutoLoad,29,bcma)
504endef
505
506define KernelPackage/bcma/description
507 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
508endef
509
510$(eval $(call KernelPackage,bcma))
511
512
513define KernelPackage/rtc-ds1307
514 SUBMENU:=$(OTHER_MENU)
515 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
516 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
517 DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c +kmod-hwmon-core
518 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
519 CONFIG_RTC_CLASS=y
520 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
521 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
522endef
523
524define KernelPackage/rtc-ds1307/description
525 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
526 Epson RX-8025 and various other compatible RTC chips connected via I2C.
527endef
528
529$(eval $(call KernelPackage,rtc-ds1307))
530
531
532define KernelPackage/rtc-ds1374
533 SUBMENU:=$(OTHER_MENU)
534 TITLE:=Dallas/Maxim DS1374 RTC support
535 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
536 DEPENDS:=+kmod-i2c-core
537 KCONFIG:=CONFIG_RTC_DRV_DS1374 \
538 CONFIG_RTC_DRV_DS1374_WDT=n \
539 CONFIG_RTC_CLASS=y
540 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
541 AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
542endef
543
544define KernelPackage/rtc-ds1374/description
545 Kernel module for Dallas/Maxim DS1374.
546endef
547
548$(eval $(call KernelPackage,rtc-ds1374))
549
550
551define KernelPackage/rtc-ds1672
552 SUBMENU:=$(OTHER_MENU)
553 TITLE:=Dallas/Maxim DS1672 RTC support
554 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
555 DEPENDS:=+kmod-i2c-core
556 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
557 CONFIG_RTC_CLASS=y
558 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
559 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
560endef
561
562define KernelPackage/rtc-ds1672/description
563 Kernel module for Dallas/Maxim DS1672 RTC.
564endef
565
566$(eval $(call KernelPackage,rtc-ds1672))
567
568
569define KernelPackage/rtc-em3027
570 SUBMENU:=$(OTHER_MENU)
571 TITLE:=Microelectronic EM3027 RTC support
572 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
573 DEPENDS:=+kmod-i2c-core
574 KCONFIG:=CONFIG_RTC_DRV_EM3027 \
575 CONFIG_RTC_CLASS=y
576 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-em3027.ko
577 AUTOLOAD:=$(call AutoProbe,rtc-em3027)
578endef
579
580define KernelPackage/rtc-em3027/description
581 Kernel module for Microelectronic EM3027 RTC.
582endef
583
584$(eval $(call KernelPackage,rtc-em3027))
585
586
587define KernelPackage/rtc-isl1208
588 SUBMENU:=$(OTHER_MENU)
589 TITLE:=Intersil ISL1208 RTC support
590 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
591 DEPENDS:=+kmod-i2c-core
592 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
593 CONFIG_RTC_CLASS=y
594 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
595 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
596endef
597
598define KernelPackage/rtc-isl1208/description
599 Kernel module for Intersil ISL1208 RTC.
600endef
601
602$(eval $(call KernelPackage,rtc-isl1208))
603
604
605define KernelPackage/rtc-mv
606 SUBMENU:=$(OTHER_MENU)
607 TITLE:=Marvell SoC RTC support
608 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
609 KCONFIG:=CONFIG_RTC_DRV_MV \
610 CONFIG_RTC_CLASS=y
611 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
612 AUTOLOAD:=$(call AutoProbe,rtc-mv)
613endef
614
615define KernelPackage/rtc-mv/description
616 Kernel module for Marvell SoC RTC.
617endef
618
619$(eval $(call KernelPackage,rtc-mv))
620
621
622define KernelPackage/rtc-pcf8563
623 SUBMENU:=$(OTHER_MENU)
624 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
625 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
626 DEPENDS:=+kmod-i2c-core
627 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
628 CONFIG_RTC_CLASS=y
629 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
630 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
631endef
632
633define KernelPackage/rtc-pcf8563/description
634 Kernel module for Philips PCF8563 RTC chip.
635 The Epson RTC8564 should work as well.
636endef
637
638$(eval $(call KernelPackage,rtc-pcf8563))
639
640
641define KernelPackage/rtc-pcf2123
642 SUBMENU:=$(OTHER_MENU)
643 TITLE:=Philips PCF2123 RTC support
644 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
645 DEPENDS:=+kmod-regmap-spi
646 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
647 CONFIG_RTC_CLASS=y
648 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
649 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
650endef
651
652define KernelPackage/rtc-pcf2123/description
653 Kernel module for Philips PCF2123 RTC chip
654endef
655
656$(eval $(call KernelPackage,rtc-pcf2123))
657
658define KernelPackage/rtc-pcf2127
659 SUBMENU:=$(OTHER_MENU)
660 TITLE:=NXP PCF2127 and PCF2129 RTC support
661 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
662 DEPENDS:=+kmod-i2c-core +kmod-regmap-spi
663 KCONFIG:=CONFIG_RTC_DRV_PCF2127 \
664 CONFIG_RTC_CLASS=y
665 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2127.ko
666 AUTOLOAD:=$(call AutoProbe,rtc-pcf2127)
667endef
668
669define KernelPackage/rtc-pcf2127/description
670 Kernel module for NXP PCF2127 and PCF2129 RTC chip
671endef
672
673$(eval $(call KernelPackage,rtc-pcf2127))
674
675define KernelPackage/rtc-r7301
676 SUBMENU:=$(OTHER_MENU)
677 TITLE:=Epson RTC7301 support
678 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
679 DEPENDS:=+kmod-regmap-mmio
680 KCONFIG:=CONFIG_RTC_DRV_R7301 \
681 CONFIG_RTC_CLASS=y
682 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-r7301.ko
683 AUTOLOAD:=$(call AutoProbe,rtc-r7301)
684endef
685
686define KernelPackage/rtc-r7301/description
687 Kernel module for Epson RTC7301 RTC chip
688endef
689
690$(eval $(call KernelPackage,rtc-r7301))
691
692define KernelPackage/rtc-rs5c372a
693 SUBMENU:=$(OTHER_MENU)
694 TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
695 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
696 DEPENDS:=+kmod-i2c-core
697 KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
698 CONFIG_RTC_CLASS=y
699 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
700 AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
701endef
702
703define KernelPackage/rtc-rs5c372a/description
704 Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
705endef
706
707$(eval $(call KernelPackage,rtc-rs5c372a))
708
709define KernelPackage/rtc-rx8025
710 SUBMENU:=$(OTHER_MENU)
711 TITLE:=Epson RX-8025 / RX-8035
712 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
713 DEPENDS:=+kmod-i2c-core
714 KCONFIG:=CONFIG_RTC_DRV_RX8025 \
715 CONFIG_RTC_CLASS=y
716 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rx8025.ko
717 AUTOLOAD:=$(call AutoLoad,50,rtc-rx8025,1)
718endef
719
720define KernelPackage/rtc-rx8025/description
721 Kernel module for Epson RX-8025 and RX-8035 I2C RTC chip
722endef
723
724$(eval $(call KernelPackage,rtc-rx8025))
725
726define KernelPackage/rtc-s35390a
727 SUBMENU:=$(OTHER_MENU)
728 TITLE:=Seico S-35390A
729 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
730 DEPENDS:=+kmod-i2c-core
731 KCONFIG:=CONFIG_RTC_DRV_S35390A \
732 CONFIG_RTC_CLASS=y
733 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-s35390a.ko
734 AUTOLOAD:=$(call AutoLoad,50,rtc-s35390a,1)
735endef
736
737define KernelPackage/rtc-s35390a/description
738 Kernel module for Seiko Instruments S-35390A I2C RTC chip
739endef
740
741$(eval $(call KernelPackage,rtc-s35390a))
742
743define KernelPackage/rtc-x1205
744 SUBMENU:=$(OTHER_MENU)
745 TITLE:=Xicor Intersil X1205
746 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
747 DEPENDS:=+kmod-i2c-core
748 KCONFIG:=CONFIG_RTC_DRV_X1205 \
749 CONFIG_RTC_CLASS=y
750 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-x1205.ko
751 AUTOLOAD:=$(call AutoProbe,rtc-x1205)
752endef
753
754define KernelPackage/rtc-x1205/description
755 Kernel module for Xicor Intersil X1205 I2C RTC chip
756endef
757
758$(eval $(call KernelPackage,rtc-x1205))
759
760define KernelPackage/mtdtests
761 SUBMENU:=$(OTHER_MENU)
762 TITLE:=MTD subsystem tests
763 KCONFIG:=CONFIG_MTD_TESTS
764 FILES:=\
765 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
766 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
767 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
768 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
769 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
770 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
771 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
772 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
773endef
774
775define KernelPackage/mtdtests/description
776 Kernel modules for MTD subsystem/driver testing
777endef
778
779$(eval $(call KernelPackage,mtdtests))
780
781
782define KernelPackage/mtdoops
783 SUBMENU:=$(OTHER_MENU)
784 TITLE:=Log panic/oops to an MTD buffer
785 KCONFIG:=CONFIG_MTD_OOPS
786 FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
787endef
788
789define KernelPackage/mtdoops/description
790 Kernel modules for Log panic/oops to an MTD buffer
791endef
792
793$(eval $(call KernelPackage,mtdoops))
794
795
796define KernelPackage/mtdram
797 SUBMENU:=$(OTHER_MENU)
798 TITLE:=Test MTD driver using RAM
799 KCONFIG:=CONFIG_MTD_MTDRAM \
800 CONFIG_MTDRAM_TOTAL_SIZE=4096 \
801 CONFIG_MTDRAM_ERASE_SIZE=128
802 FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
803endef
804
805define KernelPackage/mtdram/description
806 Test MTD driver using RAM
807endef
808
809$(eval $(call KernelPackage,mtdram))
810
811
812define KernelPackage/ramoops
813 SUBMENU:=$(OTHER_MENU)
814 TITLE:=Ramoops (pstore-ram)
815 DEFAULT:=m if ALL_KMODS
816 KCONFIG:=CONFIG_PSTORE_RAM \
817 CONFIG_PSTORE_CONSOLE=y
818 DEPENDS:=+kmod-pstore +kmod-reed-solomon
819 FILES:= $(LINUX_DIR)/fs/pstore/ramoops.ko
820 AUTOLOAD:=$(call AutoLoad,30,ramoops,1)
821endef
822
823define KernelPackage/ramoops/description
824 Kernel module for pstore-ram (ramoops) crash log storage
825endef
826
827$(eval $(call KernelPackage,ramoops))
828
829
830define KernelPackage/reed-solomon
831 SUBMENU:=$(OTHER_MENU)
832 TITLE:=Reed-Solomon error correction
833 DEFAULT:=m if ALL_KMODS
834 KCONFIG:=CONFIG_REED_SOLOMON \
835 CONFIG_REED_SOLOMON_DEC8=y \
836 CONFIG_REED_SOLOMON_ENC8=y
837 FILES:= $(LINUX_DIR)/lib/reed_solomon/reed_solomon.ko
838 AUTOLOAD:=$(call AutoLoad,30,reed_solomon,1)
839endef
840
841define KernelPackage/reed-solomon/description
842 Kernel module for Reed-Solomon error correction
843endef
844
845$(eval $(call KernelPackage,reed-solomon))
846
847
848define KernelPackage/serial-8250
849 SUBMENU:=$(OTHER_MENU)
850 TITLE:=8250 UARTs
851 KCONFIG:= CONFIG_SERIAL_8250 \
852 CONFIG_SERIAL_8250_PCI \
853 CONFIG_SERIAL_8250_NR_UARTS=16 \
854 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
855 CONFIG_SERIAL_8250_EXTENDED=y \
856 CONFIG_SERIAL_8250_MANY_PORTS=y \
857 CONFIG_SERIAL_8250_SHARE_IRQ=y \
858 CONFIG_SERIAL_8250_DETECT_IRQ=n \
859 CONFIG_SERIAL_8250_RSA=n
860 FILES:= \
861 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
862 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko \
863 $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko) \
864 $(if $(CONFIG_GPIOLIB),$(LINUX_DIR)/drivers/tty/serial/serial_mctrl_gpio.ko)
865 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
866endef
867
868define KernelPackage/serial-8250/description
869 Kernel module for 8250 UART based serial ports
870endef
871
872$(eval $(call KernelPackage,serial-8250))
873
874
875define KernelPackage/serial-8250-exar
876 SUBMENU:=$(OTHER_MENU)
877 TITLE:=Exar 8250 UARTs
878 KCONFIG:= CONFIG_SERIAL_8250_EXAR
879 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
880 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
881 DEPENDS:=@PCI_SUPPORT +kmod-serial-8250
882endef
883
884define KernelPackage/serial-8250-exar/description
885 Kernel module for Exar serial ports
886endef
887
888$(eval $(call KernelPackage,serial-8250-exar))
889
890
891define KernelPackage/regmap-core
892 SUBMENU:=$(OTHER_MENU)
893 TITLE:=Generic register map support
894 HIDDEN:=1
895 KCONFIG:=CONFIG_REGMAP
896ifneq ($(wildcard $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko),)
897 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
898endif
899endef
900
901define KernelPackage/regmap-core/description
902 Generic register map support
903endef
904
905$(eval $(call KernelPackage,regmap-core))
906
907
908define KernelPackage/regmap-spi
909 SUBMENU:=$(OTHER_MENU)
910 TITLE:=SPI register map support
911 DEPENDS:=+kmod-regmap-core
912 HIDDEN:=1
913 KCONFIG:=CONFIG_REGMAP_SPI \
914 CONFIG_SPI=y
915 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko
916endef
917
918define KernelPackage/regmap-spi/description
919 SPI register map support
920endef
921
922$(eval $(call KernelPackage,regmap-spi))
923
924
925define KernelPackage/regmap-i2c
926 SUBMENU:=$(OTHER_MENU)
927 TITLE:=I2C register map support
928 DEPENDS:=+kmod-regmap-core +kmod-i2c-core
929 HIDDEN:=1
930 KCONFIG:=CONFIG_REGMAP_I2C
931 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko
932endef
933
934define KernelPackage/regmap-i2c/description
935 I2C register map support
936endef
937
938$(eval $(call KernelPackage,regmap-i2c))
939
940
941define KernelPackage/regmap-mmio
942 SUBMENU:=$(OTHER_MENU)
943 TITLE:=MMIO register map support
944 DEPENDS:=+kmod-regmap-core
945 HIDDEN:=1
946 KCONFIG:=CONFIG_REGMAP_MMIO
947 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko
948endef
949
950define KernelPackage/regmap-mmio/description
951 MMIO register map support
952endef
953
954$(eval $(call KernelPackage,regmap-mmio))
955
956
957define KernelPackage/ikconfig
958 SUBMENU:=$(OTHER_MENU)
959 TITLE:=Kernel configuration via /proc/config.gz
960 KCONFIG:=CONFIG_IKCONFIG \
961 CONFIG_IKCONFIG_PROC=y
962 FILES:=$(LINUX_DIR)/kernel/configs.ko
963 AUTOLOAD:=$(call AutoLoad,70,configs)
964endef
965
966define KernelPackage/ikconfig/description
967 Kernel configuration via /proc/config.gz
968endef
969
970$(eval $(call KernelPackage,ikconfig))
971
972
973define KernelPackage/zram
974 SUBMENU:=$(OTHER_MENU)
975 TITLE:=ZRAM
976 DEPENDS:=+kmod-lib-lzo
977 KCONFIG:= \
978 CONFIG_ZSMALLOC \
979 CONFIG_ZRAM \
980 CONFIG_ZRAM_DEBUG=n \
981 CONFIG_PGTABLE_MAPPING=n \
982 CONFIG_ZRAM_WRITEBACK=n \
983 CONFIG_ZSMALLOC_STAT=n
984 FILES:= \
985 $(LINUX_DIR)/mm/zsmalloc.ko \
986 $(LINUX_DIR)/drivers/block/zram/zram.ko
987 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
988endef
989
990define KernelPackage/zram/description
991 Compressed RAM block device support
992endef
993
994$(eval $(call KernelPackage,zram))
995
996define KernelPackage/pps
997 SUBMENU:=$(OTHER_MENU)
998 TITLE:=PPS support
999 KCONFIG:=CONFIG_PPS
1000 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
1001 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
1002endef
1003
1004define KernelPackage/pps/description
1005 PPS (Pulse Per Second) is a special pulse provided by some GPS
1006 antennae. Userland can use it to get a high-precision time
1007 reference.
1008endef
1009
1010$(eval $(call KernelPackage,pps))
1011
1012
1013define KernelPackage/pps-gpio
1014 SUBMENU:=$(OTHER_MENU)
1015 TITLE:=PPS client using GPIO
1016 DEPENDS:=+kmod-pps
1017 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
1018 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
1019 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
1020endef
1021
1022define KernelPackage/pps-gpio/description
1023 Support for a PPS source using GPIO. To be useful you must
1024 also register a platform device specifying the GPIO pin and
1025 other options, usually in your board setup.
1026endef
1027
1028$(eval $(call KernelPackage,pps-gpio))
1029
1030
1031define KernelPackage/pps-ldisc
1032 SUBMENU:=$(OTHER_MENU)
1033 TITLE:=PPS line discipline
1034 DEPENDS:=+kmod-pps
1035 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
1036 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
1037 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
1038endef
1039
1040define KernelPackage/pps-ldisc/description
1041 Support for a PPS source connected with the CD (Carrier
1042 Detect) pin of your serial port.
1043endef
1044
1045$(eval $(call KernelPackage,pps-ldisc))
1046
1047
1048define KernelPackage/ptp
1049 SUBMENU:=$(OTHER_MENU)
1050 TITLE:=PTP clock support
1051 DEPENDS:=+kmod-pps
1052 KCONFIG:= \
1053 CONFIG_PTP_1588_CLOCK \
1054 CONFIG_NET_PTP_CLASSIFY=y
1055 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
1056 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
1057endef
1058
1059define KernelPackage/ptp/description
1060 The IEEE 1588 standard defines a method to precisely
1061 synchronize distributed clocks over Ethernet networks.
1062endef
1063
1064$(eval $(call KernelPackage,ptp))
1065
1066
1067define KernelPackage/ptp-qoriq
1068 SUBMENU:=$(OTHER_MENU)
1069 TITLE:=Freescale QorIQ PTP support
1070 DEPENDS:=@(TARGET_mpc85xx||TARGET_qoriq) +kmod-ptp
1071 KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ
1072 FILES:=$(LINUX_DIR)/drivers/ptp/ptp-qoriq.ko
1073 AUTOLOAD:=$(call AutoProbe,ptp-qoriq)
1074endef
1075
1076
1077define KernelPackage/ptp-qoriq/description
1078 Kernel module for IEEE 1588 support for Freescale
1079 QorIQ Ethernet drivers
1080endef
1081
1082$(eval $(call KernelPackage,ptp-qoriq))
1083
1084define KernelPackage/random-core
1085 SUBMENU:=$(OTHER_MENU)
1086 TITLE:=Hardware Random Number Generator Core support
1087 KCONFIG:=CONFIG_HW_RANDOM
1088 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
1089endef
1090
1091define KernelPackage/random-core/description
1092 Kernel module for the HW random number generator core infrastructure
1093endef
1094
1095$(eval $(call KernelPackage,random-core))
1096
1097
1098define KernelPackage/thermal
1099 SUBMENU:=$(OTHER_MENU)
1100 TITLE:=Thermal driver
1101 DEPENDS:=+kmod-hwmon-core
1102 HIDDEN:=1
1103 KCONFIG:= \
1104 CONFIG_THERMAL=y \
1105 CONFIG_THERMAL_OF=y \
1106 CONFIG_CPU_THERMAL=y \
1107 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
1108 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
1109 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
1110 CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
1111 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
1112 CONFIG_THERMAL_GOV_STEP_WISE=y \
1113 CONFIG_THERMAL_GOV_USER_SPACE=n \
1114 CONFIG_THERMAL_HWMON=y \
1115 CONFIG_THERMAL_EMULATION=n
1116endef
1117
1118define KernelPackage/thermal/description
1119 Thermal driver offers a generic mechanism for thermal management.
1120 Usually it's made up of one or more thermal zone and cooling device.
1121endef
1122
1123$(eval $(call KernelPackage,thermal))
1124
1125
1126define KernelPackage/echo
1127 SUBMENU:=$(OTHER_MENU)
1128 TITLE:=Line Echo Canceller
1129 KCONFIG:=CONFIG_ECHO
1130 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
1131 AUTOLOAD:=$(call AutoLoad,50,echo)
1132endef
1133
1134define KernelPackage/echo/description
1135 This driver provides line echo cancelling support for mISDN and
1136 DAHDI drivers
1137endef
1138
1139$(eval $(call KernelPackage,echo))
1140
1141
1142define KernelPackage/keys-encrypted
1143 SUBMENU:=$(OTHER_MENU)
1144 TITLE:=encrypted keys on kernel keyring
1145 DEPENDS:=@KERNEL_KEYS +kmod-crypto-cbc +kmod-crypto-hmac +kmod-crypto-rng \
1146 +kmod-crypto-sha256 +kmod-keys-trusted
1147 KCONFIG:=CONFIG_ENCRYPTED_KEYS
1148 FILES:=$(LINUX_DIR)/security/keys/encrypted-keys/encrypted-keys.ko
1149 AUTOLOAD:=$(call AutoLoad,01,encrypted-keys,1)
1150endef
1151
1152define KernelPackage/keys-encrypted/description
1153 This module provides support for create/encrypting/decrypting keys
1154 in the kernel. Encrypted keys are kernel generated random numbers,
1155 which are encrypted/decrypted with a 'master' symmetric key. The
1156 'master' key can be either a trusted-key or user-key type.
1157 Userspace only ever sees/stores encrypted blobs.
1158endef
1159
1160$(eval $(call KernelPackage,keys-encrypted))
1161
1162
1163define KernelPackage/keys-trusted
1164 SUBMENU:=$(OTHER_MENU)
1165 TITLE:=TPM trusted keys on kernel keyring
1166 DEPENDS:=@KERNEL_KEYS +kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha1 +kmod-tpm
1167 KCONFIG:=CONFIG_TRUSTED_KEYS
1168 FILES:= \
1169 $(LINUX_DIR)/security/keys/trusted.ko@lt5.10 \
1170 $(LINUX_DIR)/security/keys/trusted-keys/trusted.ko@ge5.10
1171 AUTOLOAD:=$(call AutoLoad,01,trusted-keys,1)
1172endef
1173
1174define KernelPackage/keys-trusted/description
1175 This module provides support for creating, sealing, and unsealing
1176 keys in the kernel. Trusted keys are random number symmetric keys,
1177 generated and RSA-sealed by the TPM. The TPM only unseals the keys,
1178 if the boot PCRs and other criteria match. Userspace will only ever
1179 see encrypted blobs.
1180endef
1181
1182$(eval $(call KernelPackage,keys-trusted))
1183
1184
1185define KernelPackage/tpm
1186 SUBMENU:=$(OTHER_MENU)
1187 TITLE:=TPM Hardware Support
1188 DEPENDS:= +kmod-random-core +kmod-asn1-decoder \
1189 +kmod-asn1-encoder +kmod-oid-registry
1190 KCONFIG:= CONFIG_TCG_TPM
1191 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
1192 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
1193endef
1194
1195define KernelPackage/tpm/description
1196 This enables TPM Hardware Support.
1197endef
1198
1199$(eval $(call KernelPackage,tpm))
1200
1201define KernelPackage/tpm-tis
1202 SUBMENU:=$(OTHER_MENU)
1203 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1204 DEPENDS:= @TARGET_x86 +kmod-tpm
1205 KCONFIG:= CONFIG_TCG_TIS
1206 FILES:= \
1207 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1208 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1209 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1210endef
1211
1212define KernelPackage/tpm-tis/description
1213 If you have a TPM security chip that is compliant with the
1214 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1215 specification (TPM2.0) say Yes and it will be accessible from
1216 within Linux.
1217endef
1218
1219$(eval $(call KernelPackage,tpm-tis))
1220
1221define KernelPackage/tpm-i2c-atmel
1222 SUBMENU:=$(OTHER_MENU)
1223 TITLE:=TPM I2C Atmel Support
1224 DEPENDS:= +kmod-tpm +kmod-i2c-core
1225 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1226 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1227 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1228endef
1229
1230define KernelPackage/tpm-i2c-atmel/description
1231 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1232endef
1233
1234$(eval $(call KernelPackage,tpm-i2c-atmel))
1235
1236define KernelPackage/tpm-i2c-infineon
1237 SUBMENU:=$(OTHER_MENU)
1238 TITLE:= TPM I2C Infineon driver
1239 DEPENDS:= +kmod-tpm +kmod-i2c-core
1240 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1241 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1242 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1243endef
1244
1245define KernelPackage/tpm-i2c-infineon/description
1246 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1247endef
1248
1249$(eval $(call KernelPackage,tpm-i2c-infineon))
1250
1251
1252define KernelPackage/i6300esb-wdt
1253 SUBMENU:=$(OTHER_MENU)
1254 TITLE:=Intel 6300ESB Timer/Watchdog
1255 DEPENDS:=@PCI_SUPPORT @!SMALL_FLASH
1256 KCONFIG:=CONFIG_I6300ESB_WDT \
1257 CONFIG_WATCHDOG_CORE=y
1258 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/i6300esb.ko
1259 AUTOLOAD:=$(call AutoLoad,50,i6300esb,1)
1260endef
1261
1262define KernelPackage/i6300esb-wdt/description
1263 Kernel module for the watchdog timer built into the Intel
1264 6300ESB controller hub. Also used by QEMU/libvirt.
1265endef
1266
1267$(eval $(call KernelPackage,i6300esb-wdt))
1268
1269
1270define KernelPackage/itco-wdt
1271 SUBMENU:=$(OTHER_MENU)
1272 TITLE:=Intel iTCO Watchdog Timer
1273 KCONFIG:=CONFIG_ITCO_WDT \
1274 CONFIG_ITCO_VENDOR_SUPPORT=y
1275 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1276 $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1277 AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1278endef
1279
1280define KernelPackage/itco-wdt/description
1281 Kernel module for Intel iTCO Watchdog Timer
1282endef
1283
1284$(eval $(call KernelPackage,itco-wdt))
1285
1286
1287define KernelPackage/mhi-bus
1288 SUBMENU:=$(OTHER_MENU)
1289 TITLE:=MHI bus
1290 DEPENDS:=@(LINUX_5_15||LINUX_6_1||LINUX_6_6)
1291 KCONFIG:=CONFIG_MHI_BUS \
1292 CONFIG_MHI_BUS_DEBUG=y
1293 FILES:=$(LINUX_DIR)/drivers/bus/mhi/host/mhi.ko
1294 AUTOLOAD:=$(call AutoProbe,mhi)
1295endef
1296
1297define KernelPackage/mhi-bus/description
1298 Kernel module for the Qualcomm MHI bus.
1299endef
1300
1301$(eval $(call KernelPackage,mhi-bus))
1302
1303define KernelPackage/mhi-pci-generic
1304 SUBMENU:=$(OTHER_MENU)
1305 TITLE:=MHI PCI controller driver
1306 DEPENDS:=@PCI_SUPPORT +kmod-mhi-bus
1307 KCONFIG:=CONFIG_MHI_BUS_PCI_GENERIC
1308 FILES:=$(LINUX_DIR)/drivers/bus/mhi/host/mhi_pci_generic.ko
1309 AUTOLOAD:=$(call AutoProbe,mhi_pci_generic)
1310endef
1311
1312define KernelPackage/mhi-pci-generic/description
1313 Kernel module for the MHI PCI controller driver.
1314endef
1315
1316$(eval $(call KernelPackage,mhi-pci-generic))
1317
1318define KernelPackage/hw_breakpoint
1319 SUBMENU:=$(OTHER_MENU)
1320 TITLE:=HW breakpoint/watchpoint sample
1321 KCONFIG:= \
1322 CONFIG_HAVE_HW_BREAKPOINT
1323 FILES:= \
1324 $(LINUX_DIR)/samples/hw_breakpoint/data_breakpoint.ko
1325endef
1326
1327define KernelPackage/hw_breakpoint/description
1328 Kernel module of HW breakpoint/watchpoint sample
1329endef
1330
1331$(eval $(call KernelPackage,hw_breakpoint))
1332