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 +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 $(LINUX_DIR)/drivers/bluetooth/btintel.ko
58 AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
61 define KernelPackage/bluetooth/description
62 Kernel support for Bluetooth devices
65 $(eval $(call KernelPackage,bluetooth))
67 define KernelPackage/ath3k
68 SUBMENU:=$(OTHER_MENU)
69 TITLE:=ATH3K Kernel Module support
70 DEPENDS:=+kmod-bluetooth +ar3k-firmware
73 CONFIG_BT_HCIUART_ATH3K=y
74 $(call AddDepends/bluetooth)
76 $(LINUX_DIR)/drivers/bluetooth/ath3k.ko
77 AUTOLOAD:=$(call AutoProbe,ath3k)
80 define KernelPackage/ath3k/description
81 Kernel support for ATH3K Module
84 $(eval $(call KernelPackage,ath3k))
87 define KernelPackage/bluetooth-6lowpan
88 SUBMENU:=$(OTHER_MENU)
89 TITLE:=Bluetooth 6LoWPAN support
90 DEPENDS:=+kmod-6lowpan +kmod-bluetooth
91 KCONFIG:=CONFIG_BT_6LOWPAN
92 FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko
93 AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan)
96 define KernelPackage/bluetooth-6lowpan/description
97 Kernel support for 6LoWPAN over Bluetooth Low Energy devices
100 $(eval $(call KernelPackage,bluetooth-6lowpan))
103 define KernelPackage/btmrvl
104 SUBMENU:=$(OTHER_MENU)
105 TITLE:=Marvell Bluetooth Kernel Module support
106 DEPENDS:=+kmod-mmc +kmod-bluetooth +mwifiex-sdio-firmware
110 $(call AddDepends/bluetooth)
112 $(LINUX_DIR)/drivers/bluetooth/btmrvl.ko \
113 $(LINUX_DIR)/drivers/bluetooth/btmrvl_sdio.ko
114 AUTOLOAD:=$(call AutoProbe,btmrvl btmrvl_sdio)
117 define KernelPackage/btmrvl/description
118 Kernel support for Marvell SDIO Bluetooth Module
121 $(eval $(call KernelPackage,btmrvl))
124 define KernelPackage/dma-buf
125 SUBMENU:=$(OTHER_MENU)
126 TITLE:=DMA shared buffer support
128 KCONFIG:=CONFIG_DMA_SHARED_BUFFER
129 ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
130 ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
131 FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
134 AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
136 $(eval $(call KernelPackage,dma-buf))
139 define KernelPackage/nvmem
140 SUBMENU:=$(OTHER_MENU)
141 TITLE:=Non Volatile Memory support
143 KCONFIG:=CONFIG_NVMEM
145 FILES:=$(LINUX_DIR)/drivers/nvmem/nvmem_core.ko
148 define KernelPackage/nvmem/description
149 Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES, etc.
152 $(eval $(call KernelPackage,nvmem))
154 define KernelPackage/eeprom-93cx6
155 SUBMENU:=$(OTHER_MENU)
156 TITLE:=EEPROM 93CX6 support
157 KCONFIG:=CONFIG_EEPROM_93CX6
158 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
159 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
162 define KernelPackage/eeprom-93cx6/description
163 Kernel module for EEPROM 93CX6 support
166 $(eval $(call KernelPackage,eeprom-93cx6))
169 define KernelPackage/eeprom-at24
170 SUBMENU:=$(OTHER_MENU)
171 TITLE:=EEPROM AT24 support
172 KCONFIG:=CONFIG_EEPROM_AT24
173 DEPENDS:=+kmod-i2c-core +!LINUX_5_4:kmod-nvmem +!LINUX_4_14:kmod-regmap-i2c
174 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
175 AUTOLOAD:=$(call AutoProbe,at24)
178 define KernelPackage/eeprom-at24/description
179 Kernel module for most I2C EEPROMs
182 $(eval $(call KernelPackage,eeprom-at24))
185 define KernelPackage/eeprom-at25
186 SUBMENU:=$(OTHER_MENU)
187 TITLE:=EEPROM AT25 support
188 KCONFIG:=CONFIG_EEPROM_AT25
189 DEPENDS:=+!LINUX_5_4:kmod-nvmem
190 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
191 AUTOLOAD:=$(call AutoProbe,at25)
194 define KernelPackage/eeprom-at25/description
195 Kernel module for most SPI EEPROMs
198 $(eval $(call KernelPackage,eeprom-at25))
201 define KernelPackage/gpio-dev
202 SUBMENU:=$(OTHER_MENU)
203 TITLE:=Generic GPIO char device support
204 DEPENDS:=@GPIO_SUPPORT
205 KCONFIG:=CONFIG_GPIO_DEVICE
206 FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
207 AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
210 define KernelPackage/gpio-dev/description
211 Kernel module to allows control of GPIO pins using a character device.
214 $(eval $(call KernelPackage,gpio-dev))
217 define KernelPackage/gpio-f7188x
218 SUBMENU:=$(OTHER_MENU)
219 TITLE:=Fintek F718xx/F818xx GPIO Support
220 DEPENDS:=@GPIO_SUPPORT @TARGET_x86
221 KCONFIG:=CONFIG_GPIO_F7188X
222 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-f7188x.ko
223 AUTOLOAD:=$(call AutoProbe,gpio-f7188x)
226 define KernelPackage/gpio-f7188x/description
227 Kernel module for the GPIOs found on many Fintek Super-IO chips.
230 $(eval $(call KernelPackage,gpio-f7188x))
233 define KernelPackage/gpio-mcp23s08
234 SUBMENU:=$(OTHER_MENU)
235 TITLE:=Microchip MCP23xxx I/O expander
236 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +kmod-regmap-i2c
238 CONFIG_GPIO_MCP23S08 \
239 CONFIG_PINCTRL_MCP23S08
241 $(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko
242 AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08)
245 define KernelPackage/gpio-mcp23s08/description
246 Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
249 $(eval $(call KernelPackage,gpio-mcp23s08))
252 define KernelPackage/gpio-nxp-74hc164
253 SUBMENU:=$(OTHER_MENU)
254 TITLE:=NXP 74HC164 GPIO expander support
255 KCONFIG:=CONFIG_GPIO_74X164
256 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-74x164.ko
257 AUTOLOAD:=$(call AutoProbe,gpio-74x164)
260 define KernelPackage/gpio-nxp-74hc164/description
261 Kernel module for NXP 74HC164 GPIO expander
264 $(eval $(call KernelPackage,gpio-nxp-74hc164))
266 define KernelPackage/gpio-pca953x
267 SUBMENU:=$(OTHER_MENU)
268 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +LINUX_5_4:kmod-regmap-i2c
269 TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
270 KCONFIG:=CONFIG_GPIO_PCA953X
271 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
272 AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
275 define KernelPackage/gpio-pca953x/description
276 Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
277 PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
280 $(eval $(call KernelPackage,gpio-pca953x))
282 define KernelPackage/gpio-pcf857x
283 SUBMENU:=$(OTHER_MENU)
284 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
285 TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
286 KCONFIG:=CONFIG_GPIO_PCF857X
287 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
288 AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
291 define KernelPackage/gpio-pcf857x/description
292 Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
295 $(eval $(call KernelPackage,gpio-pcf857x))
298 define KernelPackage/gpio-it87
299 SUBMENU:=$(OTHER_MENU)
300 DEPENDS:=@GPIO_SUPPORT @TARGET_x86
301 TITLE:=GPIO support for IT87xx Super I/O chips
302 KCONFIG:=CONFIG_GPIO_IT87
303 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-it87.ko
304 AUTOLOAD:=$(call AutoLoad,25,gpio-it87,1)
307 define KernelPackage/gpio-it87/description
308 This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and
309 supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as
313 $(eval $(call KernelPackage,gpio-it87))
316 define KernelPackage/ppdev
317 SUBMENU:=$(OTHER_MENU)
318 TITLE:=Parallel port support
323 $(LINUX_DIR)/drivers/parport/parport.ko \
324 $(LINUX_DIR)/drivers/char/ppdev.ko
325 AUTOLOAD:=$(call AutoLoad,50,parport ppdev)
328 $(eval $(call KernelPackage,ppdev))
331 define KernelPackage/parport-pc
332 SUBMENU:=$(OTHER_MENU)
333 TITLE:=Parallel port interface (PC-style) support
338 CONFIG_PARPORT_1284=y \
339 CONFIG_PARPORT_PC_FIFO=y \
340 CONFIG_PARPORT_PC_PCMCIA=n \
341 CONFIG_PARPORT_PC_SUPERIO=y \
342 CONFIG_PARPORT_SERIAL=n \
347 $(LINUX_DIR)/drivers/parport/parport_pc.ko
348 AUTOLOAD:=$(call AutoLoad,51,parport_pc)
351 $(eval $(call KernelPackage,parport-pc))
354 define KernelPackage/lp
355 SUBMENU:=$(OTHER_MENU)
356 TITLE:=Parallel port line printer device support
361 $(LINUX_DIR)/drivers/char/lp.ko
362 AUTOLOAD:=$(call AutoLoad,52,lp)
365 $(eval $(call KernelPackage,lp))
368 define KernelPackage/mmc
369 SUBMENU:=$(OTHER_MENU)
370 TITLE:=MMC/SD Card Support
371 DEPENDS:=@!TARGET_uml
376 CONFIG_MMC_UNSAFE_RESUME=n \
377 CONFIG_MMC_BLOCK_BOUNCE=y \
378 CONFIG_MMC_TIFM_SD=n \
382 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
383 $(LINUX_DIR)/drivers/mmc/core/mmc_block.ko
384 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
387 define KernelPackage/mmc/description
388 Kernel support for MMC/SD cards
391 $(eval $(call KernelPackage,mmc))
394 define KernelPackage/sdhci
395 SUBMENU:=$(OTHER_MENU)
396 TITLE:=Secure Digital Host Controller Interface support
400 CONFIG_MMC_SDHCI_PLTFM \
401 CONFIG_MMC_SDHCI_PCI=n
403 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
404 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
406 AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
409 define KernelPackage/sdhci/description
410 Kernel support for SDHCI Hosts
413 $(eval $(call KernelPackage,sdhci))
416 define KernelPackage/rfkill
417 SUBMENU:=$(OTHER_MENU)
418 TITLE:=RF switch subsystem support
419 DEPENDS:=@USE_RFKILL +kmod-input-core
422 CONFIG_RFKILL_INPUT=y \
425 $(LINUX_DIR)/net/rfkill/rfkill.ko
426 AUTOLOAD:=$(call AutoLoad,20,rfkill)
429 define KernelPackage/rfkill/description
430 Say Y here if you want to have control over RF switches
431 found on many WiFi and Bluetooth cards
434 $(eval $(call KernelPackage,rfkill))
437 define KernelPackage/softdog
438 SUBMENU:=$(OTHER_MENU)
439 TITLE:=Software watchdog driver
440 KCONFIG:=CONFIG_SOFT_WATCHDOG \
441 CONFIG_SOFT_WATCHDOG_PRETIMEOUT=n
442 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
443 AUTOLOAD:=$(call AutoLoad,50,softdog,1)
446 define KernelPackage/softdog/description
447 Software watchdog driver
450 $(eval $(call KernelPackage,softdog))
453 define KernelPackage/ssb
454 SUBMENU:=$(OTHER_MENU)
455 TITLE:=Silicon Sonics Backplane glue code
456 DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm63xx
459 CONFIG_SSB_B43_PCI_BRIDGE=y \
460 CONFIG_SSB_DRIVER_MIPS=n \
461 CONFIG_SSB_DRIVER_PCICORE=y \
462 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
463 CONFIG_SSB_PCIHOST=y \
464 CONFIG_SSB_PCIHOST_POSSIBLE=y \
465 CONFIG_SSB_POSSIBLE=y \
468 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
469 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
472 define KernelPackage/ssb/description
473 Silicon Sonics Backplane glue code.
476 $(eval $(call KernelPackage,ssb))
479 define KernelPackage/bcma
480 SUBMENU:=$(OTHER_MENU)
482 DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm53xx
485 CONFIG_BCMA_POSSIBLE=y \
486 CONFIG_BCMA_BLOCKIO=y \
487 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
488 CONFIG_BCMA_HOST_PCI=y \
489 CONFIG_BCMA_HOST_SOC=n \
490 CONFIG_BCMA_DRIVER_MIPS=n \
491 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
492 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
494 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
495 AUTOLOAD:=$(call AutoLoad,29,bcma)
498 define KernelPackage/bcma/description
499 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
502 $(eval $(call KernelPackage,bcma))
505 define KernelPackage/rtc-ds1307
506 SUBMENU:=$(OTHER_MENU)
507 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
508 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
509 DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c +kmod-hwmon-core
510 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
512 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
513 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
516 define KernelPackage/rtc-ds1307/description
517 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
518 Epson RX-8025 and various other compatible RTC chips connected via I2C.
521 $(eval $(call KernelPackage,rtc-ds1307))
524 define KernelPackage/rtc-ds1374
525 SUBMENU:=$(OTHER_MENU)
526 TITLE:=Dallas/Maxim DS1374 RTC support
527 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
528 DEPENDS:=+kmod-i2c-core
529 KCONFIG:=CONFIG_RTC_DRV_DS1374 \
530 CONFIG_RTC_DRV_DS1374_WDT=n \
532 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
533 AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
536 define KernelPackage/rtc-ds1374/description
537 Kernel module for Dallas/Maxim DS1374.
540 $(eval $(call KernelPackage,rtc-ds1374))
543 define KernelPackage/rtc-ds1672
544 SUBMENU:=$(OTHER_MENU)
545 TITLE:=Dallas/Maxim DS1672 RTC support
546 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
547 DEPENDS:=+kmod-i2c-core
548 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
550 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
551 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
554 define KernelPackage/rtc-ds1672/description
555 Kernel module for Dallas/Maxim DS1672 RTC.
558 $(eval $(call KernelPackage,rtc-ds1672))
561 define KernelPackage/rtc-em3027
562 SUBMENU:=$(OTHER_MENU)
563 TITLE:=Microelectronic EM3027 RTC support
564 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
565 DEPENDS:=+kmod-i2c-core
566 KCONFIG:=CONFIG_RTC_DRV_EM3027 \
568 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-em3027.ko
569 AUTOLOAD:=$(call AutoProbe,rtc-em3027)
572 define KernelPackage/rtc-em3027/description
573 Kernel module for Microelectronic EM3027 RTC.
576 $(eval $(call KernelPackage,rtc-em3027))
579 define KernelPackage/rtc-isl1208
580 SUBMENU:=$(OTHER_MENU)
581 TITLE:=Intersil ISL1208 RTC support
582 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
583 DEPENDS:=+kmod-i2c-core
584 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
586 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
587 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
590 define KernelPackage/rtc-isl1208/description
591 Kernel module for Intersil ISL1208 RTC.
594 $(eval $(call KernelPackage,rtc-isl1208))
597 define KernelPackage/rtc-pcf8563
598 SUBMENU:=$(OTHER_MENU)
599 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
600 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
601 DEPENDS:=+kmod-i2c-core
602 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
604 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
605 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
608 define KernelPackage/rtc-pcf8563/description
609 Kernel module for Philips PCF8563 RTC chip.
610 The Epson RTC8564 should work as well.
613 $(eval $(call KernelPackage,rtc-pcf8563))
616 define KernelPackage/rtc-pcf2123
617 SUBMENU:=$(OTHER_MENU)
618 TITLE:=Philips PCF2123 RTC support
619 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
620 DEPENDS:=+LINUX_5_4:kmod-regmap-spi
621 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
623 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
624 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
627 define KernelPackage/rtc-pcf2123/description
628 Kernel module for Philips PCF2123 RTC chip
631 $(eval $(call KernelPackage,rtc-pcf2123))
633 define KernelPackage/rtc-pcf2127
634 SUBMENU:=$(OTHER_MENU)
635 TITLE:=NXP PCF2127 and PCF2129 RTC support
636 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
637 DEPENDS:=+kmod-i2c-core +kmod-regmap-spi
638 KCONFIG:=CONFIG_RTC_DRV_PCF2127 \
640 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2127.ko
641 AUTOLOAD:=$(call AutoProbe,rtc-pcf2127)
644 define KernelPackage/rtc-pcf2127/description
645 Kernel module for NXP PCF2127 and PCF2129 RTC chip
648 $(eval $(call KernelPackage,rtc-pcf2127))
650 define KernelPackage/rtc-pt7c4338
651 SUBMENU:=$(OTHER_MENU)
652 TITLE:=Pericom PT7C4338 RTC support
653 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
654 DEPENDS:=+kmod-i2c-core
655 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
657 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
658 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
661 define KernelPackage/rtc-pt7c4338/description
662 Kernel module for Pericom PT7C4338 i2c RTC chip
665 $(eval $(call KernelPackage,rtc-pt7c4338))
667 define KernelPackage/rtc-rs5c372a
668 SUBMENU:=$(OTHER_MENU)
669 TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
670 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
671 DEPENDS:=+kmod-i2c-core
672 KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
674 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
675 AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
678 define KernelPackage/rtc-rs5c372a/description
679 Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
682 $(eval $(call KernelPackage,rtc-rs5c372a))
684 define KernelPackage/rtc-rx8025
685 SUBMENU:=$(OTHER_MENU)
686 TITLE:=Epson RX-8025 / RX-8035
687 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
688 DEPENDS:=+kmod-i2c-core
689 KCONFIG:=CONFIG_RTC_DRV_RX8025 \
691 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rx8025.ko
692 AUTOLOAD:=$(call AutoLoad,50,rtc-rx8025,1)
695 define KernelPackage/rtc-rx8025/description
696 Kernel module for Epson RX-8025 and RX-8035 I2C RTC chip
699 $(eval $(call KernelPackage,rtc-rx8025))
702 define KernelPackage/mtdtests
703 SUBMENU:=$(OTHER_MENU)
704 TITLE:=MTD subsystem tests
705 KCONFIG:=CONFIG_MTD_TESTS
707 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
708 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
709 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
710 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
711 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
712 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
713 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
714 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
717 define KernelPackage/mtdtests/description
718 Kernel modules for MTD subsystem/driver testing
721 $(eval $(call KernelPackage,mtdtests))
724 define KernelPackage/mtdoops
725 SUBMENU:=$(OTHER_MENU)
726 TITLE:=Log panic/oops to an MTD buffer
727 KCONFIG:=CONFIG_MTD_OOPS
728 FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
731 define KernelPackage/mtdoops/description
732 Kernel modules for Log panic/oops to an MTD buffer
735 $(eval $(call KernelPackage,mtdoops))
738 define KernelPackage/mtdram
739 SUBMENU:=$(OTHER_MENU)
740 TITLE:=Test MTD driver using RAM
741 KCONFIG:=CONFIG_MTD_MTDRAM \
742 CONFIG_MTDRAM_TOTAL_SIZE=4096 \
743 CONFIG_MTDRAM_ERASE_SIZE=128
744 FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
747 define KernelPackage/mtdram/description
748 Test MTD driver using RAM
751 $(eval $(call KernelPackage,mtdram))
754 define KernelPackage/serial-8250
755 SUBMENU:=$(OTHER_MENU)
757 KCONFIG:= CONFIG_SERIAL_8250 \
758 CONFIG_SERIAL_8250_PCI \
759 CONFIG_SERIAL_8250_NR_UARTS=16 \
760 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
761 CONFIG_SERIAL_8250_EXTENDED=y \
762 CONFIG_SERIAL_8250_MANY_PORTS=y \
763 CONFIG_SERIAL_8250_SHARE_IRQ=y \
764 CONFIG_SERIAL_8250_DETECT_IRQ=n \
765 CONFIG_SERIAL_8250_RSA=n
767 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
768 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko \
769 $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko) \
770 $(if $(CONFIG_GPIOLIB),$(LINUX_DIR)/drivers/tty/serial/serial_mctrl_gpio.ko@ge5.3)
771 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
774 define KernelPackage/serial-8250/description
775 Kernel module for 8250 UART based serial ports
778 $(eval $(call KernelPackage,serial-8250))
781 define KernelPackage/serial-8250-exar
782 SUBMENU:=$(OTHER_MENU)
783 TITLE:=Exar 8250 UARTs
784 KCONFIG:= CONFIG_SERIAL_8250_EXAR
785 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
786 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
787 DEPENDS:=+kmod-serial-8250
790 define KernelPackage/serial-8250-exar/description
791 Kernel module for Exar serial ports
794 $(eval $(call KernelPackage,serial-8250-exar))
797 define KernelPackage/regmap-core
798 SUBMENU:=$(OTHER_MENU)
799 TITLE:=Generic register map support
801 KCONFIG:=CONFIG_REGMAP
802 ifneq ($(wildcard $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko),)
803 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
807 define KernelPackage/regmap-core/description
808 Generic register map support
811 $(eval $(call KernelPackage,regmap-core))
814 define KernelPackage/regmap-spi
815 SUBMENU:=$(OTHER_MENU)
816 TITLE:=SPI register map support
817 DEPENDS:=+kmod-regmap-core
819 KCONFIG:=CONFIG_REGMAP_SPI \
821 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko
824 define KernelPackage/regmap-spi/description
825 SPI register map support
828 $(eval $(call KernelPackage,regmap-spi))
831 define KernelPackage/regmap-i2c
832 SUBMENU:=$(OTHER_MENU)
833 TITLE:=I2C register map support
834 DEPENDS:=+kmod-regmap-core +kmod-i2c-core
836 KCONFIG:=CONFIG_REGMAP_I2C
837 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko
840 define KernelPackage/regmap-i2c/description
841 I2C register map support
844 $(eval $(call KernelPackage,regmap-i2c))
847 define KernelPackage/regmap-mmio
848 SUBMENU:=$(OTHER_MENU)
849 TITLE:=MMIO register map support
850 DEPENDS:=+kmod-regmap-core
852 KCONFIG:=CONFIG_REGMAP_MMIO
853 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko
856 define KernelPackage/regmap-mmio/description
857 MMIO register map support
860 $(eval $(call KernelPackage,regmap-mmio))
863 define KernelPackage/ikconfig
864 SUBMENU:=$(OTHER_MENU)
865 TITLE:=Kernel configuration via /proc/config.gz
866 KCONFIG:=CONFIG_IKCONFIG \
867 CONFIG_IKCONFIG_PROC=y
868 FILES:=$(LINUX_DIR)/kernel/configs.ko
869 AUTOLOAD:=$(call AutoLoad,70,configs)
872 define KernelPackage/ikconfig/description
873 Kernel configuration via /proc/config.gz
876 $(eval $(call KernelPackage,ikconfig))
879 define KernelPackage/zram
880 SUBMENU:=$(OTHER_MENU)
882 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
886 CONFIG_ZRAM_DEBUG=n \
887 CONFIG_PGTABLE_MAPPING=n \
888 CONFIG_ZRAM_WRITEBACK=n \
889 CONFIG_ZSMALLOC_STAT=n \
890 CONFIG_ZRAM_LZ4_COMPRESS=y
892 $(LINUX_DIR)/mm/zsmalloc.ko \
893 $(LINUX_DIR)/drivers/block/zram/zram.ko
894 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
897 define KernelPackage/zram/description
898 Compressed RAM block device support
901 $(eval $(call KernelPackage,zram))
904 define KernelPackage/pps
905 SUBMENU:=$(OTHER_MENU)
908 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
909 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
912 define KernelPackage/pps/description
913 PPS (Pulse Per Second) is a special pulse provided by some GPS
914 antennae. Userland can use it to get a high-precision time
918 $(eval $(call KernelPackage,pps))
921 define KernelPackage/pps-gpio
922 SUBMENU:=$(OTHER_MENU)
923 TITLE:=PPS client using GPIO
925 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
926 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
927 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
930 define KernelPackage/pps-gpio/description
931 Support for a PPS source using GPIO. To be useful you must
932 also register a platform device specifying the GPIO pin and
933 other options, usually in your board setup.
936 $(eval $(call KernelPackage,pps-gpio))
939 define KernelPackage/pps-ldisc
940 SUBMENU:=$(OTHER_MENU)
941 TITLE:=PPS line discipline
943 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
944 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
945 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
948 define KernelPackage/pps-ldisc/description
949 Support for a PPS source connected with the CD (Carrier
950 Detect) pin of your serial port.
953 $(eval $(call KernelPackage,pps-ldisc))
956 define KernelPackage/ptp
957 SUBMENU:=$(OTHER_MENU)
958 TITLE:=PTP clock support
961 CONFIG_PTP_1588_CLOCK \
962 CONFIG_NET_PTP_CLASSIFY=y
963 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
964 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
967 define KernelPackage/ptp/description
968 The IEEE 1588 standard defines a method to precisely
969 synchronize distributed clocks over Ethernet networks.
972 $(eval $(call KernelPackage,ptp))
975 define KernelPackage/ptp-gianfar
976 SUBMENU:=$(OTHER_MENU)
977 TITLE:=Freescale Gianfar PTP support
978 DEPENDS:=@TARGET_mpc85xx +kmod-ptp @LINUX_4_14
979 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
980 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
981 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
984 define KernelPackage/ptp-gianfar/description
985 Kernel module for IEEE 1588 support for Freescale
986 Gianfar Ethernet drivers
989 $(eval $(call KernelPackage,ptp-gianfar))
991 define KernelPackage/ptp-qoriq
992 SUBMENU:=$(OTHER_MENU)
993 TITLE:=Freescale QorIQ PTP support
994 DEPENDS:=@TARGET_mpc85xx +kmod-ptp @!LINUX_4_14
995 KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ
996 FILES:=$(LINUX_DIR)/drivers/ptp/ptp-qoriq.ko
997 AUTOLOAD:=$(call AutoProbe,ptp-qoriq)
1001 define KernelPackage/ptp-qoriq/description
1002 Kernel module for IEEE 1588 support for Freescale
1003 QorIQ Ethernet drivers
1006 $(eval $(call KernelPackage,ptp-qoriq))
1008 define KernelPackage/random-core
1009 SUBMENU:=$(OTHER_MENU)
1010 TITLE:=Hardware Random Number Generator Core support
1011 KCONFIG:=CONFIG_HW_RANDOM
1012 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
1015 define KernelPackage/random-core/description
1016 Kernel module for the HW random number generator core infrastructure
1019 $(eval $(call KernelPackage,random-core))
1022 define KernelPackage/random-tpm
1023 SUBMENU:=$(OTHER_MENU)
1024 TITLE:=Hardware Random Number Generator TPM support
1025 KCONFIG:=CONFIG_HW_RANDOM_TPM
1026 FILES:=$(LINUX_DIR)/drivers/char/hw_random/tpm-rng.ko
1027 DEPENDS:= +kmod-random-core +kmod-tpm @LINUX_4_14
1028 AUTOLOAD:=$(call AutoProbe,tpm-rng)
1031 define KernelPackage/random-tpm/description
1032 Kernel module for the Random Number Generator
1033 in the Trusted Platform Module.
1036 $(eval $(call KernelPackage,random-tpm))
1038 define KernelPackage/thermal
1039 SUBMENU:=$(OTHER_MENU)
1040 TITLE:=Generic Thermal sysfs driver
1041 DEPENDS:=+kmod-hwmon-core
1045 CONFIG_THERMAL_OF=y \
1046 CONFIG_CPU_THERMAL=y \
1047 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
1048 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
1049 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
1050 CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
1051 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
1052 CONFIG_THERMAL_GOV_STEP_WISE=y \
1053 CONFIG_THERMAL_GOV_USER_SPACE=n \
1054 CONFIG_THERMAL_HWMON=y \
1055 CONFIG_THERMAL_EMULATION=n
1056 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
1057 AUTOLOAD:=$(call AutoProbe,thermal_sys)
1060 define KernelPackage/thermal/description
1061 Generic Thermal Sysfs driver offers a generic mechanism for thermal
1062 management. Usually it's made up of one or more thermal zone and cooling
1066 $(eval $(call KernelPackage,thermal))
1069 define KernelPackage/gpio-beeper
1070 SUBMENU:=$(OTHER_MENU)
1071 TITLE:=GPIO beeper support
1072 DEPENDS:=+kmod-input-core
1074 CONFIG_INPUT_MISC=y \
1075 CONFIG_INPUT_GPIO_BEEPER
1077 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
1078 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
1081 define KernelPackage/gpio-beeper/description
1082 This enables playing beeps through an GPIO-connected buzzer
1085 $(eval $(call KernelPackage,gpio-beeper))
1088 define KernelPackage/echo
1089 SUBMENU:=$(OTHER_MENU)
1090 TITLE:=Line Echo Canceller
1091 KCONFIG:=CONFIG_ECHO
1092 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
1093 AUTOLOAD:=$(call AutoLoad,50,echo)
1096 define KernelPackage/echo/description
1097 This driver provides line echo cancelling support for mISDN and
1101 $(eval $(call KernelPackage,echo))
1104 define KernelPackage/bmp085
1105 SUBMENU:=$(OTHER_MENU)
1106 TITLE:=BMP085/BMP18x pressure sensor
1107 DEPENDS:= +kmod-regmap-core
1108 KCONFIG:= CONFIG_BMP085
1109 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
1112 define KernelPackage/bmp085/description
1113 This driver adds support for Bosch Sensortec's digital pressure
1114 sensors BMP085 and BMP18x.
1117 $(eval $(call KernelPackage,bmp085))
1120 define KernelPackage/bmp085-i2c
1121 SUBMENU:=$(OTHER_MENU)
1122 TITLE:=BMP085/BMP18x pressure sensor I2C
1123 DEPENDS:= +kmod-bmp085
1124 KCONFIG:= CONFIG_BMP085_I2C
1125 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
1126 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
1128 define KernelPackage/bmp085-i2c/description
1129 This driver adds support for Bosch Sensortec's digital pressure
1130 sensor connected via I2C.
1133 $(eval $(call KernelPackage,bmp085-i2c))
1136 define KernelPackage/bmp085-spi
1137 SUBMENU:=$(OTHER_MENU)
1138 TITLE:=BMP085/BMP18x pressure sensor SPI
1139 DEPENDS:= +kmod-bmp085
1140 KCONFIG:= CONFIG_BMP085_SPI
1141 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
1142 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
1144 define KernelPackage/bmp085-spi/description
1145 This driver adds support for Bosch Sensortec's digital pressure
1146 sensor connected via SPI.
1149 $(eval $(call KernelPackage,bmp085-spi))
1151 define KernelPackage/tpm
1152 SUBMENU:=$(OTHER_MENU)
1153 TITLE:=TPM Hardware Support
1154 DEPENDS:= +!LINUX_4_14:kmod-random-core
1155 KCONFIG:= CONFIG_TCG_TPM
1156 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
1157 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
1160 define KernelPackage/tpm/description
1161 This enables TPM Hardware Support.
1164 $(eval $(call KernelPackage,tpm))
1166 define KernelPackage/tpm-tis
1167 SUBMENU:=$(OTHER_MENU)
1168 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1169 DEPENDS:= @TARGET_x86 +kmod-tpm
1170 KCONFIG:= CONFIG_TCG_TIS
1172 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1173 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1174 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1177 define KernelPackage/tpm-tis/description
1178 If you have a TPM security chip that is compliant with the
1179 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1180 specification (TPM2.0) say Yes and it will be accessible from
1184 $(eval $(call KernelPackage,tpm-tis))
1186 define KernelPackage/tpm-i2c-atmel
1187 SUBMENU:=$(OTHER_MENU)
1188 TITLE:=TPM I2C Atmel Support
1189 DEPENDS:= +kmod-tpm +kmod-i2c-core
1190 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1191 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1192 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1195 define KernelPackage/tpm-i2c-atmel/description
1196 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1199 $(eval $(call KernelPackage,tpm-i2c-atmel))
1201 define KernelPackage/tpm-i2c-infineon
1202 SUBMENU:=$(OTHER_MENU)
1203 TITLE:= TPM I2C Infineon driver
1204 DEPENDS:= +kmod-tpm +kmod-i2c-core
1205 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1206 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1207 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1210 define KernelPackage/tpm-i2c-infineon/description
1211 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1214 $(eval $(call KernelPackage,tpm-i2c-infineon))
1217 define KernelPackage/w83627hf-wdt
1218 SUBMENU:=$(OTHER_MENU)
1219 TITLE:=Winbond 83627HF Watchdog Timer
1220 KCONFIG:=CONFIG_W83627HF_WDT
1221 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1222 AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1225 define KernelPackage/w83627hf-wdt/description
1226 Kernel module for Winbond 83627HF Watchdog Timer
1229 $(eval $(call KernelPackage,w83627hf-wdt))
1232 define KernelPackage/itco-wdt
1233 SUBMENU:=$(OTHER_MENU)
1234 TITLE:=Intel iTCO Watchdog Timer
1235 KCONFIG:=CONFIG_ITCO_WDT \
1236 CONFIG_ITCO_VENDOR_SUPPORT=y
1237 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1238 $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1239 AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1242 define KernelPackage/itco-wdt/description
1243 Kernel module for Intel iTCO Watchdog Timer
1246 $(eval $(call KernelPackage,itco-wdt))
1249 define KernelPackage/it87-wdt
1250 SUBMENU:=$(OTHER_MENU)
1251 TITLE:=ITE IT87 Watchdog Timer
1252 KCONFIG:=CONFIG_IT87_WDT
1253 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1254 AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1255 MODPARAMS.it87-wdt:= \
1260 define KernelPackage/it87-wdt/description
1261 Kernel module for ITE IT87 Watchdog Timer
1264 $(eval $(call KernelPackage,it87-wdt))
1267 define KernelPackage/f71808e-wdt
1268 SUBMENU:=$(OTHER_MENU)
1269 TITLE:=Fintek F718xx/F818xx Watchdog Timer
1270 DEPENDS:=@TARGET_x86
1271 KCONFIG:=CONFIG_F71808E_WDT
1272 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/f71808e_wdt.ko
1273 AUTOLOAD:=$(call AutoProbe,f71808e-wdt,1)
1276 define KernelPackage/f71808e-wdt/description
1277 Kernel module for the watchdog timer found on many Fintek Super-IO chips.
1280 $(eval $(call KernelPackage,f71808e-wdt))