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 +!LINUX_3_18:kmod-crypto-cmac +!LINUX_3_18:kmod-regmap +!(LINUX_3_18||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
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_3_18||LINUX_4_9):kmod-regmap
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_14:kmod-regmap
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-isl1208
532 SUBMENU:=$(OTHER_MENU)
533 TITLE:=Intersil ISL1208 RTC support
534 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
535 DEPENDS:=+kmod-i2c-core
536 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
538 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
539 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
542 define KernelPackage/rtc-isl1208/description
543 Kernel module for Intersil ISL1208 RTC.
546 $(eval $(call KernelPackage,rtc-isl1208))
549 define KernelPackage/rtc-pcf8563
550 SUBMENU:=$(OTHER_MENU)
551 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
552 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
553 DEPENDS:=+kmod-i2c-core
554 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
556 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
557 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
560 define KernelPackage/rtc-pcf8563/description
561 Kernel module for Philips PCF8563 RTC chip.
562 The Epson RTC8564 should work as well.
565 $(eval $(call KernelPackage,rtc-pcf8563))
568 define KernelPackage/rtc-pcf2123
569 SUBMENU:=$(OTHER_MENU)
570 TITLE:=Philips PCF2123 RTC support
571 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
572 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
574 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
575 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
578 define KernelPackage/rtc-pcf2123/description
579 Kernel module for Philips PCF2123 RTC chip
582 $(eval $(call KernelPackage,rtc-pcf2123))
584 define KernelPackage/rtc-pt7c4338
585 SUBMENU:=$(OTHER_MENU)
586 TITLE:=Pericom PT7C4338 RTC support
587 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
588 DEPENDS:=+kmod-i2c-core
589 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
591 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
592 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
595 define KernelPackage/rtc-pt7c4338/description
596 Kernel module for Pericom PT7C4338 i2c RTC chip
599 $(eval $(call KernelPackage,rtc-pt7c4338))
601 define KernelPackage/rtc-rs5c372a
602 SUBMENU:=$(OTHER_MENU)
603 TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
604 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
605 DEPENDS:=+kmod-i2c-core
606 KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
608 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
609 AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
612 define KernelPackage/rtc-rs5c372a/description
613 Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
616 $(eval $(call KernelPackage,rtc-rs5c372a))
619 define KernelPackage/mtdtests
620 SUBMENU:=$(OTHER_MENU)
621 TITLE:=MTD subsystem tests
622 KCONFIG:=CONFIG_MTD_TESTS
624 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
625 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
626 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
627 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
628 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
629 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
630 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
631 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
634 define KernelPackage/mtdtests/description
635 Kernel modules for MTD subsystem/driver testing
638 $(eval $(call KernelPackage,mtdtests))
641 define KernelPackage/mtdoops
642 SUBMENU:=$(OTHER_MENU)
643 TITLE:=Log panic/oops to an MTD buffer
644 KCONFIG:=CONFIG_MTD_OOPS
645 FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
648 define KernelPackage/mtdoops/description
649 Kernel modules for Log panic/oops to an MTD buffer
652 $(eval $(call KernelPackage,mtdoops))
655 define KernelPackage/mtdram
656 SUBMENU:=$(OTHER_MENU)
657 TITLE:=Test MTD driver using RAM
658 KCONFIG:=CONFIG_MTD_MTDRAM \
659 CONFIG_MTDRAM_TOTAL_SIZE=4096 \
660 CONFIG_MTDRAM_ERASE_SIZE=128
661 FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
664 define KernelPackage/mtdram/description
665 Test MTD driver using RAM
668 $(eval $(call KernelPackage,mtdram))
671 define KernelPackage/serial-8250
672 SUBMENU:=$(OTHER_MENU)
674 KCONFIG:= CONFIG_SERIAL_8250 \
675 CONFIG_SERIAL_8250_PCI \
676 CONFIG_SERIAL_8250_NR_UARTS=16 \
677 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
678 CONFIG_SERIAL_8250_EXTENDED=y \
679 CONFIG_SERIAL_8250_MANY_PORTS=y \
680 CONFIG_SERIAL_8250_SHARE_IRQ=y \
681 CONFIG_SERIAL_8250_DETECT_IRQ=n \
682 CONFIG_SERIAL_8250_RSA=n
684 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
685 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4 \
686 $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko@ge4.4)
687 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
690 define KernelPackage/serial-8250/description
691 Kernel module for 8250 UART based serial ports
694 $(eval $(call KernelPackage,serial-8250))
697 define KernelPackage/serial-8250-exar
698 SUBMENU:=$(OTHER_MENU)
699 TITLE:=Exar 8250 UARTs
700 KCONFIG:= CONFIG_SERIAL_8250_EXAR
701 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
702 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
703 DEPENDS:=+kmod-serial-8250
706 define KernelPackage/serial-8250-exar/description
707 Kernel module for Exar serial ports
710 $(eval $(call KernelPackage,serial-8250-exar))
713 define KernelPackage/regmap
714 SUBMENU:=$(OTHER_MENU)
715 TITLE:=Generic register map support
716 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
717 KCONFIG:=CONFIG_REGMAP \
723 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
724 $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
725 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
726 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
727 ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
728 ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
729 FILES += $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
734 define KernelPackage/regmap/description
735 Generic register map support
738 $(eval $(call KernelPackage,regmap))
740 define KernelPackage/ikconfig
741 SUBMENU:=$(OTHER_MENU)
742 TITLE:=Kernel configuration via /proc/config.gz
743 KCONFIG:=CONFIG_IKCONFIG \
744 CONFIG_IKCONFIG_PROC=y
745 FILES:=$(LINUX_DIR)/kernel/configs.ko
746 AUTOLOAD:=$(call AutoLoad,70,configs)
749 define KernelPackage/ikconfig/description
750 Kernel configuration via /proc/config.gz
753 $(eval $(call KernelPackage,ikconfig))
756 define KernelPackage/zram
757 SUBMENU:=$(OTHER_MENU)
759 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
763 CONFIG_ZRAM_DEBUG=n \
764 CONFIG_PGTABLE_MAPPING=n \
765 CONFIG_ZRAM_WRITEBACK=n \
766 CONFIG_ZSMALLOC_STAT=n \
767 CONFIG_ZRAM_LZ4_COMPRESS=y
769 $(LINUX_DIR)/mm/zsmalloc.ko \
770 $(LINUX_DIR)/drivers/block/zram/zram.ko
771 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
774 define KernelPackage/zram/description
775 Compressed RAM block device support
778 $(eval $(call KernelPackage,zram))
781 define KernelPackage/pps
782 SUBMENU:=$(OTHER_MENU)
785 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
786 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
789 define KernelPackage/pps/description
790 PPS (Pulse Per Second) is a special pulse provided by some GPS
791 antennae. Userland can use it to get a high-precision time
795 $(eval $(call KernelPackage,pps))
798 define KernelPackage/pps-gpio
799 SUBMENU:=$(OTHER_MENU)
800 TITLE:=PPS client using GPIO
802 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
803 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
804 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
807 define KernelPackage/pps-gpio/description
808 Support for a PPS source using GPIO. To be useful you must
809 also register a platform device specifying the GPIO pin and
810 other options, usually in your board setup.
813 $(eval $(call KernelPackage,pps-gpio))
816 define KernelPackage/pps-ldisc
817 SUBMENU:=$(OTHER_MENU)
818 TITLE:=PPS line discipline
820 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
821 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
822 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
825 define KernelPackage/pps-ldisc/description
826 Support for a PPS source connected with the CD (Carrier
827 Detect) pin of your serial port.
830 $(eval $(call KernelPackage,pps-ldisc))
833 define KernelPackage/ptp
834 SUBMENU:=$(OTHER_MENU)
835 TITLE:=PTP clock support
838 CONFIG_PTP_1588_CLOCK \
839 CONFIG_NET_PTP_CLASSIFY=y
840 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
841 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
844 define KernelPackage/ptp/description
845 The IEEE 1588 standard defines a method to precisely
846 synchronize distributed clocks over Ethernet networks.
849 $(eval $(call KernelPackage,ptp))
852 define KernelPackage/ptp-gianfar
853 SUBMENU:=$(OTHER_MENU)
854 TITLE:=Freescale Gianfar PTP support
855 DEPENDS:=@TARGET_mpc85xx +kmod-ptp
856 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
857 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
858 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
861 define KernelPackage/ptp-gianfar/description
862 Kernel module for IEEE 1588 support for Freescale
863 Gianfar Ethernet drivers
866 $(eval $(call KernelPackage,ptp-gianfar))
869 define KernelPackage/random-core
870 SUBMENU:=$(OTHER_MENU)
871 TITLE:=Hardware Random Number Generator Core support
872 KCONFIG:=CONFIG_HW_RANDOM
873 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
876 define KernelPackage/random-core/description
877 Kernel module for the HW random number generator core infrastructure
880 $(eval $(call KernelPackage,random-core))
882 define KernelPackage/random-omap
883 SUBMENU:=$(OTHER_MENU)
884 TITLE:=Hardware Random Number Generator OMAP support
885 KCONFIG:=CONFIG_HW_RANDOM_OMAP
886 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
887 DEPENDS:=@TARGET_omap24xx +kmod-random-core
888 AUTOLOAD:=$(call AutoProbe,random-omap)
891 define KernelPackage/random-omap/description
892 Kernel module for the OMAP Random Number Generator
893 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
896 $(eval $(call KernelPackage,random-omap))
898 define KernelPackage/random-tpm
899 SUBMENU:=$(OTHER_MENU)
900 TITLE:=Hardware Random Number Generator TPM support
901 KCONFIG:=CONFIG_HW_RANDOM_TPM
902 FILES:=$(LINUX_DIR)/drivers/char/hw_random/tpm-rng.ko
903 DEPENDS:= +kmod-random-core +kmod-tpm @!LINUX_4_19
904 AUTOLOAD:=$(call AutoProbe,tpm-rng)
907 define KernelPackage/random-tpm/description
908 Kernel module for the Random Number Generator
909 in the Trusted Platform Module.
912 $(eval $(call KernelPackage,random-tpm))
914 define KernelPackage/thermal
915 SUBMENU:=$(OTHER_MENU)
916 TITLE:=Generic Thermal sysfs driver
917 DEPENDS:=+kmod-hwmon-core
921 CONFIG_THERMAL_OF=y \
922 CONFIG_CPU_THERMAL=y \
923 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
924 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
925 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
926 CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
927 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
928 CONFIG_THERMAL_GOV_STEP_WISE=y \
929 CONFIG_THERMAL_GOV_USER_SPACE=n \
930 CONFIG_THERMAL_HWMON=y \
931 CONFIG_THERMAL_EMULATION=n
932 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
933 AUTOLOAD:=$(call AutoProbe,thermal_sys)
936 define KernelPackage/thermal/description
937 Generic Thermal Sysfs driver offers a generic mechanism for thermal
938 management. Usually it's made up of one or more thermal zone and cooling
942 $(eval $(call KernelPackage,thermal))
945 define KernelPackage/gpio-beeper
946 SUBMENU:=$(OTHER_MENU)
947 TITLE:=GPIO beeper support
948 DEPENDS:=+kmod-input-core
950 CONFIG_INPUT_MISC=y \
951 CONFIG_INPUT_GPIO_BEEPER
953 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
954 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
957 define KernelPackage/gpio-beeper/description
958 This enables playing beeps through an GPIO-connected buzzer
961 $(eval $(call KernelPackage,gpio-beeper))
964 define KernelPackage/echo
965 SUBMENU:=$(OTHER_MENU)
966 TITLE:=Line Echo Canceller
968 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
969 AUTOLOAD:=$(call AutoLoad,50,echo)
972 define KernelPackage/echo/description
973 This driver provides line echo cancelling support for mISDN and
977 $(eval $(call KernelPackage,echo))
980 define KernelPackage/bmp085
981 SUBMENU:=$(OTHER_MENU)
982 TITLE:=BMP085/BMP18x pressure sensor
983 DEPENDS:= +kmod-regmap @!LINUX_3_18
984 KCONFIG:= CONFIG_BMP085
985 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
988 define KernelPackage/bmp085/description
989 This driver adds support for Bosch Sensortec's digital pressure
990 sensors BMP085 and BMP18x.
993 $(eval $(call KernelPackage,bmp085))
996 define KernelPackage/bmp085-i2c
997 SUBMENU:=$(OTHER_MENU)
998 TITLE:=BMP085/BMP18x pressure sensor I2C
999 DEPENDS:= +kmod-bmp085
1000 KCONFIG:= CONFIG_BMP085_I2C
1001 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
1002 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
1004 define KernelPackage/bmp085-i2c/description
1005 This driver adds support for Bosch Sensortec's digital pressure
1006 sensor connected via I2C.
1009 $(eval $(call KernelPackage,bmp085-i2c))
1012 define KernelPackage/bmp085-spi
1013 SUBMENU:=$(OTHER_MENU)
1014 TITLE:=BMP085/BMP18x pressure sensor SPI
1015 DEPENDS:= +kmod-bmp085
1016 KCONFIG:= CONFIG_BMP085_SPI
1017 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
1018 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
1020 define KernelPackage/bmp085-spi/description
1021 This driver adds support for Bosch Sensortec's digital pressure
1022 sensor connected via SPI.
1025 $(eval $(call KernelPackage,bmp085-spi))
1027 define KernelPackage/tpm
1028 SUBMENU:=$(OTHER_MENU)
1029 TITLE:=TPM Hardware Support
1030 KCONFIG:= CONFIG_TCG_TPM
1031 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
1032 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
1035 define KernelPackage/tpm/description
1036 This enables TPM Hardware Support.
1039 $(eval $(call KernelPackage,tpm))
1041 define KernelPackage/tpm-tis
1042 SUBMENU:=$(OTHER_MENU)
1043 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1044 DEPENDS:= @TARGET_x86 +kmod-tpm
1045 KCONFIG:= CONFIG_TCG_TIS
1047 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1048 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1049 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1052 define KernelPackage/tpm-tis/description
1053 If you have a TPM security chip that is compliant with the
1054 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1055 specification (TPM2.0) say Yes and it will be accessible from
1059 $(eval $(call KernelPackage,tpm-tis))
1061 define KernelPackage/tpm-i2c-atmel
1062 SUBMENU:=$(OTHER_MENU)
1063 TITLE:=TPM I2C Atmel Support
1064 DEPENDS:= +kmod-tpm +kmod-i2c-core
1065 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1066 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1067 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1070 define KernelPackage/tpm-i2c-atmel/description
1071 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1074 $(eval $(call KernelPackage,tpm-i2c-atmel))
1076 define KernelPackage/tpm-i2c-infineon
1077 SUBMENU:=$(OTHER_MENU)
1078 TITLE:= TPM I2C Infineon driver
1079 DEPENDS:= +kmod-tpm +kmod-i2c-core
1080 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1081 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1082 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1085 define KernelPackage/tpm-i2c-infineon/description
1086 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1089 $(eval $(call KernelPackage,tpm-i2c-infineon))
1092 define KernelPackage/w83627hf-wdt
1093 SUBMENU:=$(OTHER_MENU)
1094 TITLE:=Winbond 83627HF Watchdog Timer
1095 KCONFIG:=CONFIG_W83627HF_WDT
1096 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1097 AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1100 define KernelPackage/w83627hf-wdt/description
1101 Kernel module for Winbond 83627HF Watchdog Timer
1104 $(eval $(call KernelPackage,w83627hf-wdt))
1107 define KernelPackage/itco-wdt
1108 SUBMENU:=$(OTHER_MENU)
1109 TITLE:=Intel iTCO Watchdog Timer
1110 KCONFIG:=CONFIG_ITCO_WDT \
1111 CONFIG_ITCO_VENDOR_SUPPORT=y
1112 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1113 $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1114 AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1117 define KernelPackage/itco-wdt/description
1118 Kernel module for Intel iTCO Watchdog Timer
1121 $(eval $(call KernelPackage,itco-wdt))
1124 define KernelPackage/it87-wdt
1125 SUBMENU:=$(OTHER_MENU)
1126 TITLE:=ITE IT87 Watchdog Timer
1127 KCONFIG:=CONFIG_IT87_WDT
1128 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1129 AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1130 MODPARAMS.it87-wdt:= \
1135 define KernelPackage/it87-wdt/description
1136 Kernel module for ITE IT87 Watchdog Timer
1139 $(eval $(call KernelPackage,it87-wdt))