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-i2c.ko \
711 $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
712 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
713 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
714 ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
715 ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
716 FILES += $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
721 define KernelPackage/regmap/description
722 Generic register map support
725 $(eval $(call KernelPackage,regmap))
727 define KernelPackage/ikconfig
728 SUBMENU:=$(OTHER_MENU)
729 TITLE:=Kernel configuration via /proc/config.gz
730 KCONFIG:=CONFIG_IKCONFIG \
731 CONFIG_IKCONFIG_PROC=y
732 FILES:=$(LINUX_DIR)/kernel/configs.ko
733 AUTOLOAD:=$(call AutoLoad,70,configs)
736 define KernelPackage/ikconfig/description
737 Kernel configuration via /proc/config.gz
740 $(eval $(call KernelPackage,ikconfig))
743 define KernelPackage/zram
744 SUBMENU:=$(OTHER_MENU)
746 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
750 CONFIG_ZRAM_DEBUG=n \
751 CONFIG_PGTABLE_MAPPING=n \
752 CONFIG_ZRAM_WRITEBACK=n \
753 CONFIG_ZSMALLOC_STAT=n \
754 CONFIG_ZRAM_LZ4_COMPRESS=y
756 $(LINUX_DIR)/mm/zsmalloc.ko \
757 $(LINUX_DIR)/drivers/block/zram/zram.ko
758 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
761 define KernelPackage/zram/description
762 Compressed RAM block device support
765 $(eval $(call KernelPackage,zram))
768 define KernelPackage/pps
769 SUBMENU:=$(OTHER_MENU)
772 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
773 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
776 define KernelPackage/pps/description
777 PPS (Pulse Per Second) is a special pulse provided by some GPS
778 antennae. Userland can use it to get a high-precision time
782 $(eval $(call KernelPackage,pps))
785 define KernelPackage/pps-gpio
786 SUBMENU:=$(OTHER_MENU)
787 TITLE:=PPS client using GPIO
789 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
790 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
791 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
794 define KernelPackage/pps-gpio/description
795 Support for a PPS source using GPIO. To be useful you must
796 also register a platform device specifying the GPIO pin and
797 other options, usually in your board setup.
800 $(eval $(call KernelPackage,pps-gpio))
803 define KernelPackage/pps-ldisc
804 SUBMENU:=$(OTHER_MENU)
805 TITLE:=PPS line discipline
807 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
808 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
809 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
812 define KernelPackage/pps-ldisc/description
813 Support for a PPS source connected with the CD (Carrier
814 Detect) pin of your serial port.
817 $(eval $(call KernelPackage,pps-ldisc))
820 define KernelPackage/ptp
821 SUBMENU:=$(OTHER_MENU)
822 TITLE:=PTP clock support
825 CONFIG_PTP_1588_CLOCK \
826 CONFIG_NET_PTP_CLASSIFY=y
827 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
828 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
831 define KernelPackage/ptp/description
832 The IEEE 1588 standard defines a method to precisely
833 synchronize distributed clocks over Ethernet networks.
836 $(eval $(call KernelPackage,ptp))
839 define KernelPackage/ptp-gianfar
840 SUBMENU:=$(OTHER_MENU)
841 TITLE:=Freescale Gianfar PTP support
842 DEPENDS:=@TARGET_mpc85xx +kmod-ptp
843 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
844 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
845 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
848 define KernelPackage/ptp-gianfar/description
849 Kernel module for IEEE 1588 support for Freescale
850 Gianfar Ethernet drivers
853 $(eval $(call KernelPackage,ptp-gianfar))
856 define KernelPackage/random-core
857 SUBMENU:=$(OTHER_MENU)
858 TITLE:=Hardware Random Number Generator Core support
859 KCONFIG:=CONFIG_HW_RANDOM
860 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
863 define KernelPackage/random-core/description
864 Kernel module for the HW random number generator core infrastructure
867 $(eval $(call KernelPackage,random-core))
869 define KernelPackage/random-omap
870 SUBMENU:=$(OTHER_MENU)
871 TITLE:=Hardware Random Number Generator OMAP support
872 KCONFIG:=CONFIG_HW_RANDOM_OMAP
873 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
874 DEPENDS:=@TARGET_omap24xx +kmod-random-core
875 AUTOLOAD:=$(call AutoProbe,random-omap)
878 define KernelPackage/random-omap/description
879 Kernel module for the OMAP Random Number Generator
880 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
883 $(eval $(call KernelPackage,random-omap))
885 define KernelPackage/thermal
886 SUBMENU:=$(OTHER_MENU)
887 TITLE:=Generic Thermal sysfs driver
888 DEPENDS:=+kmod-hwmon-core
892 CONFIG_THERMAL_OF=y \
893 CONFIG_CPU_THERMAL=y \
894 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
895 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
896 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
897 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
898 CONFIG_THERMAL_GOV_STEP_WISE=y \
899 CONFIG_THERMAL_GOV_USER_SPACE=n \
900 CONFIG_THERMAL_HWMON=y \
901 CONFIG_THERMAL_EMULATION=n
902 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
903 AUTOLOAD:=$(call AutoProbe,thermal_sys)
906 define KernelPackage/thermal/description
907 Generic Thermal Sysfs driver offers a generic mechanism for thermal
908 management. Usually it's made up of one or more thermal zone and cooling
912 $(eval $(call KernelPackage,thermal))
915 define KernelPackage/gpio-beeper
916 SUBMENU:=$(OTHER_MENU)
917 TITLE:=GPIO beeper support
918 DEPENDS:=+kmod-input-core
920 CONFIG_INPUT_MISC=y \
921 CONFIG_INPUT_GPIO_BEEPER
923 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
924 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
927 define KernelPackage/gpio-beeper/description
928 This enables playing beeps through an GPIO-connected buzzer
931 $(eval $(call KernelPackage,gpio-beeper))
934 define KernelPackage/echo
935 SUBMENU:=$(OTHER_MENU)
936 TITLE:=Line Echo Canceller
938 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
939 AUTOLOAD:=$(call AutoLoad,50,echo)
942 define KernelPackage/echo/description
943 This driver provides line echo cancelling support for mISDN and
947 $(eval $(call KernelPackage,echo))
950 define KernelPackage/bmp085
951 SUBMENU:=$(OTHER_MENU)
952 TITLE:=BMP085/BMP18x pressure sensor
953 DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
954 KCONFIG:= CONFIG_BMP085
955 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
958 define KernelPackage/bmp085/description
959 This driver adds support for Bosch Sensortec's digital pressure
960 sensors BMP085 and BMP18x.
963 $(eval $(call KernelPackage,bmp085))
966 define KernelPackage/bmp085-i2c
967 SUBMENU:=$(OTHER_MENU)
968 TITLE:=BMP085/BMP18x pressure sensor I2C
969 DEPENDS:= +kmod-bmp085
970 KCONFIG:= CONFIG_BMP085_I2C
971 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
972 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
974 define KernelPackage/bmp085-i2c/description
975 This driver adds support for Bosch Sensortec's digital pressure
976 sensor connected via I2C.
979 $(eval $(call KernelPackage,bmp085-i2c))
982 define KernelPackage/bmp085-spi
983 SUBMENU:=$(OTHER_MENU)
984 TITLE:=BMP085/BMP18x pressure sensor SPI
985 DEPENDS:= +kmod-bmp085
986 KCONFIG:= CONFIG_BMP085_SPI
987 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
988 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
990 define KernelPackage/bmp085-spi/description
991 This driver adds support for Bosch Sensortec's digital pressure
992 sensor connected via SPI.
995 $(eval $(call KernelPackage,bmp085-spi))
997 define KernelPackage/tpm
998 SUBMENU:=$(OTHER_MENU)
999 TITLE:=TPM Hardware Support
1000 KCONFIG:= CONFIG_TCG_TPM
1001 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
1002 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
1005 define KernelPackage/tpm/description
1006 This enables TPM Hardware Support.
1009 $(eval $(call KernelPackage,tpm))
1011 define KernelPackage/tpm-tis
1012 SUBMENU:=$(OTHER_MENU)
1013 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1014 DEPENDS:= @TARGET_x86 +kmod-tpm
1015 KCONFIG:= CONFIG_TCG_TIS
1017 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1018 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1019 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1022 define KernelPackage/tpm-tis/description
1023 If you have a TPM security chip that is compliant with the
1024 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1025 specification (TPM2.0) say Yes and it will be accessible from
1029 $(eval $(call KernelPackage,tpm-tis))
1031 define KernelPackage/tpm-i2c-atmel
1032 SUBMENU:=$(OTHER_MENU)
1033 TITLE:=TPM I2C Atmel Support
1034 DEPENDS:= +kmod-tpm +kmod-i2c-core
1035 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1036 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1037 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1040 define KernelPackage/tpm-i2c-atmel/description
1041 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1044 $(eval $(call KernelPackage,tpm-i2c-atmel))
1046 define KernelPackage/tpm-i2c-infineon
1047 SUBMENU:=$(OTHER_MENU)
1048 TITLE:= TPM I2C Infineon driver
1049 DEPENDS:= +kmod-tpm +kmod-i2c-core
1050 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1051 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1052 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1055 define KernelPackage/tpm-i2c-infineon/description
1056 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1059 $(eval $(call KernelPackage,tpm-i2c-infineon))
1062 define KernelPackage/w83627hf-wdt
1063 SUBMENU:=$(OTHER_MENU)
1064 TITLE:=Winbond 83627HF Watchdog Timer
1065 KCONFIG:=CONFIG_W83627HF_WDT
1066 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1067 AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1070 define KernelPackage/w83627hf-wdt/description
1071 Kernel module for Winbond 83627HF Watchdog Timer
1074 $(eval $(call KernelPackage,w83627hf-wdt))
1077 define KernelPackage/itco-wdt
1078 SUBMENU:=$(OTHER_MENU)
1079 TITLE:=Intel iTCO Watchdog Timer
1080 KCONFIG:=CONFIG_ITCO_WDT \
1081 CONFIG_ITCO_VENDOR_SUPPORT=y
1082 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1083 $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1084 AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1087 define KernelPackage/itco-wdt/description
1088 Kernel module for Intel iTCO Watchdog Timer
1091 $(eval $(call KernelPackage,itco-wdt))
1094 define KernelPackage/it87-wdt
1095 SUBMENU:=$(OTHER_MENU)
1096 TITLE:=ITE IT87 Watchdog Timer
1097 KCONFIG:=CONFIG_IT87_WDT
1098 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1099 AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1100 MODPARAMS.it87-wdt:= \
1105 define KernelPackage/it87-wdt/description
1106 Kernel module for ITE IT87 Watchdog Timer
1109 $(eval $(call KernelPackage,it87-wdt))