2 # Copyright (C) 2006-2015 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 OTHER_MENU:=Other modules
10 WATCHDOG_DIR:=watchdog
13 define KernelPackage/6lowpan
14 SUBMENU:=$(OTHER_MENU)
15 TITLE:=6LoWPAN shared code
19 FILES:=$(LINUX_DIR)/net/6lowpan/6lowpan.ko
20 AUTOLOAD:=$(call AutoProbe,6lowpan)
23 define KernelPackage/6lowpan/description
24 Shared 6lowpan code for IEEE 802.15.4 and Bluetooth.
27 $(eval $(call KernelPackage,6lowpan))
30 define KernelPackage/bluetooth
31 SUBMENU:=$(OTHER_MENU)
32 TITLE:=Bluetooth support
33 DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +kmod-crypto-ecb +kmod-lib-crc16 +kmod-hid +kmod-crypto-cmac +kmod-regmap-core +!LINUX_4_9:kmod-crypto-ecdh
42 CONFIG_BT_HCIBTUSB_BCM=n \
44 CONFIG_BT_HCIUART_BCM=n \
45 CONFIG_BT_HCIUART_INTEL=n \
46 CONFIG_BT_HCIUART_H4 \
47 CONFIG_BT_HCIUART_NOKIA=n \
49 $(call AddDepends/rfkill)
51 $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
52 $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
53 $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
54 $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
55 $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
56 $(LINUX_DIR)/drivers/bluetooth/btusb.ko
57 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,4.1.0)),1)
59 $(LINUX_DIR)/drivers/bluetooth/btintel.ko
61 AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
64 define KernelPackage/bluetooth/description
65 Kernel support for Bluetooth devices
68 $(eval $(call KernelPackage,bluetooth))
70 define KernelPackage/ath3k
71 SUBMENU:=$(OTHER_MENU)
72 TITLE:=ATH3K Kernel Module support
73 DEPENDS:=+kmod-bluetooth +ar3k-firmware
76 CONFIG_BT_HCIUART_ATH3K=y
77 $(call AddDepends/bluetooth)
79 $(LINUX_DIR)/drivers/bluetooth/ath3k.ko
80 AUTOLOAD:=$(call AutoProbe,ath3k)
83 define KernelPackage/ath3k/description
84 Kernel support for ATH3K Module
87 $(eval $(call KernelPackage,ath3k))
90 define KernelPackage/bluetooth_6lowpan
91 SUBMENU:=$(OTHER_MENU)
92 TITLE:=Bluetooth 6LoWPAN support
93 DEPENDS:=+kmod-6lowpan +kmod-bluetooth
94 KCONFIG:=CONFIG_BT_6LOWPAN
95 FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko
96 AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan)
99 define KernelPackage/bluetooth_6lowpan/description
100 Kernel support for 6LoWPAN over Bluetooth Low Energy devices
103 $(eval $(call KernelPackage,bluetooth_6lowpan))
106 define KernelPackage/btmrvl
107 SUBMENU:=$(OTHER_MENU)
108 TITLE:=Marvell Bluetooth Kernel Module support
109 DEPENDS:=+kmod-mmc +kmod-bluetooth +mwifiex-sdio-firmware
113 $(call AddDepends/bluetooth)
115 $(LINUX_DIR)/drivers/bluetooth/btmrvl.ko \
116 $(LINUX_DIR)/drivers/bluetooth/btmrvl_sdio.ko
117 AUTOLOAD:=$(call AutoProbe,btmrvl btmrvl_sdio)
120 define KernelPackage/btmrvl/description
121 Kernel support for Marvell SDIO Bluetooth Module
124 $(eval $(call KernelPackage,btmrvl))
127 define KernelPackage/dma-buf
128 SUBMENU:=$(OTHER_MENU)
129 TITLE:=DMA shared buffer support
131 KCONFIG:=CONFIG_DMA_SHARED_BUFFER
132 ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
133 ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
134 FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
137 AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
139 $(eval $(call KernelPackage,dma-buf))
142 define KernelPackage/nvmem
143 SUBMENU:=$(OTHER_MENU)
144 TITLE:=Non Volatile Memory support
145 KCONFIG:=CONFIG_NVMEM
147 FILES:=$(LINUX_DIR)/drivers/nvmem/nvmem_core.ko@ge4.9
150 define KernelPackage/nvmem/description
151 Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES, etc.
154 $(eval $(call KernelPackage,nvmem))
156 define KernelPackage/eeprom-93cx6
157 SUBMENU:=$(OTHER_MENU)
158 TITLE:=EEPROM 93CX6 support
159 KCONFIG:=CONFIG_EEPROM_93CX6
160 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
161 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
164 define KernelPackage/eeprom-93cx6/description
165 Kernel module for EEPROM 93CX6 support
168 $(eval $(call KernelPackage,eeprom-93cx6))
171 define KernelPackage/eeprom-at24
172 SUBMENU:=$(OTHER_MENU)
173 TITLE:=EEPROM AT24 support
174 KCONFIG:=CONFIG_EEPROM_AT24
175 DEPENDS:=+kmod-i2c-core +kmod-nvmem +LINUX_4_19:kmod-regmap-i2c
176 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
177 AUTOLOAD:=$(call AutoProbe,at24)
180 define KernelPackage/eeprom-at24/description
181 Kernel module for most I2C EEPROMs
184 $(eval $(call KernelPackage,eeprom-at24))
187 define KernelPackage/eeprom-at25
188 SUBMENU:=$(OTHER_MENU)
189 TITLE:=EEPROM AT25 support
190 KCONFIG:=CONFIG_EEPROM_AT25
192 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
193 AUTOLOAD:=$(call AutoProbe,at25)
196 define KernelPackage/eeprom-at25/description
197 Kernel module for most SPI EEPROMs
200 $(eval $(call KernelPackage,eeprom-at25))
203 define KernelPackage/gpio-dev
204 SUBMENU:=$(OTHER_MENU)
205 TITLE:=Generic GPIO char device support
206 DEPENDS:=@GPIO_SUPPORT
207 KCONFIG:=CONFIG_GPIO_DEVICE
208 FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
209 AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
212 define KernelPackage/gpio-dev/description
213 Kernel module to allows control of GPIO pins using a character device.
216 $(eval $(call KernelPackage,gpio-dev))
219 define KernelPackage/gpio-mcp23s08
220 SUBMENU:=$(OTHER_MENU)
221 TITLE:=Microchip MCP23xxx I/O expander
222 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +!LINUX_4_9:kmod-regmap-i2c
224 CONFIG_GPIO_MCP23S08 \
225 CONFIG_PINCTRL_MCP23S08
227 $(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko@lt4.13 \
228 $(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko@ge4.13
229 AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08@lt4.13 pinctrl-mcp23s08@ge4.13)
232 define KernelPackage/gpio-mcp23s08/description
233 Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
236 $(eval $(call KernelPackage,gpio-mcp23s08))
239 define KernelPackage/gpio-nxp-74hc164
240 SUBMENU:=$(OTHER_MENU)
241 TITLE:=NXP 74HC164 GPIO expander support
242 KCONFIG:=CONFIG_GPIO_74X164
243 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-74x164.ko
244 AUTOLOAD:=$(call AutoProbe,gpio-74x164)
247 define KernelPackage/gpio-nxp-74hc164/description
248 Kernel module for NXP 74HC164 GPIO expander
251 $(eval $(call KernelPackage,gpio-nxp-74hc164))
253 define KernelPackage/gpio-pca953x
254 SUBMENU:=$(OTHER_MENU)
255 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
256 TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
257 KCONFIG:=CONFIG_GPIO_PCA953X
258 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
259 AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
262 define KernelPackage/gpio-pca953x/description
263 Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
264 PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
267 $(eval $(call KernelPackage,gpio-pca953x))
269 define KernelPackage/gpio-pcf857x
270 SUBMENU:=$(OTHER_MENU)
271 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
272 TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
273 KCONFIG:=CONFIG_GPIO_PCF857X
274 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
275 AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
278 define KernelPackage/gpio-pcf857x/description
279 Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
282 $(eval $(call KernelPackage,gpio-pcf857x))
285 define KernelPackage/ppdev
286 SUBMENU:=$(OTHER_MENU)
287 TITLE:=Parallel port support
292 $(LINUX_DIR)/drivers/parport/parport.ko \
293 $(LINUX_DIR)/drivers/char/ppdev.ko
294 AUTOLOAD:=$(call AutoLoad,50,parport ppdev)
297 $(eval $(call KernelPackage,ppdev))
300 define KernelPackage/parport-pc
301 SUBMENU:=$(OTHER_MENU)
302 TITLE:=Parallel port interface (PC-style) support
307 CONFIG_PARPORT_1284=y \
308 CONFIG_PARPORT_PC_FIFO=y \
309 CONFIG_PARPORT_PC_PCMCIA=n \
310 CONFIG_PARPORT_PC_SUPERIO=y \
311 CONFIG_PARPORT_SERIAL=n \
316 $(LINUX_DIR)/drivers/parport/parport_pc.ko
317 AUTOLOAD:=$(call AutoLoad,51,parport_pc)
320 $(eval $(call KernelPackage,parport-pc))
323 define KernelPackage/lp
324 SUBMENU:=$(OTHER_MENU)
325 TITLE:=Parallel port line printer device support
330 $(LINUX_DIR)/drivers/char/lp.ko
331 AUTOLOAD:=$(call AutoLoad,52,lp)
334 $(eval $(call KernelPackage,lp))
337 define KernelPackage/mmc
338 SUBMENU:=$(OTHER_MENU)
339 TITLE:=MMC/SD Card Support
340 DEPENDS:=@!TARGET_uml
345 CONFIG_MMC_UNSAFE_RESUME=n \
346 CONFIG_MMC_BLOCK_BOUNCE=y \
347 CONFIG_MMC_TIFM_SD=n \
351 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
352 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko@lt4.10 \
353 $(LINUX_DIR)/drivers/mmc/core/mmc_block.ko@ge4.10
354 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
357 define KernelPackage/mmc/description
358 Kernel support for MMC/SD cards
361 $(eval $(call KernelPackage,mmc))
364 define KernelPackage/sdhci
365 SUBMENU:=$(OTHER_MENU)
366 TITLE:=Secure Digital Host Controller Interface support
370 CONFIG_MMC_SDHCI_PLTFM \
371 CONFIG_MMC_SDHCI_PCI=n
373 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
374 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
376 AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
379 define KernelPackage/sdhci/description
380 Kernel support for SDHCI Hosts
383 $(eval $(call KernelPackage,sdhci))
386 define KernelPackage/rfkill
387 SUBMENU:=$(OTHER_MENU)
388 TITLE:=RF switch subsystem support
389 DEPENDS:=@USE_RFKILL +kmod-input-core
392 CONFIG_RFKILL_INPUT=y \
395 $(LINUX_DIR)/net/rfkill/rfkill.ko
396 AUTOLOAD:=$(call AutoLoad,20,rfkill)
399 define KernelPackage/rfkill/description
400 Say Y here if you want to have control over RF switches
401 found on many WiFi and Bluetooth cards
404 $(eval $(call KernelPackage,rfkill))
407 define KernelPackage/softdog
408 SUBMENU:=$(OTHER_MENU)
409 TITLE:=Software watchdog driver
410 KCONFIG:=CONFIG_SOFT_WATCHDOG \
411 CONFIG_SOFT_WATCHDOG_PRETIMEOUT=n
412 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
413 AUTOLOAD:=$(call AutoLoad,50,softdog,1)
416 define KernelPackage/softdog/description
417 Software watchdog driver
420 $(eval $(call KernelPackage,softdog))
423 define KernelPackage/ssb
424 SUBMENU:=$(OTHER_MENU)
425 TITLE:=Silicon Sonics Backplane glue code
426 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
429 CONFIG_SSB_B43_PCI_BRIDGE=y \
430 CONFIG_SSB_DRIVER_MIPS=n \
431 CONFIG_SSB_DRIVER_PCICORE=y \
432 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
433 CONFIG_SSB_PCIHOST=y \
434 CONFIG_SSB_PCIHOST_POSSIBLE=y \
435 CONFIG_SSB_POSSIBLE=y \
438 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
439 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
442 define KernelPackage/ssb/description
443 Silicon Sonics Backplane glue code.
446 $(eval $(call KernelPackage,ssb))
449 define KernelPackage/bcma
450 SUBMENU:=$(OTHER_MENU)
452 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
455 CONFIG_BCMA_POSSIBLE=y \
456 CONFIG_BCMA_BLOCKIO=y \
457 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
458 CONFIG_BCMA_HOST_PCI=y \
459 CONFIG_BCMA_HOST_SOC=n \
460 CONFIG_BCMA_DRIVER_MIPS=n \
461 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
462 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
464 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
465 AUTOLOAD:=$(call AutoLoad,29,bcma)
468 define KernelPackage/bcma/description
469 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
472 $(eval $(call KernelPackage,bcma))
475 define KernelPackage/rtc-ds1307
476 SUBMENU:=$(OTHER_MENU)
477 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
478 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
479 DEPENDS:=+kmod-i2c-core +!LINUX_4_9:kmod-regmap-i2c +!LINUX_4_9:kmod-hwmon-core
480 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
482 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
483 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
486 define KernelPackage/rtc-ds1307/description
487 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
488 Epson RX-8025 and various other compatible RTC chips connected via I2C.
491 $(eval $(call KernelPackage,rtc-ds1307))
494 define KernelPackage/rtc-ds1374
495 SUBMENU:=$(OTHER_MENU)
496 TITLE:=Dallas/Maxim DS1374 RTC support
497 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
498 DEPENDS:=+kmod-i2c-core
499 KCONFIG:=CONFIG_RTC_DRV_DS1374 \
500 CONFIG_RTC_DRV_DS1374_WDT=n \
502 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
503 AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
506 define KernelPackage/rtc-ds1374/description
507 Kernel module for Dallas/Maxim DS1374.
510 $(eval $(call KernelPackage,rtc-ds1374))
513 define KernelPackage/rtc-ds1672
514 SUBMENU:=$(OTHER_MENU)
515 TITLE:=Dallas/Maxim DS1672 RTC support
516 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
517 DEPENDS:=+kmod-i2c-core
518 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
520 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
521 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
524 define KernelPackage/rtc-ds1672/description
525 Kernel module for Dallas/Maxim DS1672 RTC.
528 $(eval $(call KernelPackage,rtc-ds1672))
531 define KernelPackage/rtc-em3027
532 SUBMENU:=$(OTHER_MENU)
533 TITLE:=Microelectronic EM3027 RTC support
534 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
535 DEPENDS:=+kmod-i2c-core
536 KCONFIG:=CONFIG_RTC_DRV_EM3027 \
538 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-em3027.ko
539 AUTOLOAD:=$(call AutoProbe,rtc-em3027)
542 define KernelPackage/rtc-em3027/description
543 Kernel module for Microelectronic EM3027 RTC.
546 $(eval $(call KernelPackage,rtc-em3027))
549 define KernelPackage/rtc-isl1208
550 SUBMENU:=$(OTHER_MENU)
551 TITLE:=Intersil ISL1208 RTC support
552 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
553 DEPENDS:=+kmod-i2c-core
554 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
556 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
557 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
560 define KernelPackage/rtc-isl1208/description
561 Kernel module for Intersil ISL1208 RTC.
564 $(eval $(call KernelPackage,rtc-isl1208))
567 define KernelPackage/rtc-pcf8563
568 SUBMENU:=$(OTHER_MENU)
569 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
570 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
571 DEPENDS:=+kmod-i2c-core
572 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
574 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
575 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
578 define KernelPackage/rtc-pcf8563/description
579 Kernel module for Philips PCF8563 RTC chip.
580 The Epson RTC8564 should work as well.
583 $(eval $(call KernelPackage,rtc-pcf8563))
586 define KernelPackage/rtc-pcf2123
587 SUBMENU:=$(OTHER_MENU)
588 TITLE:=Philips PCF2123 RTC support
589 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
590 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
592 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
593 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
596 define KernelPackage/rtc-pcf2123/description
597 Kernel module for Philips PCF2123 RTC chip
600 $(eval $(call KernelPackage,rtc-pcf2123))
602 define KernelPackage/rtc-pt7c4338
603 SUBMENU:=$(OTHER_MENU)
604 TITLE:=Pericom PT7C4338 RTC support
605 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
606 DEPENDS:=+kmod-i2c-core
607 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
609 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
610 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
613 define KernelPackage/rtc-pt7c4338/description
614 Kernel module for Pericom PT7C4338 i2c RTC chip
617 $(eval $(call KernelPackage,rtc-pt7c4338))
619 define KernelPackage/rtc-rs5c372a
620 SUBMENU:=$(OTHER_MENU)
621 TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
622 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
623 DEPENDS:=+kmod-i2c-core
624 KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
626 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
627 AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
630 define KernelPackage/rtc-rs5c372a/description
631 Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
634 $(eval $(call KernelPackage,rtc-rs5c372a))
637 define KernelPackage/mtdtests
638 SUBMENU:=$(OTHER_MENU)
639 TITLE:=MTD subsystem tests
640 KCONFIG:=CONFIG_MTD_TESTS
642 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
643 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
644 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
645 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
646 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
647 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
648 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
649 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
652 define KernelPackage/mtdtests/description
653 Kernel modules for MTD subsystem/driver testing
656 $(eval $(call KernelPackage,mtdtests))
659 define KernelPackage/mtdoops
660 SUBMENU:=$(OTHER_MENU)
661 TITLE:=Log panic/oops to an MTD buffer
662 KCONFIG:=CONFIG_MTD_OOPS
663 FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
666 define KernelPackage/mtdoops/description
667 Kernel modules for Log panic/oops to an MTD buffer
670 $(eval $(call KernelPackage,mtdoops))
673 define KernelPackage/mtdram
674 SUBMENU:=$(OTHER_MENU)
675 TITLE:=Test MTD driver using RAM
676 KCONFIG:=CONFIG_MTD_MTDRAM \
677 CONFIG_MTDRAM_TOTAL_SIZE=4096 \
678 CONFIG_MTDRAM_ERASE_SIZE=128
679 FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
682 define KernelPackage/mtdram/description
683 Test MTD driver using RAM
686 $(eval $(call KernelPackage,mtdram))
689 define KernelPackage/serial-8250
690 SUBMENU:=$(OTHER_MENU)
692 KCONFIG:= CONFIG_SERIAL_8250 \
693 CONFIG_SERIAL_8250_PCI \
694 CONFIG_SERIAL_8250_NR_UARTS=16 \
695 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
696 CONFIG_SERIAL_8250_EXTENDED=y \
697 CONFIG_SERIAL_8250_MANY_PORTS=y \
698 CONFIG_SERIAL_8250_SHARE_IRQ=y \
699 CONFIG_SERIAL_8250_DETECT_IRQ=n \
700 CONFIG_SERIAL_8250_RSA=n
702 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
703 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4 \
704 $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko@ge4.4)
705 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
708 define KernelPackage/serial-8250/description
709 Kernel module for 8250 UART based serial ports
712 $(eval $(call KernelPackage,serial-8250))
715 define KernelPackage/serial-8250-exar
716 SUBMENU:=$(OTHER_MENU)
717 TITLE:=Exar 8250 UARTs
718 KCONFIG:= CONFIG_SERIAL_8250_EXAR
719 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
720 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
721 DEPENDS:=+kmod-serial-8250
724 define KernelPackage/serial-8250-exar/description
725 Kernel module for Exar serial ports
728 $(eval $(call KernelPackage,serial-8250-exar))
731 define KernelPackage/regmap-core
732 SUBMENU:=$(OTHER_MENU)
733 TITLE:=Generic register map support
735 KCONFIG:=CONFIG_REGMAP
736 ifneq ($(wildcard $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko),)
737 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
741 define KernelPackage/regmap-core/description
742 Generic register map support
745 $(eval $(call KernelPackage,regmap-core))
748 define KernelPackage/regmap-spi
749 SUBMENU:=$(OTHER_MENU)
750 TITLE:=SPI register map support
751 DEPENDS:=+kmod-regmap-core
753 KCONFIG:=CONFIG_REGMAP_SPI \
755 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko
758 define KernelPackage/regmap-spi/description
759 SPI register map support
762 $(eval $(call KernelPackage,regmap-spi))
765 define KernelPackage/regmap-i2c
766 SUBMENU:=$(OTHER_MENU)
767 TITLE:=I2C register map support
768 DEPENDS:=+kmod-regmap-core +kmod-i2c-core
770 KCONFIG:=CONFIG_REGMAP_I2C
771 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko
774 define KernelPackage/regmap-i2c/description
775 I2C register map support
778 $(eval $(call KernelPackage,regmap-i2c))
781 define KernelPackage/regmap-mmio
782 SUBMENU:=$(OTHER_MENU)
783 TITLE:=MMIO register map support
784 DEPENDS:=+kmod-regmap-core
786 KCONFIG:=CONFIG_REGMAP_MMIO
787 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko
790 define KernelPackage/regmap-mmio/description
791 MMIO register map support
794 $(eval $(call KernelPackage,regmap-mmio))
797 define KernelPackage/ikconfig
798 SUBMENU:=$(OTHER_MENU)
799 TITLE:=Kernel configuration via /proc/config.gz
800 KCONFIG:=CONFIG_IKCONFIG \
801 CONFIG_IKCONFIG_PROC=y
802 FILES:=$(LINUX_DIR)/kernel/configs.ko
803 AUTOLOAD:=$(call AutoLoad,70,configs)
806 define KernelPackage/ikconfig/description
807 Kernel configuration via /proc/config.gz
810 $(eval $(call KernelPackage,ikconfig))
813 define KernelPackage/zram
814 SUBMENU:=$(OTHER_MENU)
816 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
820 CONFIG_ZRAM_DEBUG=n \
821 CONFIG_PGTABLE_MAPPING=n \
822 CONFIG_ZRAM_WRITEBACK=n \
823 CONFIG_ZSMALLOC_STAT=n \
824 CONFIG_ZRAM_LZ4_COMPRESS=y
826 $(LINUX_DIR)/mm/zsmalloc.ko \
827 $(LINUX_DIR)/drivers/block/zram/zram.ko
828 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
831 define KernelPackage/zram/description
832 Compressed RAM block device support
835 $(eval $(call KernelPackage,zram))
838 define KernelPackage/pps
839 SUBMENU:=$(OTHER_MENU)
842 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
843 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
846 define KernelPackage/pps/description
847 PPS (Pulse Per Second) is a special pulse provided by some GPS
848 antennae. Userland can use it to get a high-precision time
852 $(eval $(call KernelPackage,pps))
855 define KernelPackage/pps-gpio
856 SUBMENU:=$(OTHER_MENU)
857 TITLE:=PPS client using GPIO
859 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
860 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
861 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
864 define KernelPackage/pps-gpio/description
865 Support for a PPS source using GPIO. To be useful you must
866 also register a platform device specifying the GPIO pin and
867 other options, usually in your board setup.
870 $(eval $(call KernelPackage,pps-gpio))
873 define KernelPackage/pps-ldisc
874 SUBMENU:=$(OTHER_MENU)
875 TITLE:=PPS line discipline
877 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
878 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
879 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
882 define KernelPackage/pps-ldisc/description
883 Support for a PPS source connected with the CD (Carrier
884 Detect) pin of your serial port.
887 $(eval $(call KernelPackage,pps-ldisc))
890 define KernelPackage/ptp
891 SUBMENU:=$(OTHER_MENU)
892 TITLE:=PTP clock support
895 CONFIG_PTP_1588_CLOCK \
896 CONFIG_NET_PTP_CLASSIFY=y
897 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
898 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
901 define KernelPackage/ptp/description
902 The IEEE 1588 standard defines a method to precisely
903 synchronize distributed clocks over Ethernet networks.
906 $(eval $(call KernelPackage,ptp))
909 define KernelPackage/ptp-gianfar
910 SUBMENU:=$(OTHER_MENU)
911 TITLE:=Freescale Gianfar PTP support
912 DEPENDS:=@TARGET_mpc85xx +kmod-ptp @!LINUX_4_19
913 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
914 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
915 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
918 define KernelPackage/ptp-gianfar/description
919 Kernel module for IEEE 1588 support for Freescale
920 Gianfar Ethernet drivers
923 $(eval $(call KernelPackage,ptp-gianfar))
925 define KernelPackage/ptp-qoriq
926 SUBMENU:=$(OTHER_MENU)
927 TITLE:=Freescale QorIQ PTP support
928 DEPENDS:=@TARGET_mpc85xx +kmod-ptp @LINUX_4_19
929 KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ
930 FILES:=$(LINUX_DIR)/drivers/ptp/ptp_qoriq.o
931 AUTOLOAD:=$(call AutoProbe,ptp_qoriq)
935 define KernelPackage/ptp-qoriq/description
936 Kernel module for IEEE 1588 support for Freescale
937 QorIQ Ethernet drivers
940 $(eval $(call KernelPackage,ptp-qoriq))
942 define KernelPackage/random-core
943 SUBMENU:=$(OTHER_MENU)
944 TITLE:=Hardware Random Number Generator Core support
945 KCONFIG:=CONFIG_HW_RANDOM
946 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
949 define KernelPackage/random-core/description
950 Kernel module for the HW random number generator core infrastructure
953 $(eval $(call KernelPackage,random-core))
956 define KernelPackage/random-tpm
957 SUBMENU:=$(OTHER_MENU)
958 TITLE:=Hardware Random Number Generator TPM support
959 KCONFIG:=CONFIG_HW_RANDOM_TPM
960 FILES:=$(LINUX_DIR)/drivers/char/hw_random/tpm-rng.ko
961 DEPENDS:= +kmod-random-core +kmod-tpm @!LINUX_4_19
962 AUTOLOAD:=$(call AutoProbe,tpm-rng)
965 define KernelPackage/random-tpm/description
966 Kernel module for the Random Number Generator
967 in the Trusted Platform Module.
970 $(eval $(call KernelPackage,random-tpm))
972 define KernelPackage/thermal
973 SUBMENU:=$(OTHER_MENU)
974 TITLE:=Generic Thermal sysfs driver
975 DEPENDS:=+kmod-hwmon-core
979 CONFIG_THERMAL_OF=y \
980 CONFIG_CPU_THERMAL=y \
981 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
982 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
983 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
984 CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
985 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
986 CONFIG_THERMAL_GOV_STEP_WISE=y \
987 CONFIG_THERMAL_GOV_USER_SPACE=n \
988 CONFIG_THERMAL_HWMON=y \
989 CONFIG_THERMAL_EMULATION=n
990 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
991 AUTOLOAD:=$(call AutoProbe,thermal_sys)
994 define KernelPackage/thermal/description
995 Generic Thermal Sysfs driver offers a generic mechanism for thermal
996 management. Usually it's made up of one or more thermal zone and cooling
1000 $(eval $(call KernelPackage,thermal))
1003 define KernelPackage/gpio-beeper
1004 SUBMENU:=$(OTHER_MENU)
1005 TITLE:=GPIO beeper support
1006 DEPENDS:=+kmod-input-core
1008 CONFIG_INPUT_MISC=y \
1009 CONFIG_INPUT_GPIO_BEEPER
1011 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
1012 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
1015 define KernelPackage/gpio-beeper/description
1016 This enables playing beeps through an GPIO-connected buzzer
1019 $(eval $(call KernelPackage,gpio-beeper))
1022 define KernelPackage/echo
1023 SUBMENU:=$(OTHER_MENU)
1024 TITLE:=Line Echo Canceller
1025 KCONFIG:=CONFIG_ECHO
1026 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
1027 AUTOLOAD:=$(call AutoLoad,50,echo)
1030 define KernelPackage/echo/description
1031 This driver provides line echo cancelling support for mISDN and
1035 $(eval $(call KernelPackage,echo))
1038 define KernelPackage/bmp085
1039 SUBMENU:=$(OTHER_MENU)
1040 TITLE:=BMP085/BMP18x pressure sensor
1041 DEPENDS:= +kmod-regmap-core
1042 KCONFIG:= CONFIG_BMP085
1043 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
1046 define KernelPackage/bmp085/description
1047 This driver adds support for Bosch Sensortec's digital pressure
1048 sensors BMP085 and BMP18x.
1051 $(eval $(call KernelPackage,bmp085))
1054 define KernelPackage/bmp085-i2c
1055 SUBMENU:=$(OTHER_MENU)
1056 TITLE:=BMP085/BMP18x pressure sensor I2C
1057 DEPENDS:= +kmod-bmp085
1058 KCONFIG:= CONFIG_BMP085_I2C
1059 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
1060 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
1062 define KernelPackage/bmp085-i2c/description
1063 This driver adds support for Bosch Sensortec's digital pressure
1064 sensor connected via I2C.
1067 $(eval $(call KernelPackage,bmp085-i2c))
1070 define KernelPackage/bmp085-spi
1071 SUBMENU:=$(OTHER_MENU)
1072 TITLE:=BMP085/BMP18x pressure sensor SPI
1073 DEPENDS:= +kmod-bmp085
1074 KCONFIG:= CONFIG_BMP085_SPI
1075 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
1076 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
1078 define KernelPackage/bmp085-spi/description
1079 This driver adds support for Bosch Sensortec's digital pressure
1080 sensor connected via SPI.
1083 $(eval $(call KernelPackage,bmp085-spi))
1085 define KernelPackage/tpm
1086 SUBMENU:=$(OTHER_MENU)
1087 TITLE:=TPM Hardware Support
1088 KCONFIG:= CONFIG_TCG_TPM
1089 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
1090 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
1093 define KernelPackage/tpm/description
1094 This enables TPM Hardware Support.
1097 $(eval $(call KernelPackage,tpm))
1099 define KernelPackage/tpm-tis
1100 SUBMENU:=$(OTHER_MENU)
1101 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1102 DEPENDS:= @TARGET_x86 +kmod-tpm
1103 KCONFIG:= CONFIG_TCG_TIS
1105 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1106 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1107 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1110 define KernelPackage/tpm-tis/description
1111 If you have a TPM security chip that is compliant with the
1112 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1113 specification (TPM2.0) say Yes and it will be accessible from
1117 $(eval $(call KernelPackage,tpm-tis))
1119 define KernelPackage/tpm-i2c-atmel
1120 SUBMENU:=$(OTHER_MENU)
1121 TITLE:=TPM I2C Atmel Support
1122 DEPENDS:= +kmod-tpm +kmod-i2c-core
1123 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1124 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1125 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1128 define KernelPackage/tpm-i2c-atmel/description
1129 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1132 $(eval $(call KernelPackage,tpm-i2c-atmel))
1134 define KernelPackage/tpm-i2c-infineon
1135 SUBMENU:=$(OTHER_MENU)
1136 TITLE:= TPM I2C Infineon driver
1137 DEPENDS:= +kmod-tpm +kmod-i2c-core
1138 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1139 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1140 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1143 define KernelPackage/tpm-i2c-infineon/description
1144 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1147 $(eval $(call KernelPackage,tpm-i2c-infineon))
1150 define KernelPackage/w83627hf-wdt
1151 SUBMENU:=$(OTHER_MENU)
1152 TITLE:=Winbond 83627HF Watchdog Timer
1153 KCONFIG:=CONFIG_W83627HF_WDT
1154 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1155 AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1158 define KernelPackage/w83627hf-wdt/description
1159 Kernel module for Winbond 83627HF Watchdog Timer
1162 $(eval $(call KernelPackage,w83627hf-wdt))
1165 define KernelPackage/itco-wdt
1166 SUBMENU:=$(OTHER_MENU)
1167 TITLE:=Intel iTCO Watchdog Timer
1168 KCONFIG:=CONFIG_ITCO_WDT \
1169 CONFIG_ITCO_VENDOR_SUPPORT=y
1170 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1171 $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1172 AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1175 define KernelPackage/itco-wdt/description
1176 Kernel module for Intel iTCO Watchdog Timer
1179 $(eval $(call KernelPackage,itco-wdt))
1182 define KernelPackage/it87-wdt
1183 SUBMENU:=$(OTHER_MENU)
1184 TITLE:=ITE IT87 Watchdog Timer
1185 KCONFIG:=CONFIG_IT87_WDT
1186 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1187 AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1188 MODPARAMS.it87-wdt:= \
1193 define KernelPackage/it87-wdt/description
1194 Kernel module for ITE IT87 Watchdog Timer
1197 $(eval $(call KernelPackage,it87-wdt))