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-core +!(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-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_3_18||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_3_18||LINUX_4_9):kmod-regmap-i2c +!(LINUX_3_18||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-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-core
714 SUBMENU:=$(OTHER_MENU)
715 TITLE:=Generic register map support
717 KCONFIG:=CONFIG_REGMAP
718 ifneq ($(wildcard $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko),)
719 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
723 define KernelPackage/regmap-core/description
724 Generic register map support
727 $(eval $(call KernelPackage,regmap-core))
730 define KernelPackage/regmap-spi
731 SUBMENU:=$(OTHER_MENU)
732 TITLE:=SPI register map support
733 DEPENDS:=+kmod-regmap-core
735 KCONFIG:=CONFIG_REGMAP_SPI \
737 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko
740 define KernelPackage/regmap-spi/description
741 SPI register map support
744 $(eval $(call KernelPackage,regmap-spi))
747 define KernelPackage/regmap-i2c
748 SUBMENU:=$(OTHER_MENU)
749 TITLE:=I2C register map support
750 DEPENDS:=+kmod-regmap-core +kmod-i2c-core
752 KCONFIG:=CONFIG_REGMAP_I2C
753 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko
756 define KernelPackage/regmap-i2c/description
757 I2C register map support
760 $(eval $(call KernelPackage,regmap-i2c))
763 define KernelPackage/regmap-mmio
764 SUBMENU:=$(OTHER_MENU)
765 TITLE:=MMIO register map support
766 DEPENDS:=+kmod-regmap-core
768 KCONFIG:=CONFIG_REGMAP_MMIO
769 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko
772 define KernelPackage/regmap-mmio/description
773 MMIO register map support
776 $(eval $(call KernelPackage,regmap-mmio))
779 define KernelPackage/ikconfig
780 SUBMENU:=$(OTHER_MENU)
781 TITLE:=Kernel configuration via /proc/config.gz
782 KCONFIG:=CONFIG_IKCONFIG \
783 CONFIG_IKCONFIG_PROC=y
784 FILES:=$(LINUX_DIR)/kernel/configs.ko
785 AUTOLOAD:=$(call AutoLoad,70,configs)
788 define KernelPackage/ikconfig/description
789 Kernel configuration via /proc/config.gz
792 $(eval $(call KernelPackage,ikconfig))
795 define KernelPackage/zram
796 SUBMENU:=$(OTHER_MENU)
798 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
802 CONFIG_ZRAM_DEBUG=n \
803 CONFIG_PGTABLE_MAPPING=n \
804 CONFIG_ZRAM_WRITEBACK=n \
805 CONFIG_ZSMALLOC_STAT=n \
806 CONFIG_ZRAM_LZ4_COMPRESS=y
808 $(LINUX_DIR)/mm/zsmalloc.ko \
809 $(LINUX_DIR)/drivers/block/zram/zram.ko
810 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
813 define KernelPackage/zram/description
814 Compressed RAM block device support
817 $(eval $(call KernelPackage,zram))
820 define KernelPackage/pps
821 SUBMENU:=$(OTHER_MENU)
824 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
825 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
828 define KernelPackage/pps/description
829 PPS (Pulse Per Second) is a special pulse provided by some GPS
830 antennae. Userland can use it to get a high-precision time
834 $(eval $(call KernelPackage,pps))
837 define KernelPackage/pps-gpio
838 SUBMENU:=$(OTHER_MENU)
839 TITLE:=PPS client using GPIO
841 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
842 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
843 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
846 define KernelPackage/pps-gpio/description
847 Support for a PPS source using GPIO. To be useful you must
848 also register a platform device specifying the GPIO pin and
849 other options, usually in your board setup.
852 $(eval $(call KernelPackage,pps-gpio))
855 define KernelPackage/pps-ldisc
856 SUBMENU:=$(OTHER_MENU)
857 TITLE:=PPS line discipline
859 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
860 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
861 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
864 define KernelPackage/pps-ldisc/description
865 Support for a PPS source connected with the CD (Carrier
866 Detect) pin of your serial port.
869 $(eval $(call KernelPackage,pps-ldisc))
872 define KernelPackage/ptp
873 SUBMENU:=$(OTHER_MENU)
874 TITLE:=PTP clock support
877 CONFIG_PTP_1588_CLOCK \
878 CONFIG_NET_PTP_CLASSIFY=y
879 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
880 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
883 define KernelPackage/ptp/description
884 The IEEE 1588 standard defines a method to precisely
885 synchronize distributed clocks over Ethernet networks.
888 $(eval $(call KernelPackage,ptp))
891 define KernelPackage/ptp-gianfar
892 SUBMENU:=$(OTHER_MENU)
893 TITLE:=Freescale Gianfar PTP support
894 DEPENDS:=@TARGET_mpc85xx +kmod-ptp @!LINUX_4_19
895 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
896 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
897 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
900 define KernelPackage/ptp-gianfar/description
901 Kernel module for IEEE 1588 support for Freescale
902 Gianfar Ethernet drivers
905 $(eval $(call KernelPackage,ptp-gianfar))
907 define KernelPackage/ptp-qoriq
908 SUBMENU:=$(OTHER_MENU)
909 TITLE:=Freescale QorIQ PTP support
910 DEPENDS:=@TARGET_mpc85xx +kmod-ptp @LINUX_4_19
911 KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ
912 FILES:=$(LINUX_DIR)/drivers/ptp/ptp_qoriq.o
913 AUTOLOAD:=$(call AutoProbe,ptp_qoriq)
917 define KernelPackage/ptp-qoriq/description
918 Kernel module for IEEE 1588 support for Freescale
919 QorIQ Ethernet drivers
922 $(eval $(call KernelPackage,ptp-qoriq))
924 define KernelPackage/random-core
925 SUBMENU:=$(OTHER_MENU)
926 TITLE:=Hardware Random Number Generator Core support
927 KCONFIG:=CONFIG_HW_RANDOM
928 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
931 define KernelPackage/random-core/description
932 Kernel module for the HW random number generator core infrastructure
935 $(eval $(call KernelPackage,random-core))
937 define KernelPackage/random-omap
938 SUBMENU:=$(OTHER_MENU)
939 TITLE:=Hardware Random Number Generator OMAP support
940 KCONFIG:=CONFIG_HW_RANDOM_OMAP
941 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
942 DEPENDS:=@TARGET_omap24xx +kmod-random-core
943 AUTOLOAD:=$(call AutoProbe,random-omap)
946 define KernelPackage/random-omap/description
947 Kernel module for the OMAP Random Number Generator
948 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
951 $(eval $(call KernelPackage,random-omap))
953 define KernelPackage/random-tpm
954 SUBMENU:=$(OTHER_MENU)
955 TITLE:=Hardware Random Number Generator TPM support
956 KCONFIG:=CONFIG_HW_RANDOM_TPM
957 FILES:=$(LINUX_DIR)/drivers/char/hw_random/tpm-rng.ko
958 DEPENDS:= +kmod-random-core +kmod-tpm @!LINUX_4_19
959 AUTOLOAD:=$(call AutoProbe,tpm-rng)
962 define KernelPackage/random-tpm/description
963 Kernel module for the Random Number Generator
964 in the Trusted Platform Module.
967 $(eval $(call KernelPackage,random-tpm))
969 define KernelPackage/thermal
970 SUBMENU:=$(OTHER_MENU)
971 TITLE:=Generic Thermal sysfs driver
972 DEPENDS:=+kmod-hwmon-core
976 CONFIG_THERMAL_OF=y \
977 CONFIG_CPU_THERMAL=y \
978 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
979 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
980 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
981 CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
982 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
983 CONFIG_THERMAL_GOV_STEP_WISE=y \
984 CONFIG_THERMAL_GOV_USER_SPACE=n \
985 CONFIG_THERMAL_HWMON=y \
986 CONFIG_THERMAL_EMULATION=n
987 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
988 AUTOLOAD:=$(call AutoProbe,thermal_sys)
991 define KernelPackage/thermal/description
992 Generic Thermal Sysfs driver offers a generic mechanism for thermal
993 management. Usually it's made up of one or more thermal zone and cooling
997 $(eval $(call KernelPackage,thermal))
1000 define KernelPackage/gpio-beeper
1001 SUBMENU:=$(OTHER_MENU)
1002 TITLE:=GPIO beeper support
1003 DEPENDS:=+kmod-input-core
1005 CONFIG_INPUT_MISC=y \
1006 CONFIG_INPUT_GPIO_BEEPER
1008 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
1009 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
1012 define KernelPackage/gpio-beeper/description
1013 This enables playing beeps through an GPIO-connected buzzer
1016 $(eval $(call KernelPackage,gpio-beeper))
1019 define KernelPackage/echo
1020 SUBMENU:=$(OTHER_MENU)
1021 TITLE:=Line Echo Canceller
1022 KCONFIG:=CONFIG_ECHO
1023 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
1024 AUTOLOAD:=$(call AutoLoad,50,echo)
1027 define KernelPackage/echo/description
1028 This driver provides line echo cancelling support for mISDN and
1032 $(eval $(call KernelPackage,echo))
1035 define KernelPackage/bmp085
1036 SUBMENU:=$(OTHER_MENU)
1037 TITLE:=BMP085/BMP18x pressure sensor
1038 DEPENDS:= +kmod-regmap-core @!LINUX_3_18
1039 KCONFIG:= CONFIG_BMP085
1040 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
1043 define KernelPackage/bmp085/description
1044 This driver adds support for Bosch Sensortec's digital pressure
1045 sensors BMP085 and BMP18x.
1048 $(eval $(call KernelPackage,bmp085))
1051 define KernelPackage/bmp085-i2c
1052 SUBMENU:=$(OTHER_MENU)
1053 TITLE:=BMP085/BMP18x pressure sensor I2C
1054 DEPENDS:= +kmod-bmp085
1055 KCONFIG:= CONFIG_BMP085_I2C
1056 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
1057 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
1059 define KernelPackage/bmp085-i2c/description
1060 This driver adds support for Bosch Sensortec's digital pressure
1061 sensor connected via I2C.
1064 $(eval $(call KernelPackage,bmp085-i2c))
1067 define KernelPackage/bmp085-spi
1068 SUBMENU:=$(OTHER_MENU)
1069 TITLE:=BMP085/BMP18x pressure sensor SPI
1070 DEPENDS:= +kmod-bmp085
1071 KCONFIG:= CONFIG_BMP085_SPI
1072 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
1073 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
1075 define KernelPackage/bmp085-spi/description
1076 This driver adds support for Bosch Sensortec's digital pressure
1077 sensor connected via SPI.
1080 $(eval $(call KernelPackage,bmp085-spi))
1082 define KernelPackage/tpm
1083 SUBMENU:=$(OTHER_MENU)
1084 TITLE:=TPM Hardware Support
1085 KCONFIG:= CONFIG_TCG_TPM
1086 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
1087 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
1090 define KernelPackage/tpm/description
1091 This enables TPM Hardware Support.
1094 $(eval $(call KernelPackage,tpm))
1096 define KernelPackage/tpm-tis
1097 SUBMENU:=$(OTHER_MENU)
1098 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1099 DEPENDS:= @TARGET_x86 +kmod-tpm
1100 KCONFIG:= CONFIG_TCG_TIS
1102 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1103 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1104 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1107 define KernelPackage/tpm-tis/description
1108 If you have a TPM security chip that is compliant with the
1109 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1110 specification (TPM2.0) say Yes and it will be accessible from
1114 $(eval $(call KernelPackage,tpm-tis))
1116 define KernelPackage/tpm-i2c-atmel
1117 SUBMENU:=$(OTHER_MENU)
1118 TITLE:=TPM I2C Atmel Support
1119 DEPENDS:= +kmod-tpm +kmod-i2c-core
1120 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1121 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1122 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1125 define KernelPackage/tpm-i2c-atmel/description
1126 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1129 $(eval $(call KernelPackage,tpm-i2c-atmel))
1131 define KernelPackage/tpm-i2c-infineon
1132 SUBMENU:=$(OTHER_MENU)
1133 TITLE:= TPM I2C Infineon driver
1134 DEPENDS:= +kmod-tpm +kmod-i2c-core
1135 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1136 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1137 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1140 define KernelPackage/tpm-i2c-infineon/description
1141 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1144 $(eval $(call KernelPackage,tpm-i2c-infineon))
1147 define KernelPackage/w83627hf-wdt
1148 SUBMENU:=$(OTHER_MENU)
1149 TITLE:=Winbond 83627HF Watchdog Timer
1150 KCONFIG:=CONFIG_W83627HF_WDT
1151 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1152 AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1155 define KernelPackage/w83627hf-wdt/description
1156 Kernel module for Winbond 83627HF Watchdog Timer
1159 $(eval $(call KernelPackage,w83627hf-wdt))
1162 define KernelPackage/itco-wdt
1163 SUBMENU:=$(OTHER_MENU)
1164 TITLE:=Intel iTCO Watchdog Timer
1165 KCONFIG:=CONFIG_ITCO_WDT \
1166 CONFIG_ITCO_VENDOR_SUPPORT=y
1167 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1168 $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1169 AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1172 define KernelPackage/itco-wdt/description
1173 Kernel module for Intel iTCO Watchdog Timer
1176 $(eval $(call KernelPackage,itco-wdt))
1179 define KernelPackage/it87-wdt
1180 SUBMENU:=$(OTHER_MENU)
1181 TITLE:=ITE IT87 Watchdog Timer
1182 KCONFIG:=CONFIG_IT87_WDT
1183 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1184 AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1185 MODPARAMS.it87-wdt:= \
1190 define KernelPackage/it87-wdt/description
1191 Kernel module for ITE IT87 Watchdog Timer
1194 $(eval $(call KernelPackage,it87-wdt))