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 +LINUX_4_14:kmod-regmap
232 CONFIG_GPIO_MCP23S08 \
233 CONFIG_PINCTRL_MCP23S08
235 $(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko@lt4.13 \
236 $(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko@ge4.13
237 AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08@lt4.13 pinctrl-mcp23s08@ge4.13)
240 define KernelPackage/gpio-mcp23s08/description
241 Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
244 $(eval $(call KernelPackage,gpio-mcp23s08))
247 define KernelPackage/gpio-nxp-74hc164
248 SUBMENU:=$(OTHER_MENU)
249 TITLE:=NXP 74HC164 GPIO expander support
250 KCONFIG:=CONFIG_GPIO_74X164
251 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-74x164.ko
252 AUTOLOAD:=$(call AutoProbe,gpio-74x164)
255 define KernelPackage/gpio-nxp-74hc164/description
256 Kernel module for NXP 74HC164 GPIO expander
259 $(eval $(call KernelPackage,gpio-nxp-74hc164))
261 define KernelPackage/gpio-pca953x
262 SUBMENU:=$(OTHER_MENU)
263 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
264 TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
265 KCONFIG:=CONFIG_GPIO_PCA953X
266 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
267 AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
270 define KernelPackage/gpio-pca953x/description
271 Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
272 PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
275 $(eval $(call KernelPackage,gpio-pca953x))
277 define KernelPackage/gpio-pcf857x
278 SUBMENU:=$(OTHER_MENU)
279 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
280 TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
281 KCONFIG:=CONFIG_GPIO_PCF857X
282 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
283 AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
286 define KernelPackage/gpio-pcf857x/description
287 Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
290 $(eval $(call KernelPackage,gpio-pcf857x))
293 define KernelPackage/ppdev
294 SUBMENU:=$(OTHER_MENU)
295 TITLE:=Parallel port support
300 $(LINUX_DIR)/drivers/parport/parport.ko \
301 $(LINUX_DIR)/drivers/char/ppdev.ko
302 AUTOLOAD:=$(call AutoLoad,50,parport ppdev)
305 $(eval $(call KernelPackage,ppdev))
308 define KernelPackage/parport-pc
309 SUBMENU:=$(OTHER_MENU)
310 TITLE:=Parallel port interface (PC-style) support
315 CONFIG_PARPORT_1284=y \
316 CONFIG_PARPORT_PC_FIFO=y \
317 CONFIG_PARPORT_PC_PCMCIA=n \
318 CONFIG_PARPORT_PC_SUPERIO=y \
319 CONFIG_PARPORT_SERIAL=n \
324 $(LINUX_DIR)/drivers/parport/parport_pc.ko
325 AUTOLOAD:=$(call AutoLoad,51,parport_pc)
328 $(eval $(call KernelPackage,parport-pc))
331 define KernelPackage/lp
332 SUBMENU:=$(OTHER_MENU)
333 TITLE:=Parallel port line printer device support
338 $(LINUX_DIR)/drivers/char/lp.ko
339 AUTOLOAD:=$(call AutoLoad,52,lp)
342 $(eval $(call KernelPackage,lp))
345 define KernelPackage/mmc
346 SUBMENU:=$(OTHER_MENU)
347 TITLE:=MMC/SD Card Support
348 DEPENDS:=@!TARGET_uml
353 CONFIG_MMC_UNSAFE_RESUME=n \
354 CONFIG_MMC_BLOCK_BOUNCE=y \
355 CONFIG_MMC_TIFM_SD=n \
359 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
360 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko@lt4.10 \
361 $(LINUX_DIR)/drivers/mmc/core/mmc_block.ko@ge4.10
362 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
365 define KernelPackage/mmc/description
366 Kernel support for MMC/SD cards
369 $(eval $(call KernelPackage,mmc))
372 define KernelPackage/sdhci
373 SUBMENU:=$(OTHER_MENU)
374 TITLE:=Secure Digital Host Controller Interface support
378 CONFIG_MMC_SDHCI_PLTFM \
379 CONFIG_MMC_SDHCI_PCI=n
381 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
382 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
384 AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
387 define KernelPackage/sdhci/description
388 Kernel support for SDHCI Hosts
391 $(eval $(call KernelPackage,sdhci))
394 define KernelPackage/rfkill
395 SUBMENU:=$(OTHER_MENU)
396 TITLE:=RF switch subsystem support
397 DEPENDS:=@USE_RFKILL +kmod-input-core
400 CONFIG_RFKILL_INPUT=y \
403 $(LINUX_DIR)/net/rfkill/rfkill.ko
404 AUTOLOAD:=$(call AutoLoad,20,rfkill)
407 define KernelPackage/rfkill/description
408 Say Y here if you want to have control over RF switches
409 found on many WiFi and Bluetooth cards
412 $(eval $(call KernelPackage,rfkill))
415 define KernelPackage/softdog
416 SUBMENU:=$(OTHER_MENU)
417 TITLE:=Software watchdog driver
418 KCONFIG:=CONFIG_SOFT_WATCHDOG \
419 CONFIG_SOFT_WATCHDOG_PRETIMEOUT=n
420 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
421 AUTOLOAD:=$(call AutoLoad,50,softdog,1)
424 define KernelPackage/softdog/description
425 Software watchdog driver
428 $(eval $(call KernelPackage,softdog))
431 define KernelPackage/ssb
432 SUBMENU:=$(OTHER_MENU)
433 TITLE:=Silicon Sonics Backplane glue code
434 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
437 CONFIG_SSB_B43_PCI_BRIDGE=y \
438 CONFIG_SSB_DRIVER_MIPS=n \
439 CONFIG_SSB_DRIVER_PCICORE=y \
440 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
441 CONFIG_SSB_PCIHOST=y \
442 CONFIG_SSB_PCIHOST_POSSIBLE=y \
443 CONFIG_SSB_POSSIBLE=y \
446 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
447 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
450 define KernelPackage/ssb/description
451 Silicon Sonics Backplane glue code.
454 $(eval $(call KernelPackage,ssb))
457 define KernelPackage/bcma
458 SUBMENU:=$(OTHER_MENU)
460 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
463 CONFIG_BCMA_POSSIBLE=y \
464 CONFIG_BCMA_BLOCKIO=y \
465 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
466 CONFIG_BCMA_HOST_PCI=y \
467 CONFIG_BCMA_HOST_SOC=n \
468 CONFIG_BCMA_DRIVER_MIPS=n \
469 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
470 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
472 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
473 AUTOLOAD:=$(call AutoLoad,29,bcma)
476 define KernelPackage/bcma/description
477 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
480 $(eval $(call KernelPackage,bcma))
483 define KernelPackage/rtc-ds1307
484 SUBMENU:=$(OTHER_MENU)
485 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
486 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
487 DEPENDS:=+kmod-i2c-core +LINUX_4_14:kmod-regmap
488 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
490 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
491 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
494 define KernelPackage/rtc-ds1307/description
495 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
496 Epson RX-8025 and various other compatible RTC chips connected via I2C.
499 $(eval $(call KernelPackage,rtc-ds1307))
502 define KernelPackage/rtc-ds1374
503 SUBMENU:=$(OTHER_MENU)
504 TITLE:=Dallas/Maxim DS1374 RTC support
505 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
506 DEPENDS:=+kmod-i2c-core
507 KCONFIG:=CONFIG_RTC_DRV_DS1374 \
508 CONFIG_RTC_DRV_DS1374_WDT=n \
510 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
511 AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
514 define KernelPackage/rtc-ds1374/description
515 Kernel module for Dallas/Maxim DS1374.
518 $(eval $(call KernelPackage,rtc-ds1374))
521 define KernelPackage/rtc-ds1672
522 SUBMENU:=$(OTHER_MENU)
523 TITLE:=Dallas/Maxim DS1672 RTC support
524 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
525 DEPENDS:=+kmod-i2c-core
526 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
528 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
529 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
532 define KernelPackage/rtc-ds1672/description
533 Kernel module for Dallas/Maxim DS1672 RTC.
536 $(eval $(call KernelPackage,rtc-ds1672))
539 define KernelPackage/rtc-isl1208
540 SUBMENU:=$(OTHER_MENU)
541 TITLE:=Intersil ISL1208 RTC support
542 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
543 DEPENDS:=+kmod-i2c-core
544 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
546 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
547 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
550 define KernelPackage/rtc-isl1208/description
551 Kernel module for Intersil ISL1208 RTC.
554 $(eval $(call KernelPackage,rtc-isl1208))
557 define KernelPackage/rtc-pcf8563
558 SUBMENU:=$(OTHER_MENU)
559 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
560 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
561 DEPENDS:=+kmod-i2c-core
562 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
564 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
565 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
568 define KernelPackage/rtc-pcf8563/description
569 Kernel module for Philips PCF8563 RTC chip.
570 The Epson RTC8564 should work as well.
573 $(eval $(call KernelPackage,rtc-pcf8563))
576 define KernelPackage/rtc-pcf2123
577 SUBMENU:=$(OTHER_MENU)
578 TITLE:=Philips PCF2123 RTC support
579 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
580 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
582 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
583 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
586 define KernelPackage/rtc-pcf2123/description
587 Kernel module for Philips PCF2123 RTC chip
590 $(eval $(call KernelPackage,rtc-pcf2123))
592 define KernelPackage/rtc-pt7c4338
593 SUBMENU:=$(OTHER_MENU)
594 TITLE:=Pericom PT7C4338 RTC support
595 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
596 DEPENDS:=+kmod-i2c-core
597 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
599 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
600 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
603 define KernelPackage/rtc-pt7c4338/description
604 Kernel module for Pericom PT7C4338 i2c RTC chip
607 $(eval $(call KernelPackage,rtc-pt7c4338))
609 define KernelPackage/rtc-rs5c372a
610 SUBMENU:=$(OTHER_MENU)
611 TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
612 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
613 DEPENDS:=+kmod-i2c-core
614 KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
616 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
617 AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
620 define KernelPackage/rtc-rs5c372a/description
621 Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
624 $(eval $(call KernelPackage,rtc-rs5c372a))
627 define KernelPackage/mtdtests
628 SUBMENU:=$(OTHER_MENU)
629 TITLE:=MTD subsystem tests
630 KCONFIG:=CONFIG_MTD_TESTS
632 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
633 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
634 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
635 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
636 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
637 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
638 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
639 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
642 define KernelPackage/mtdtests/description
643 Kernel modules for MTD subsystem/driver testing
646 $(eval $(call KernelPackage,mtdtests))
649 define KernelPackage/mtdoops
650 SUBMENU:=$(OTHER_MENU)
651 TITLE:=Log panic/oops to an MTD buffer
652 KCONFIG:=CONFIG_MTD_OOPS
653 FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
656 define KernelPackage/mtdoops/description
657 Kernel modules for Log panic/oops to an MTD buffer
660 $(eval $(call KernelPackage,mtdoops))
663 define KernelPackage/mtdram
664 SUBMENU:=$(OTHER_MENU)
665 TITLE:=Test MTD driver using RAM
666 KCONFIG:=CONFIG_MTD_MTDRAM \
667 CONFIG_MTDRAM_TOTAL_SIZE=4096 \
668 CONFIG_MTDRAM_ERASE_SIZE=128
669 FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
672 define KernelPackage/mtdram/description
673 Test MTD driver using RAM
676 $(eval $(call KernelPackage,mtdram))
679 define KernelPackage/serial-8250
680 SUBMENU:=$(OTHER_MENU)
682 KCONFIG:= CONFIG_SERIAL_8250 \
683 CONFIG_SERIAL_8250_PCI \
684 CONFIG_SERIAL_8250_NR_UARTS=16 \
685 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
686 CONFIG_SERIAL_8250_EXTENDED=y \
687 CONFIG_SERIAL_8250_MANY_PORTS=y \
688 CONFIG_SERIAL_8250_SHARE_IRQ=y \
689 CONFIG_SERIAL_8250_DETECT_IRQ=n \
690 CONFIG_SERIAL_8250_RSA=n
692 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
693 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4 \
694 $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko@ge4.4)
695 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
698 define KernelPackage/serial-8250/description
699 Kernel module for 8250 UART based serial ports
702 $(eval $(call KernelPackage,serial-8250))
705 define KernelPackage/serial-8250-exar
706 SUBMENU:=$(OTHER_MENU)
707 TITLE:=Exar 8250 UARTs
708 KCONFIG:= CONFIG_SERIAL_8250_EXAR
709 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
710 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
711 DEPENDS:=+kmod-serial-8250
714 define KernelPackage/serial-8250-exar/description
715 Kernel module for Exar serial ports
718 $(eval $(call KernelPackage,serial-8250-exar))
721 define KernelPackage/regmap
722 SUBMENU:=$(OTHER_MENU)
723 TITLE:=Generic register map support
724 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
725 KCONFIG:=CONFIG_REGMAP \
731 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
732 $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
733 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
734 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
735 ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
736 ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
737 FILES += $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
742 define KernelPackage/regmap/description
743 Generic register map support
746 $(eval $(call KernelPackage,regmap))
748 define KernelPackage/ikconfig
749 SUBMENU:=$(OTHER_MENU)
750 TITLE:=Kernel configuration via /proc/config.gz
751 KCONFIG:=CONFIG_IKCONFIG \
752 CONFIG_IKCONFIG_PROC=y
753 FILES:=$(LINUX_DIR)/kernel/configs.ko
754 AUTOLOAD:=$(call AutoLoad,70,configs)
757 define KernelPackage/ikconfig/description
758 Kernel configuration via /proc/config.gz
761 $(eval $(call KernelPackage,ikconfig))
764 define KernelPackage/zram
765 SUBMENU:=$(OTHER_MENU)
767 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
771 CONFIG_ZRAM_DEBUG=n \
772 CONFIG_PGTABLE_MAPPING=n \
773 CONFIG_ZRAM_WRITEBACK=n \
774 CONFIG_ZSMALLOC_STAT=n \
775 CONFIG_ZRAM_LZ4_COMPRESS=y
777 $(LINUX_DIR)/mm/zsmalloc.ko \
778 $(LINUX_DIR)/drivers/block/zram/zram.ko
779 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
782 define KernelPackage/zram/description
783 Compressed RAM block device support
786 $(eval $(call KernelPackage,zram))
789 define KernelPackage/pps
790 SUBMENU:=$(OTHER_MENU)
793 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
794 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
797 define KernelPackage/pps/description
798 PPS (Pulse Per Second) is a special pulse provided by some GPS
799 antennae. Userland can use it to get a high-precision time
803 $(eval $(call KernelPackage,pps))
806 define KernelPackage/pps-gpio
807 SUBMENU:=$(OTHER_MENU)
808 TITLE:=PPS client using GPIO
810 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
811 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
812 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
815 define KernelPackage/pps-gpio/description
816 Support for a PPS source using GPIO. To be useful you must
817 also register a platform device specifying the GPIO pin and
818 other options, usually in your board setup.
821 $(eval $(call KernelPackage,pps-gpio))
824 define KernelPackage/pps-ldisc
825 SUBMENU:=$(OTHER_MENU)
826 TITLE:=PPS line discipline
828 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
829 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
830 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
833 define KernelPackage/pps-ldisc/description
834 Support for a PPS source connected with the CD (Carrier
835 Detect) pin of your serial port.
838 $(eval $(call KernelPackage,pps-ldisc))
841 define KernelPackage/ptp
842 SUBMENU:=$(OTHER_MENU)
843 TITLE:=PTP clock support
846 CONFIG_PTP_1588_CLOCK \
847 CONFIG_NET_PTP_CLASSIFY=y
848 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
849 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
852 define KernelPackage/ptp/description
853 The IEEE 1588 standard defines a method to precisely
854 synchronize distributed clocks over Ethernet networks.
857 $(eval $(call KernelPackage,ptp))
860 define KernelPackage/ptp-gianfar
861 SUBMENU:=$(OTHER_MENU)
862 TITLE:=Freescale Gianfar PTP support
863 DEPENDS:=@TARGET_mpc85xx +kmod-ptp
864 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
865 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
866 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
869 define KernelPackage/ptp-gianfar/description
870 Kernel module for IEEE 1588 support for Freescale
871 Gianfar Ethernet drivers
874 $(eval $(call KernelPackage,ptp-gianfar))
877 define KernelPackage/random-core
878 SUBMENU:=$(OTHER_MENU)
879 TITLE:=Hardware Random Number Generator Core support
880 KCONFIG:=CONFIG_HW_RANDOM
881 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
884 define KernelPackage/random-core/description
885 Kernel module for the HW random number generator core infrastructure
888 $(eval $(call KernelPackage,random-core))
890 define KernelPackage/random-omap
891 SUBMENU:=$(OTHER_MENU)
892 TITLE:=Hardware Random Number Generator OMAP support
893 KCONFIG:=CONFIG_HW_RANDOM_OMAP
894 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
895 DEPENDS:=@TARGET_omap24xx +kmod-random-core
896 AUTOLOAD:=$(call AutoProbe,random-omap)
899 define KernelPackage/random-omap/description
900 Kernel module for the OMAP Random Number Generator
901 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
904 $(eval $(call KernelPackage,random-omap))
906 define KernelPackage/random-tpm
907 SUBMENU:=$(OTHER_MENU)
908 TITLE:=Hardware Random Number Generator TPM support
909 KCONFIG:=CONFIG_HW_RANDOM_TPM
910 FILES:=$(LINUX_DIR)/drivers/char/hw_random/tpm-rng.ko
911 DEPENDS:= +kmod-random-core +kmod-tpm
912 AUTOLOAD:=$(call AutoProbe,tpm-rng)
915 define KernelPackage/random-tpm/description
916 Kernel module for the Random Number Generator
917 in the Trusted Platform Module.
920 $(eval $(call KernelPackage,random-tpm))
922 define KernelPackage/thermal
923 SUBMENU:=$(OTHER_MENU)
924 TITLE:=Generic Thermal sysfs driver
925 DEPENDS:=+kmod-hwmon-core
929 CONFIG_THERMAL_OF=y \
930 CONFIG_CPU_THERMAL=y \
931 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
932 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
933 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
934 CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
935 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
936 CONFIG_THERMAL_GOV_STEP_WISE=y \
937 CONFIG_THERMAL_GOV_USER_SPACE=n \
938 CONFIG_THERMAL_HWMON=y \
939 CONFIG_THERMAL_EMULATION=n
940 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
941 AUTOLOAD:=$(call AutoProbe,thermal_sys)
944 define KernelPackage/thermal/description
945 Generic Thermal Sysfs driver offers a generic mechanism for thermal
946 management. Usually it's made up of one or more thermal zone and cooling
950 $(eval $(call KernelPackage,thermal))
953 define KernelPackage/gpio-beeper
954 SUBMENU:=$(OTHER_MENU)
955 TITLE:=GPIO beeper support
956 DEPENDS:=+kmod-input-core
958 CONFIG_INPUT_MISC=y \
959 CONFIG_INPUT_GPIO_BEEPER
961 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
962 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
965 define KernelPackage/gpio-beeper/description
966 This enables playing beeps through an GPIO-connected buzzer
969 $(eval $(call KernelPackage,gpio-beeper))
972 define KernelPackage/echo
973 SUBMENU:=$(OTHER_MENU)
974 TITLE:=Line Echo Canceller
976 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
977 AUTOLOAD:=$(call AutoLoad,50,echo)
980 define KernelPackage/echo/description
981 This driver provides line echo cancelling support for mISDN and
985 $(eval $(call KernelPackage,echo))
988 define KernelPackage/bmp085
989 SUBMENU:=$(OTHER_MENU)
990 TITLE:=BMP085/BMP18x pressure sensor
991 DEPENDS:= +kmod-regmap @!LINUX_3_18
992 KCONFIG:= CONFIG_BMP085
993 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
996 define KernelPackage/bmp085/description
997 This driver adds support for Bosch Sensortec's digital pressure
998 sensors BMP085 and BMP18x.
1001 $(eval $(call KernelPackage,bmp085))
1004 define KernelPackage/bmp085-i2c
1005 SUBMENU:=$(OTHER_MENU)
1006 TITLE:=BMP085/BMP18x pressure sensor I2C
1007 DEPENDS:= +kmod-bmp085
1008 KCONFIG:= CONFIG_BMP085_I2C
1009 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
1010 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
1012 define KernelPackage/bmp085-i2c/description
1013 This driver adds support for Bosch Sensortec's digital pressure
1014 sensor connected via I2C.
1017 $(eval $(call KernelPackage,bmp085-i2c))
1020 define KernelPackage/bmp085-spi
1021 SUBMENU:=$(OTHER_MENU)
1022 TITLE:=BMP085/BMP18x pressure sensor SPI
1023 DEPENDS:= +kmod-bmp085
1024 KCONFIG:= CONFIG_BMP085_SPI
1025 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
1026 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
1028 define KernelPackage/bmp085-spi/description
1029 This driver adds support for Bosch Sensortec's digital pressure
1030 sensor connected via SPI.
1033 $(eval $(call KernelPackage,bmp085-spi))
1035 define KernelPackage/tpm
1036 SUBMENU:=$(OTHER_MENU)
1037 TITLE:=TPM Hardware Support
1038 KCONFIG:= CONFIG_TCG_TPM
1039 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
1040 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
1043 define KernelPackage/tpm/description
1044 This enables TPM Hardware Support.
1047 $(eval $(call KernelPackage,tpm))
1049 define KernelPackage/tpm-tis
1050 SUBMENU:=$(OTHER_MENU)
1051 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1052 DEPENDS:= @TARGET_x86 +kmod-tpm
1053 KCONFIG:= CONFIG_TCG_TIS
1055 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1056 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1057 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1060 define KernelPackage/tpm-tis/description
1061 If you have a TPM security chip that is compliant with the
1062 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1063 specification (TPM2.0) say Yes and it will be accessible from
1067 $(eval $(call KernelPackage,tpm-tis))
1069 define KernelPackage/tpm-i2c-atmel
1070 SUBMENU:=$(OTHER_MENU)
1071 TITLE:=TPM I2C Atmel Support
1072 DEPENDS:= +kmod-tpm +kmod-i2c-core
1073 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1074 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1075 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1078 define KernelPackage/tpm-i2c-atmel/description
1079 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1082 $(eval $(call KernelPackage,tpm-i2c-atmel))
1084 define KernelPackage/tpm-i2c-infineon
1085 SUBMENU:=$(OTHER_MENU)
1086 TITLE:= TPM I2C Infineon driver
1087 DEPENDS:= +kmod-tpm +kmod-i2c-core
1088 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1089 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1090 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1093 define KernelPackage/tpm-i2c-infineon/description
1094 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1097 $(eval $(call KernelPackage,tpm-i2c-infineon))
1100 define KernelPackage/w83627hf-wdt
1101 SUBMENU:=$(OTHER_MENU)
1102 TITLE:=Winbond 83627HF Watchdog Timer
1103 KCONFIG:=CONFIG_W83627HF_WDT
1104 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1105 AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1108 define KernelPackage/w83627hf-wdt/description
1109 Kernel module for Winbond 83627HF Watchdog Timer
1112 $(eval $(call KernelPackage,w83627hf-wdt))
1115 define KernelPackage/itco-wdt
1116 SUBMENU:=$(OTHER_MENU)
1117 TITLE:=Intel iTCO Watchdog Timer
1118 KCONFIG:=CONFIG_ITCO_WDT \
1119 CONFIG_ITCO_VENDOR_SUPPORT=y
1120 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1121 $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1122 AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1125 define KernelPackage/itco-wdt/description
1126 Kernel module for Intel iTCO Watchdog Timer
1129 $(eval $(call KernelPackage,itco-wdt))
1132 define KernelPackage/it87-wdt
1133 SUBMENU:=$(OTHER_MENU)
1134 TITLE:=ITE IT87 Watchdog Timer
1135 KCONFIG:=CONFIG_IT87_WDT
1136 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1137 AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1138 MODPARAMS.it87-wdt:= \
1143 define KernelPackage/it87-wdt/description
1144 Kernel module for ITE IT87 Watchdog Timer
1147 $(eval $(call KernelPackage,it87-wdt))