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_4_14:kmod-crypto-ecdh
40 CONFIG_BLUEZ_HCIUART \
52 CONFIG_BT_HCIBTUSB_BCM=n \
55 CONFIG_BT_HCIUART_BCM=n \
56 CONFIG_BT_HCIUART_INTEL=n \
57 CONFIG_BT_HCIUART_H4 \
58 CONFIG_BT_HCIUART_NOKIA=n \
61 $(call AddDepends/rfkill)
63 $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
64 $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
65 $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
66 $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
67 $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
68 $(LINUX_DIR)/drivers/bluetooth/btusb.ko
69 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,4.1.0)),1)
71 $(LINUX_DIR)/drivers/bluetooth/btintel.ko
73 AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
76 define KernelPackage/bluetooth/description
77 Kernel support for Bluetooth devices
80 $(eval $(call KernelPackage,bluetooth))
82 define KernelPackage/ath3k
83 SUBMENU:=$(OTHER_MENU)
84 TITLE:=ATH3K Kernel Module support
85 DEPENDS:=+kmod-bluetooth +ar3k-firmware
88 CONFIG_BT_HCIUART_ATH3K=y
89 $(call AddDepends/bluetooth)
91 $(LINUX_DIR)/drivers/bluetooth/ath3k.ko
92 AUTOLOAD:=$(call AutoProbe,ath3k)
95 define KernelPackage/ath3k/description
96 Kernel support for ATH3K Module
99 $(eval $(call KernelPackage,ath3k))
102 define KernelPackage/bluetooth_6lowpan
103 SUBMENU:=$(OTHER_MENU)
104 TITLE:=Bluetooth 6LoWPAN support
105 DEPENDS:=+kmod-6lowpan +kmod-bluetooth
106 KCONFIG:=CONFIG_BT_6LOWPAN
107 FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko
108 AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan)
111 define KernelPackage/bluetooth_6lowpan/description
112 Kernel support for 6LoWPAN over Bluetooth Low Energy devices
115 $(eval $(call KernelPackage,bluetooth_6lowpan))
118 define KernelPackage/btmrvl
119 SUBMENU:=$(OTHER_MENU)
120 TITLE:=Marvell Bluetooth Kernel Module support
121 DEPENDS:=+kmod-mmc +kmod-bluetooth +mwifiex-sdio-firmware
125 $(call AddDepends/bluetooth)
127 $(LINUX_DIR)/drivers/bluetooth/btmrvl.ko \
128 $(LINUX_DIR)/drivers/bluetooth/btmrvl_sdio.ko
129 AUTOLOAD:=$(call AutoProbe,btmrvl btmrvl_sdio)
132 define KernelPackage/btmrvl/description
133 Kernel support for Marvell SDIO Bluetooth Module
136 $(eval $(call KernelPackage,btmrvl))
139 define KernelPackage/dma-buf
140 SUBMENU:=$(OTHER_MENU)
141 TITLE:=DMA shared buffer support
143 KCONFIG:=CONFIG_DMA_SHARED_BUFFER
144 FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
145 AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
147 $(eval $(call KernelPackage,dma-buf))
150 define KernelPackage/nvmem
151 SUBMENU:=$(OTHER_MENU)
152 TITLE:=Non Volatile Memory support
153 KCONFIG:=CONFIG_NVMEM
155 FILES:=$(LINUX_DIR)/drivers/nvmem/nvmem_core.ko@ge4.9
158 define KernelPackage/nvmem/description
159 Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES, etc.
162 $(eval $(call KernelPackage,nvmem))
164 define KernelPackage/eeprom-93cx6
165 SUBMENU:=$(OTHER_MENU)
166 TITLE:=EEPROM 93CX6 support
167 KCONFIG:=CONFIG_EEPROM_93CX6
168 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
169 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
172 define KernelPackage/eeprom-93cx6/description
173 Kernel module for EEPROM 93CX6 support
176 $(eval $(call KernelPackage,eeprom-93cx6))
179 define KernelPackage/eeprom-at24
180 SUBMENU:=$(OTHER_MENU)
181 TITLE:=EEPROM AT24 support
182 KCONFIG:=CONFIG_EEPROM_AT24
183 DEPENDS:=+kmod-i2c-core +kmod-nvmem
184 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
185 AUTOLOAD:=$(call AutoProbe,at24)
188 define KernelPackage/eeprom-at24/description
189 Kernel module for most I2C EEPROMs
192 $(eval $(call KernelPackage,eeprom-at24))
195 define KernelPackage/eeprom-at25
196 SUBMENU:=$(OTHER_MENU)
197 TITLE:=EEPROM AT25 support
198 KCONFIG:=CONFIG_EEPROM_AT25
200 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
201 AUTOLOAD:=$(call AutoProbe,at25)
204 define KernelPackage/eeprom-at25/description
205 Kernel module for most SPI EEPROMs
208 $(eval $(call KernelPackage,eeprom-at25))
211 define KernelPackage/gpio-dev
212 SUBMENU:=$(OTHER_MENU)
213 TITLE:=Generic GPIO char device support
214 DEPENDS:=@GPIO_SUPPORT
215 KCONFIG:=CONFIG_GPIO_DEVICE
216 FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
217 AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
220 define KernelPackage/gpio-dev/description
221 Kernel module to allows control of GPIO pins using a character device.
224 $(eval $(call KernelPackage,gpio-dev))
227 define KernelPackage/gpio-mcp23s08
228 SUBMENU:=$(OTHER_MENU)
229 TITLE:=Microchip MCP23xxx I/O expander
230 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
231 KCONFIG:=CONFIG_GPIO_MCP23S08
232 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
233 AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
236 define KernelPackage/gpio-mcp23s08/description
237 Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
240 $(eval $(call KernelPackage,gpio-mcp23s08))
243 define KernelPackage/gpio-nxp-74hc164
244 SUBMENU:=$(OTHER_MENU)
245 TITLE:=NXP 74HC164 GPIO expander support
246 KCONFIG:=CONFIG_GPIO_74X164
247 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-74x164.ko
248 AUTOLOAD:=$(call AutoProbe,gpio-74x164)
251 define KernelPackage/gpio-nxp-74hc164/description
252 Kernel module for NXP 74HC164 GPIO expander
255 $(eval $(call KernelPackage,gpio-nxp-74hc164))
257 define KernelPackage/gpio-pca953x
258 SUBMENU:=$(OTHER_MENU)
259 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
260 TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
261 KCONFIG:=CONFIG_GPIO_PCA953X
262 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
263 AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
266 define KernelPackage/gpio-pca953x/description
267 Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
268 PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
271 $(eval $(call KernelPackage,gpio-pca953x))
273 define KernelPackage/gpio-pcf857x
274 SUBMENU:=$(OTHER_MENU)
275 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
276 TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
277 KCONFIG:=CONFIG_GPIO_PCF857X
278 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
279 AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
282 define KernelPackage/gpio-pcf857x/description
283 Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
286 $(eval $(call KernelPackage,gpio-pcf857x))
289 define KernelPackage/ppdev
290 SUBMENU:=$(OTHER_MENU)
291 TITLE:=Parallel port support
296 $(LINUX_DIR)/drivers/parport/parport.ko \
297 $(LINUX_DIR)/drivers/char/ppdev.ko
298 AUTOLOAD:=$(call AutoLoad,50,parport ppdev)
301 $(eval $(call KernelPackage,ppdev))
304 define KernelPackage/parport-pc
305 SUBMENU:=$(OTHER_MENU)
306 TITLE:=Parallel port interface (PC-style) support
311 CONFIG_PARPORT_1284=y \
312 CONFIG_PARPORT_PC_FIFO=y \
313 CONFIG_PARPORT_PC_PCMCIA=n \
314 CONFIG_PARPORT_PC_SUPERIO=y \
315 CONFIG_PARPORT_SERIAL=n \
320 $(LINUX_DIR)/drivers/parport/parport_pc.ko
321 AUTOLOAD:=$(call AutoLoad,51,parport_pc)
324 $(eval $(call KernelPackage,parport-pc))
327 define KernelPackage/lp
328 SUBMENU:=$(OTHER_MENU)
329 TITLE:=Parallel port line printer device support
334 $(LINUX_DIR)/drivers/char/lp.ko
335 AUTOLOAD:=$(call AutoLoad,52,lp)
338 $(eval $(call KernelPackage,lp))
341 define KernelPackage/mmc
342 SUBMENU:=$(OTHER_MENU)
343 TITLE:=MMC/SD Card Support
344 DEPENDS:=@!TARGET_uml
349 CONFIG_MMC_UNSAFE_RESUME=n \
350 CONFIG_MMC_BLOCK_BOUNCE=y \
351 CONFIG_MMC_TIFM_SD=n \
355 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
356 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko@lt4.10 \
357 $(LINUX_DIR)/drivers/mmc/core/mmc_block.ko@ge4.10
358 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
361 define KernelPackage/mmc/description
362 Kernel support for MMC/SD cards
365 $(eval $(call KernelPackage,mmc))
368 define KernelPackage/sdhci
369 SUBMENU:=$(OTHER_MENU)
370 TITLE:=Secure Digital Host Controller Interface support
374 CONFIG_MMC_SDHCI_PLTFM \
375 CONFIG_MMC_SDHCI_PCI=n
377 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
378 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
380 AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
383 define KernelPackage/sdhci/description
384 Kernel support for SDHCI Hosts
387 $(eval $(call KernelPackage,sdhci))
390 define KernelPackage/rfkill
391 SUBMENU:=$(OTHER_MENU)
392 TITLE:=RF switch subsystem support
393 DEPENDS:=@USE_RFKILL +kmod-input-core
396 CONFIG_RFKILL_INPUT=y \
399 $(LINUX_DIR)/net/rfkill/rfkill.ko
400 AUTOLOAD:=$(call AutoLoad,20,rfkill)
403 define KernelPackage/rfkill/description
404 Say Y here if you want to have control over RF switches
405 found on many WiFi and Bluetooth cards
408 $(eval $(call KernelPackage,rfkill))
411 define KernelPackage/softdog
412 SUBMENU:=$(OTHER_MENU)
413 TITLE:=Software watchdog driver
414 KCONFIG:=CONFIG_SOFT_WATCHDOG
415 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
416 AUTOLOAD:=$(call AutoLoad,50,softdog,1)
419 define KernelPackage/softdog/description
420 Software watchdog driver
423 $(eval $(call KernelPackage,softdog))
426 define KernelPackage/ssb
427 SUBMENU:=$(OTHER_MENU)
428 TITLE:=Silicon Sonics Backplane glue code
429 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
432 CONFIG_SSB_B43_PCI_BRIDGE=y \
433 CONFIG_SSB_DRIVER_MIPS=n \
434 CONFIG_SSB_DRIVER_PCICORE=y \
435 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
436 CONFIG_SSB_PCIHOST=y \
437 CONFIG_SSB_PCIHOST_POSSIBLE=y \
438 CONFIG_SSB_POSSIBLE=y \
441 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
442 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
445 define KernelPackage/ssb/description
446 Silicon Sonics Backplane glue code.
449 $(eval $(call KernelPackage,ssb))
452 define KernelPackage/bcma
453 SUBMENU:=$(OTHER_MENU)
455 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
458 CONFIG_BCMA_POSSIBLE=y \
459 CONFIG_BCMA_BLOCKIO=y \
460 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
461 CONFIG_BCMA_HOST_PCI=y \
462 CONFIG_BCMA_HOST_SOC=n \
463 CONFIG_BCMA_DRIVER_MIPS=n \
464 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
465 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
467 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
468 AUTOLOAD:=$(call AutoLoad,29,bcma)
471 define KernelPackage/bcma/description
472 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
475 $(eval $(call KernelPackage,bcma))
478 define KernelPackage/rtc-ds1307
479 SUBMENU:=$(OTHER_MENU)
480 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
481 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
482 DEPENDS:=+kmod-i2c-core +LINUX_4_14:kmod-regmap
483 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
485 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
486 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
489 define KernelPackage/rtc-ds1307/description
490 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
491 Epson RX-8025 and various other compatible RTC chips connected via I2C.
494 $(eval $(call KernelPackage,rtc-ds1307))
497 define KernelPackage/rtc-ds1374
498 SUBMENU:=$(OTHER_MENU)
499 TITLE:=Dallas/Maxim DS1374 RTC support
500 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
501 DEPENDS:=+kmod-i2c-core
502 KCONFIG:=CONFIG_RTC_DRV_DS1374 \
503 CONFIG_RTC_DRV_DS1374_WDT=n \
505 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
506 AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
509 define KernelPackage/rtc-ds1374/description
510 Kernel module for Dallas/Maxim DS1374.
513 $(eval $(call KernelPackage,rtc-ds1374))
516 define KernelPackage/rtc-ds1672
517 SUBMENU:=$(OTHER_MENU)
518 TITLE:=Dallas/Maxim DS1672 RTC support
519 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
520 DEPENDS:=+kmod-i2c-core
521 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
523 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
524 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
527 define KernelPackage/rtc-ds1672/description
528 Kernel module for Dallas/Maxim DS1672 RTC.
531 $(eval $(call KernelPackage,rtc-ds1672))
534 define KernelPackage/rtc-isl1208
535 SUBMENU:=$(OTHER_MENU)
536 TITLE:=Intersil ISL1208 RTC support
537 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
538 DEPENDS:=+kmod-i2c-core
539 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
541 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
542 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
545 define KernelPackage/rtc-isl1208/description
546 Kernel module for Intersil ISL1208 RTC.
549 $(eval $(call KernelPackage,rtc-isl1208))
552 define KernelPackage/rtc-pcf8563
553 SUBMENU:=$(OTHER_MENU)
554 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
555 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
556 DEPENDS:=+kmod-i2c-core
557 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
559 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
560 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
563 define KernelPackage/rtc-pcf8563/description
564 Kernel module for Philips PCF8563 RTC chip.
565 The Epson RTC8564 should work as well.
568 $(eval $(call KernelPackage,rtc-pcf8563))
571 define KernelPackage/rtc-pcf2123
572 SUBMENU:=$(OTHER_MENU)
573 TITLE:=Philips PCF2123 RTC support
574 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
575 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
577 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
578 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
581 define KernelPackage/rtc-pcf2123/description
582 Kernel module for Philips PCF2123 RTC chip
585 $(eval $(call KernelPackage,rtc-pcf2123))
587 define KernelPackage/rtc-pt7c4338
588 SUBMENU:=$(OTHER_MENU)
589 TITLE:=Pericom PT7C4338 RTC support
590 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
591 DEPENDS:=+kmod-i2c-core
592 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
594 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
595 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
598 define KernelPackage/rtc-pt7c4338/description
599 Kernel module for Pericom PT7C4338 i2c RTC chip
602 $(eval $(call KernelPackage,rtc-pt7c4338))
604 define KernelPackage/rtc-rs5c372a
605 SUBMENU:=$(OTHER_MENU)
606 TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
607 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
608 DEPENDS:=+kmod-i2c-core
609 KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
611 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
612 AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
615 define KernelPackage/rtc-rs5c372a/description
616 Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
619 $(eval $(call KernelPackage,rtc-rs5c372a))
622 define KernelPackage/mtdtests
623 SUBMENU:=$(OTHER_MENU)
624 TITLE:=MTD subsystem tests
625 KCONFIG:=CONFIG_MTD_TESTS
627 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
628 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
629 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
630 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
631 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
632 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
633 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
634 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
637 define KernelPackage/mtdtests/description
638 Kernel modules for MTD subsystem/driver testing
641 $(eval $(call KernelPackage,mtdtests))
644 define KernelPackage/mtdoops
645 SUBMENU:=$(OTHER_MENU)
646 TITLE:=Log panic/oops to an MTD buffer
647 KCONFIG:=CONFIG_MTD_OOPS
648 FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
651 define KernelPackage/mtdoops/description
652 Kernel modules for Log panic/oops to an MTD buffer
655 $(eval $(call KernelPackage,mtdoops))
658 define KernelPackage/mtdram
659 SUBMENU:=$(OTHER_MENU)
660 TITLE:=Test MTD driver using RAM
661 KCONFIG:=CONFIG_MTD_MTDRAM \
662 CONFIG_MTDRAM_TOTAL_SIZE=4096 \
663 CONFIG_MTDRAM_ERASE_SIZE=128
664 FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
667 define KernelPackage/mtdram/description
668 Test MTD driver using RAM
671 $(eval $(call KernelPackage,mtdram))
674 define KernelPackage/serial-8250
675 SUBMENU:=$(OTHER_MENU)
677 KCONFIG:= CONFIG_SERIAL_8250 \
678 CONFIG_SERIAL_8250_PCI \
679 CONFIG_SERIAL_8250_NR_UARTS=16 \
680 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
681 CONFIG_SERIAL_8250_EXTENDED=y \
682 CONFIG_SERIAL_8250_MANY_PORTS=y \
683 CONFIG_SERIAL_8250_SHARE_IRQ=y \
684 CONFIG_SERIAL_8250_DETECT_IRQ=n \
685 CONFIG_SERIAL_8250_RSA=n
687 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
688 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4 \
689 $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko@ge4.4)
690 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
693 define KernelPackage/serial-8250/description
694 Kernel module for 8250 UART based serial ports
697 $(eval $(call KernelPackage,serial-8250))
700 define KernelPackage/regmap
701 SUBMENU:=$(OTHER_MENU)
702 TITLE:=Generic register map support
703 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
704 KCONFIG:=CONFIG_REGMAP \
710 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
711 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
712 $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
713 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
714 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
717 define KernelPackage/regmap/description
718 Generic register map support
721 $(eval $(call KernelPackage,regmap))
723 define KernelPackage/ikconfig
724 SUBMENU:=$(OTHER_MENU)
725 TITLE:=Kernel configuration via /proc/config.gz
726 KCONFIG:=CONFIG_IKCONFIG \
727 CONFIG_IKCONFIG_PROC=y
728 FILES:=$(LINUX_DIR)/kernel/configs.ko
729 AUTOLOAD:=$(call AutoLoad,70,configs)
732 define KernelPackage/ikconfig/description
733 Kernel configuration via /proc/config.gz
736 $(eval $(call KernelPackage,ikconfig))
739 define KernelPackage/zram
740 SUBMENU:=$(OTHER_MENU)
742 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
746 CONFIG_ZRAM_DEBUG=n \
747 CONFIG_PGTABLE_MAPPING=n \
748 CONFIG_ZRAM_WRITEBACK=n \
749 CONFIG_ZSMALLOC_STAT=n \
750 CONFIG_ZRAM_LZ4_COMPRESS=y
752 $(LINUX_DIR)/mm/zsmalloc.ko \
753 $(LINUX_DIR)/drivers/block/zram/zram.ko
754 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
757 define KernelPackage/zram/description
758 Compressed RAM block device support
761 $(eval $(call KernelPackage,zram))
764 define KernelPackage/pps
765 SUBMENU:=$(OTHER_MENU)
768 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
769 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
772 define KernelPackage/pps/description
773 PPS (Pulse Per Second) is a special pulse provided by some GPS
774 antennae. Userland can use it to get a high-precision time
778 $(eval $(call KernelPackage,pps))
781 define KernelPackage/pps-gpio
782 SUBMENU:=$(OTHER_MENU)
783 TITLE:=PPS client using GPIO
785 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
786 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
787 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
790 define KernelPackage/pps-gpio/description
791 Support for a PPS source using GPIO. To be useful you must
792 also register a platform device specifying the GPIO pin and
793 other options, usually in your board setup.
796 $(eval $(call KernelPackage,pps-gpio))
799 define KernelPackage/pps-ldisc
800 SUBMENU:=$(OTHER_MENU)
801 TITLE:=PPS line discipline
803 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
804 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
805 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
808 define KernelPackage/pps-ldisc/description
809 Support for a PPS source connected with the CD (Carrier
810 Detect) pin of your serial port.
813 $(eval $(call KernelPackage,pps-ldisc))
816 define KernelPackage/ptp
817 SUBMENU:=$(OTHER_MENU)
818 TITLE:=PTP clock support
821 CONFIG_PTP_1588_CLOCK \
822 CONFIG_NET_PTP_CLASSIFY=y
823 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
824 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
827 define KernelPackage/ptp/description
828 The IEEE 1588 standard defines a method to precisely
829 synchronize distributed clocks over Ethernet networks.
832 $(eval $(call KernelPackage,ptp))
835 define KernelPackage/ptp-gianfar
836 SUBMENU:=$(OTHER_MENU)
837 TITLE:=Freescale Gianfar PTP support
838 DEPENDS:=@TARGET_mpc85xx +kmod-ptp
839 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
840 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
841 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
844 define KernelPackage/ptp-gianfar/description
845 Kernel module for IEEE 1588 support for Freescale
846 Gianfar Ethernet drivers
849 $(eval $(call KernelPackage,ptp-gianfar))
852 define KernelPackage/random-core
853 SUBMENU:=$(OTHER_MENU)
854 TITLE:=Hardware Random Number Generator Core support
855 KCONFIG:=CONFIG_HW_RANDOM
856 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
859 define KernelPackage/random-core/description
860 Kernel module for the HW random number generator core infrastructure
863 $(eval $(call KernelPackage,random-core))
865 define KernelPackage/random-omap
866 SUBMENU:=$(OTHER_MENU)
867 TITLE:=Hardware Random Number Generator OMAP support
868 KCONFIG:=CONFIG_HW_RANDOM_OMAP
869 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
870 DEPENDS:=@TARGET_omap24xx +kmod-random-core
871 AUTOLOAD:=$(call AutoProbe,random-omap)
874 define KernelPackage/random-omap/description
875 Kernel module for the OMAP Random Number Generator
876 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
879 $(eval $(call KernelPackage,random-omap))
881 define KernelPackage/thermal
882 SUBMENU:=$(OTHER_MENU)
883 TITLE:=Generic Thermal sysfs driver
884 DEPENDS:=+kmod-hwmon-core
888 CONFIG_THERMAL_OF=y \
889 CONFIG_CPU_THERMAL=y \
890 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
891 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
892 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
893 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
894 CONFIG_THERMAL_GOV_STEP_WISE=y \
895 CONFIG_THERMAL_GOV_USER_SPACE=n \
896 CONFIG_THERMAL_HWMON=y \
897 CONFIG_THERMAL_EMULATION=n
898 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
899 AUTOLOAD:=$(call AutoProbe,thermal_sys)
902 define KernelPackage/thermal/description
903 Generic Thermal Sysfs driver offers a generic mechanism for thermal
904 management. Usually it's made up of one or more thermal zone and cooling
908 $(eval $(call KernelPackage,thermal))
911 define KernelPackage/gpio-beeper
912 SUBMENU:=$(OTHER_MENU)
913 TITLE:=GPIO beeper support
914 DEPENDS:=+kmod-input-core
916 CONFIG_INPUT_MISC=y \
917 CONFIG_INPUT_GPIO_BEEPER
919 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
920 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
923 define KernelPackage/gpio-beeper/description
924 This enables playing beeps through an GPIO-connected buzzer
927 $(eval $(call KernelPackage,gpio-beeper))
930 define KernelPackage/echo
931 SUBMENU:=$(OTHER_MENU)
932 TITLE:=Line Echo Canceller
934 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
935 AUTOLOAD:=$(call AutoLoad,50,echo)
938 define KernelPackage/echo/description
939 This driver provides line echo cancelling support for mISDN and
943 $(eval $(call KernelPackage,echo))
946 define KernelPackage/bmp085
947 SUBMENU:=$(OTHER_MENU)
948 TITLE:=BMP085/BMP18x pressure sensor
949 DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
950 KCONFIG:= CONFIG_BMP085
951 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
954 define KernelPackage/bmp085/description
955 This driver adds support for Bosch Sensortec's digital pressure
956 sensors BMP085 and BMP18x.
959 $(eval $(call KernelPackage,bmp085))
962 define KernelPackage/bmp085-i2c
963 SUBMENU:=$(OTHER_MENU)
964 TITLE:=BMP085/BMP18x pressure sensor I2C
965 DEPENDS:= +kmod-bmp085
966 KCONFIG:= CONFIG_BMP085_I2C
967 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
968 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
970 define KernelPackage/bmp085-i2c/description
971 This driver adds support for Bosch Sensortec's digital pressure
972 sensor connected via I2C.
975 $(eval $(call KernelPackage,bmp085-i2c))
978 define KernelPackage/bmp085-spi
979 SUBMENU:=$(OTHER_MENU)
980 TITLE:=BMP085/BMP18x pressure sensor SPI
981 DEPENDS:= +kmod-bmp085
982 KCONFIG:= CONFIG_BMP085_SPI
983 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
984 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
986 define KernelPackage/bmp085-spi/description
987 This driver adds support for Bosch Sensortec's digital pressure
988 sensor connected via SPI.
991 $(eval $(call KernelPackage,bmp085-spi))
993 define KernelPackage/tpm
994 SUBMENU:=$(OTHER_MENU)
995 TITLE:=TPM Hardware Support
996 KCONFIG:= CONFIG_TCG_TPM
997 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
998 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
1001 define KernelPackage/tpm/description
1002 This enables TPM Hardware Support.
1005 $(eval $(call KernelPackage,tpm))
1007 define KernelPackage/tpm-tis
1008 SUBMENU:=$(OTHER_MENU)
1009 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1010 DEPENDS:= @TARGET_x86 +kmod-tpm
1011 KCONFIG:= CONFIG_TCG_TIS
1013 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1014 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1015 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1018 define KernelPackage/tpm-tis/description
1019 If you have a TPM security chip that is compliant with the
1020 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1021 specification (TPM2.0) say Yes and it will be accessible from
1025 $(eval $(call KernelPackage,tpm-tis))
1027 define KernelPackage/tpm-i2c-atmel
1028 SUBMENU:=$(OTHER_MENU)
1029 TITLE:=TPM I2C Atmel Support
1030 DEPENDS:= +kmod-tpm +kmod-i2c-core
1031 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1032 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1033 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1036 define KernelPackage/tpm-i2c-atmel/description
1037 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1040 $(eval $(call KernelPackage,tpm-i2c-atmel))
1042 define KernelPackage/tpm-i2c-infineon
1043 SUBMENU:=$(OTHER_MENU)
1044 TITLE:= TPM I2C Infineon driver
1045 DEPENDS:= +kmod-tpm +kmod-i2c-core
1046 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1047 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1048 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1051 define KernelPackage/tpm-i2c-infineon/description
1052 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1055 $(eval $(call KernelPackage,tpm-i2c-infineon))
1058 define KernelPackage/w83627hf-wdt
1059 SUBMENU:=$(OTHER_MENU)
1060 TITLE:=Winbond 83627HF Watchdog Timer
1061 KCONFIG:=CONFIG_W83627HF_WDT
1062 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1063 AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1066 define KernelPackage/w83627hf-wdt/description
1067 Kernel module for Winbond 83627HF Watchdog Timer
1070 $(eval $(call KernelPackage,w83627hf-wdt))
1073 define KernelPackage/itco-wdt
1074 SUBMENU:=$(OTHER_MENU)
1075 TITLE:=Intel iTCO Watchdog Timer
1076 KCONFIG:=CONFIG_ITCO_WDT \
1077 CONFIG_ITCO_VENDOR_SUPPORT=y
1078 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1079 $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1080 AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1083 define KernelPackage/itco-wdt/description
1084 Kernel module for Intel iTCO Watchdog Timer
1087 $(eval $(call KernelPackage,itco-wdt))
1090 define KernelPackage/it87-wdt
1091 SUBMENU:=$(OTHER_MENU)
1092 TITLE:=ITE IT87 Watchdog Timer
1093 KCONFIG:=CONFIG_IT87_WDT
1094 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1095 AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1096 MODPARAMS.it87-wdt:= \
1101 define KernelPackage/it87-wdt/description
1102 Kernel module for ITE IT87 Watchdog Timer
1105 $(eval $(call KernelPackage,it87-wdt))