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
42 CONFIG_BT_HCIBTUSB_BCM=n \
44 CONFIG_BT_HCIUART_BCM=n \
45 CONFIG_BT_HCIUART_INTEL=n \
46 CONFIG_BT_HCIUART_H4 \
47 CONFIG_BT_HCIUART_NOKIA=n \
49 $(call AddDepends/rfkill)
51 $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
52 $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
53 $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
54 $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
55 $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
56 $(LINUX_DIR)/drivers/bluetooth/btusb.ko
57 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,4.1.0)),1)
59 $(LINUX_DIR)/drivers/bluetooth/btintel.ko
61 AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
64 define KernelPackage/bluetooth/description
65 Kernel support for Bluetooth devices
68 $(eval $(call KernelPackage,bluetooth))
70 define KernelPackage/ath3k
71 SUBMENU:=$(OTHER_MENU)
72 TITLE:=ATH3K Kernel Module support
73 DEPENDS:=+kmod-bluetooth +ar3k-firmware
76 CONFIG_BT_HCIUART_ATH3K=y
77 $(call AddDepends/bluetooth)
79 $(LINUX_DIR)/drivers/bluetooth/ath3k.ko
80 AUTOLOAD:=$(call AutoProbe,ath3k)
83 define KernelPackage/ath3k/description
84 Kernel support for ATH3K Module
87 $(eval $(call KernelPackage,ath3k))
90 define KernelPackage/bluetooth_6lowpan
91 SUBMENU:=$(OTHER_MENU)
92 TITLE:=Bluetooth 6LoWPAN support
93 DEPENDS:=+kmod-6lowpan +kmod-bluetooth
94 KCONFIG:=CONFIG_BT_6LOWPAN
95 FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko
96 AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan)
99 define KernelPackage/bluetooth_6lowpan/description
100 Kernel support for 6LoWPAN over Bluetooth Low Energy devices
103 $(eval $(call KernelPackage,bluetooth_6lowpan))
106 define KernelPackage/btmrvl
107 SUBMENU:=$(OTHER_MENU)
108 TITLE:=Marvell Bluetooth Kernel Module support
109 DEPENDS:=+kmod-mmc +kmod-bluetooth +mwifiex-sdio-firmware
113 $(call AddDepends/bluetooth)
115 $(LINUX_DIR)/drivers/bluetooth/btmrvl.ko \
116 $(LINUX_DIR)/drivers/bluetooth/btmrvl_sdio.ko
117 AUTOLOAD:=$(call AutoProbe,btmrvl btmrvl_sdio)
120 define KernelPackage/btmrvl/description
121 Kernel support for Marvell SDIO Bluetooth Module
124 $(eval $(call KernelPackage,btmrvl))
127 define KernelPackage/dma-buf
128 SUBMENU:=$(OTHER_MENU)
129 TITLE:=DMA shared buffer support
131 KCONFIG:=CONFIG_DMA_SHARED_BUFFER
132 FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
133 AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
135 $(eval $(call KernelPackage,dma-buf))
138 define KernelPackage/nvmem
139 SUBMENU:=$(OTHER_MENU)
140 TITLE:=Non Volatile Memory support
141 KCONFIG:=CONFIG_NVMEM
143 FILES:=$(LINUX_DIR)/drivers/nvmem/nvmem_core.ko@ge4.9
146 define KernelPackage/nvmem/description
147 Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES, etc.
150 $(eval $(call KernelPackage,nvmem))
152 define KernelPackage/eeprom-93cx6
153 SUBMENU:=$(OTHER_MENU)
154 TITLE:=EEPROM 93CX6 support
155 KCONFIG:=CONFIG_EEPROM_93CX6
156 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
157 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
160 define KernelPackage/eeprom-93cx6/description
161 Kernel module for EEPROM 93CX6 support
164 $(eval $(call KernelPackage,eeprom-93cx6))
167 define KernelPackage/eeprom-at24
168 SUBMENU:=$(OTHER_MENU)
169 TITLE:=EEPROM AT24 support
170 KCONFIG:=CONFIG_EEPROM_AT24
171 DEPENDS:=+kmod-i2c-core +kmod-nvmem
172 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
173 AUTOLOAD:=$(call AutoProbe,at24)
176 define KernelPackage/eeprom-at24/description
177 Kernel module for most I2C EEPROMs
180 $(eval $(call KernelPackage,eeprom-at24))
183 define KernelPackage/eeprom-at25
184 SUBMENU:=$(OTHER_MENU)
185 TITLE:=EEPROM AT25 support
186 KCONFIG:=CONFIG_EEPROM_AT25
188 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
189 AUTOLOAD:=$(call AutoProbe,at25)
192 define KernelPackage/eeprom-at25/description
193 Kernel module for most SPI EEPROMs
196 $(eval $(call KernelPackage,eeprom-at25))
199 define KernelPackage/gpio-dev
200 SUBMENU:=$(OTHER_MENU)
201 TITLE:=Generic GPIO char device support
202 DEPENDS:=@GPIO_SUPPORT
203 KCONFIG:=CONFIG_GPIO_DEVICE
204 FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
205 AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
208 define KernelPackage/gpio-dev/description
209 Kernel module to allows control of GPIO pins using a character device.
212 $(eval $(call KernelPackage,gpio-dev))
215 define KernelPackage/gpio-mcp23s08
216 SUBMENU:=$(OTHER_MENU)
217 TITLE:=Microchip MCP23xxx I/O expander
218 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +LINUX_4_14:kmod-regmap
220 CONFIG_GPIO_MCP23S08 \
221 CONFIG_PINCTRL_MCP23S08
223 $(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko@lt4.13 \
224 $(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko@ge4.13
225 AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08@lt4.13 pinctrl-mcp23s08@ge4.13)
228 define KernelPackage/gpio-mcp23s08/description
229 Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
232 $(eval $(call KernelPackage,gpio-mcp23s08))
235 define KernelPackage/gpio-nxp-74hc164
236 SUBMENU:=$(OTHER_MENU)
237 TITLE:=NXP 74HC164 GPIO expander support
238 KCONFIG:=CONFIG_GPIO_74X164
239 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-74x164.ko
240 AUTOLOAD:=$(call AutoProbe,gpio-74x164)
243 define KernelPackage/gpio-nxp-74hc164/description
244 Kernel module for NXP 74HC164 GPIO expander
247 $(eval $(call KernelPackage,gpio-nxp-74hc164))
249 define KernelPackage/gpio-pca953x
250 SUBMENU:=$(OTHER_MENU)
251 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
252 TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
253 KCONFIG:=CONFIG_GPIO_PCA953X
254 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
255 AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
258 define KernelPackage/gpio-pca953x/description
259 Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
260 PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
263 $(eval $(call KernelPackage,gpio-pca953x))
265 define KernelPackage/gpio-pcf857x
266 SUBMENU:=$(OTHER_MENU)
267 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
268 TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
269 KCONFIG:=CONFIG_GPIO_PCF857X
270 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
271 AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
274 define KernelPackage/gpio-pcf857x/description
275 Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
278 $(eval $(call KernelPackage,gpio-pcf857x))
281 define KernelPackage/ppdev
282 SUBMENU:=$(OTHER_MENU)
283 TITLE:=Parallel port support
288 $(LINUX_DIR)/drivers/parport/parport.ko \
289 $(LINUX_DIR)/drivers/char/ppdev.ko
290 AUTOLOAD:=$(call AutoLoad,50,parport ppdev)
293 $(eval $(call KernelPackage,ppdev))
296 define KernelPackage/parport-pc
297 SUBMENU:=$(OTHER_MENU)
298 TITLE:=Parallel port interface (PC-style) support
303 CONFIG_PARPORT_1284=y \
304 CONFIG_PARPORT_PC_FIFO=y \
305 CONFIG_PARPORT_PC_PCMCIA=n \
306 CONFIG_PARPORT_PC_SUPERIO=y \
307 CONFIG_PARPORT_SERIAL=n \
312 $(LINUX_DIR)/drivers/parport/parport_pc.ko
313 AUTOLOAD:=$(call AutoLoad,51,parport_pc)
316 $(eval $(call KernelPackage,parport-pc))
319 define KernelPackage/lp
320 SUBMENU:=$(OTHER_MENU)
321 TITLE:=Parallel port line printer device support
326 $(LINUX_DIR)/drivers/char/lp.ko
327 AUTOLOAD:=$(call AutoLoad,52,lp)
330 $(eval $(call KernelPackage,lp))
333 define KernelPackage/mmc
334 SUBMENU:=$(OTHER_MENU)
335 TITLE:=MMC/SD Card Support
336 DEPENDS:=@!TARGET_uml
341 CONFIG_MMC_UNSAFE_RESUME=n \
342 CONFIG_MMC_BLOCK_BOUNCE=y \
343 CONFIG_MMC_TIFM_SD=n \
347 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
348 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko@lt4.10 \
349 $(LINUX_DIR)/drivers/mmc/core/mmc_block.ko@ge4.10
350 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
353 define KernelPackage/mmc/description
354 Kernel support for MMC/SD cards
357 $(eval $(call KernelPackage,mmc))
360 define KernelPackage/sdhci
361 SUBMENU:=$(OTHER_MENU)
362 TITLE:=Secure Digital Host Controller Interface support
366 CONFIG_MMC_SDHCI_PLTFM \
367 CONFIG_MMC_SDHCI_PCI=n
369 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
370 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
372 AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
375 define KernelPackage/sdhci/description
376 Kernel support for SDHCI Hosts
379 $(eval $(call KernelPackage,sdhci))
382 define KernelPackage/rfkill
383 SUBMENU:=$(OTHER_MENU)
384 TITLE:=RF switch subsystem support
385 DEPENDS:=@USE_RFKILL +kmod-input-core
388 CONFIG_RFKILL_INPUT=y \
391 $(LINUX_DIR)/net/rfkill/rfkill.ko
392 AUTOLOAD:=$(call AutoLoad,20,rfkill)
395 define KernelPackage/rfkill/description
396 Say Y here if you want to have control over RF switches
397 found on many WiFi and Bluetooth cards
400 $(eval $(call KernelPackage,rfkill))
403 define KernelPackage/softdog
404 SUBMENU:=$(OTHER_MENU)
405 TITLE:=Software watchdog driver
406 KCONFIG:=CONFIG_SOFT_WATCHDOG \
407 CONFIG_SOFT_WATCHDOG_PRETIMEOUT=n
408 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
409 AUTOLOAD:=$(call AutoLoad,50,softdog,1)
412 define KernelPackage/softdog/description
413 Software watchdog driver
416 $(eval $(call KernelPackage,softdog))
419 define KernelPackage/ssb
420 SUBMENU:=$(OTHER_MENU)
421 TITLE:=Silicon Sonics Backplane glue code
422 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
425 CONFIG_SSB_B43_PCI_BRIDGE=y \
426 CONFIG_SSB_DRIVER_MIPS=n \
427 CONFIG_SSB_DRIVER_PCICORE=y \
428 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
429 CONFIG_SSB_PCIHOST=y \
430 CONFIG_SSB_PCIHOST_POSSIBLE=y \
431 CONFIG_SSB_POSSIBLE=y \
434 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
435 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
438 define KernelPackage/ssb/description
439 Silicon Sonics Backplane glue code.
442 $(eval $(call KernelPackage,ssb))
445 define KernelPackage/bcma
446 SUBMENU:=$(OTHER_MENU)
448 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
451 CONFIG_BCMA_POSSIBLE=y \
452 CONFIG_BCMA_BLOCKIO=y \
453 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
454 CONFIG_BCMA_HOST_PCI=y \
455 CONFIG_BCMA_HOST_SOC=n \
456 CONFIG_BCMA_DRIVER_MIPS=n \
457 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
458 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
460 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
461 AUTOLOAD:=$(call AutoLoad,29,bcma)
464 define KernelPackage/bcma/description
465 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
468 $(eval $(call KernelPackage,bcma))
471 define KernelPackage/rtc-ds1307
472 SUBMENU:=$(OTHER_MENU)
473 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
474 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
475 DEPENDS:=+kmod-i2c-core +LINUX_4_14:kmod-regmap
476 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
478 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
479 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
482 define KernelPackage/rtc-ds1307/description
483 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
484 Epson RX-8025 and various other compatible RTC chips connected via I2C.
487 $(eval $(call KernelPackage,rtc-ds1307))
490 define KernelPackage/rtc-ds1374
491 SUBMENU:=$(OTHER_MENU)
492 TITLE:=Dallas/Maxim DS1374 RTC support
493 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
494 DEPENDS:=+kmod-i2c-core
495 KCONFIG:=CONFIG_RTC_DRV_DS1374 \
496 CONFIG_RTC_DRV_DS1374_WDT=n \
498 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
499 AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
502 define KernelPackage/rtc-ds1374/description
503 Kernel module for Dallas/Maxim DS1374.
506 $(eval $(call KernelPackage,rtc-ds1374))
509 define KernelPackage/rtc-ds1672
510 SUBMENU:=$(OTHER_MENU)
511 TITLE:=Dallas/Maxim DS1672 RTC support
512 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
513 DEPENDS:=+kmod-i2c-core
514 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
516 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
517 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
520 define KernelPackage/rtc-ds1672/description
521 Kernel module for Dallas/Maxim DS1672 RTC.
524 $(eval $(call KernelPackage,rtc-ds1672))
527 define KernelPackage/rtc-isl1208
528 SUBMENU:=$(OTHER_MENU)
529 TITLE:=Intersil ISL1208 RTC support
530 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
531 DEPENDS:=+kmod-i2c-core
532 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
534 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
535 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
538 define KernelPackage/rtc-isl1208/description
539 Kernel module for Intersil ISL1208 RTC.
542 $(eval $(call KernelPackage,rtc-isl1208))
545 define KernelPackage/rtc-pcf8563
546 SUBMENU:=$(OTHER_MENU)
547 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
548 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
549 DEPENDS:=+kmod-i2c-core
550 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
552 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
553 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
556 define KernelPackage/rtc-pcf8563/description
557 Kernel module for Philips PCF8563 RTC chip.
558 The Epson RTC8564 should work as well.
561 $(eval $(call KernelPackage,rtc-pcf8563))
564 define KernelPackage/rtc-pcf2123
565 SUBMENU:=$(OTHER_MENU)
566 TITLE:=Philips PCF2123 RTC support
567 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
568 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
570 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
571 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
574 define KernelPackage/rtc-pcf2123/description
575 Kernel module for Philips PCF2123 RTC chip
578 $(eval $(call KernelPackage,rtc-pcf2123))
580 define KernelPackage/rtc-pt7c4338
581 SUBMENU:=$(OTHER_MENU)
582 TITLE:=Pericom PT7C4338 RTC support
583 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
584 DEPENDS:=+kmod-i2c-core
585 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
587 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
588 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
591 define KernelPackage/rtc-pt7c4338/description
592 Kernel module for Pericom PT7C4338 i2c RTC chip
595 $(eval $(call KernelPackage,rtc-pt7c4338))
597 define KernelPackage/rtc-rs5c372a
598 SUBMENU:=$(OTHER_MENU)
599 TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
600 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
601 DEPENDS:=+kmod-i2c-core
602 KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
604 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
605 AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
608 define KernelPackage/rtc-rs5c372a/description
609 Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
612 $(eval $(call KernelPackage,rtc-rs5c372a))
615 define KernelPackage/mtdtests
616 SUBMENU:=$(OTHER_MENU)
617 TITLE:=MTD subsystem tests
618 KCONFIG:=CONFIG_MTD_TESTS
620 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
621 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
622 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
623 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
624 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
625 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
626 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
627 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
630 define KernelPackage/mtdtests/description
631 Kernel modules for MTD subsystem/driver testing
634 $(eval $(call KernelPackage,mtdtests))
637 define KernelPackage/mtdoops
638 SUBMENU:=$(OTHER_MENU)
639 TITLE:=Log panic/oops to an MTD buffer
640 KCONFIG:=CONFIG_MTD_OOPS
641 FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
644 define KernelPackage/mtdoops/description
645 Kernel modules for Log panic/oops to an MTD buffer
648 $(eval $(call KernelPackage,mtdoops))
651 define KernelPackage/mtdram
652 SUBMENU:=$(OTHER_MENU)
653 TITLE:=Test MTD driver using RAM
654 KCONFIG:=CONFIG_MTD_MTDRAM \
655 CONFIG_MTDRAM_TOTAL_SIZE=4096 \
656 CONFIG_MTDRAM_ERASE_SIZE=128
657 FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
660 define KernelPackage/mtdram/description
661 Test MTD driver using RAM
664 $(eval $(call KernelPackage,mtdram))
667 define KernelPackage/serial-8250
668 SUBMENU:=$(OTHER_MENU)
670 KCONFIG:= CONFIG_SERIAL_8250 \
671 CONFIG_SERIAL_8250_PCI \
672 CONFIG_SERIAL_8250_NR_UARTS=16 \
673 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
674 CONFIG_SERIAL_8250_EXTENDED=y \
675 CONFIG_SERIAL_8250_MANY_PORTS=y \
676 CONFIG_SERIAL_8250_SHARE_IRQ=y \
677 CONFIG_SERIAL_8250_DETECT_IRQ=n \
678 CONFIG_SERIAL_8250_RSA=n
680 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
681 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4 \
682 $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko@ge4.4)
683 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
686 define KernelPackage/serial-8250/description
687 Kernel module for 8250 UART based serial ports
690 $(eval $(call KernelPackage,serial-8250))
693 define KernelPackage/serial-8250-exar
694 SUBMENU:=$(OTHER_MENU)
695 TITLE:=Exar 8250 UARTs
696 KCONFIG:= CONFIG_SERIAL_8250_EXAR
697 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
698 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
699 DEPENDS:=+kmod-serial-8250
702 define KernelPackage/serial-8250-exar/description
703 Kernel module for Exar serial ports
706 $(eval $(call KernelPackage,serial-8250-exar))
709 define KernelPackage/regmap
710 SUBMENU:=$(OTHER_MENU)
711 TITLE:=Generic register map support
712 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
713 KCONFIG:=CONFIG_REGMAP \
719 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
720 $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
721 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
722 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
723 ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
724 ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
725 FILES += $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
730 define KernelPackage/regmap/description
731 Generic register map support
734 $(eval $(call KernelPackage,regmap))
736 define KernelPackage/ikconfig
737 SUBMENU:=$(OTHER_MENU)
738 TITLE:=Kernel configuration via /proc/config.gz
739 KCONFIG:=CONFIG_IKCONFIG \
740 CONFIG_IKCONFIG_PROC=y
741 FILES:=$(LINUX_DIR)/kernel/configs.ko
742 AUTOLOAD:=$(call AutoLoad,70,configs)
745 define KernelPackage/ikconfig/description
746 Kernel configuration via /proc/config.gz
749 $(eval $(call KernelPackage,ikconfig))
752 define KernelPackage/zram
753 SUBMENU:=$(OTHER_MENU)
755 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
759 CONFIG_ZRAM_DEBUG=n \
760 CONFIG_PGTABLE_MAPPING=n \
761 CONFIG_ZRAM_WRITEBACK=n \
762 CONFIG_ZSMALLOC_STAT=n \
763 CONFIG_ZRAM_LZ4_COMPRESS=y
765 $(LINUX_DIR)/mm/zsmalloc.ko \
766 $(LINUX_DIR)/drivers/block/zram/zram.ko
767 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
770 define KernelPackage/zram/description
771 Compressed RAM block device support
774 $(eval $(call KernelPackage,zram))
777 define KernelPackage/pps
778 SUBMENU:=$(OTHER_MENU)
781 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
782 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
785 define KernelPackage/pps/description
786 PPS (Pulse Per Second) is a special pulse provided by some GPS
787 antennae. Userland can use it to get a high-precision time
791 $(eval $(call KernelPackage,pps))
794 define KernelPackage/pps-gpio
795 SUBMENU:=$(OTHER_MENU)
796 TITLE:=PPS client using GPIO
798 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
799 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
800 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
803 define KernelPackage/pps-gpio/description
804 Support for a PPS source using GPIO. To be useful you must
805 also register a platform device specifying the GPIO pin and
806 other options, usually in your board setup.
809 $(eval $(call KernelPackage,pps-gpio))
812 define KernelPackage/pps-ldisc
813 SUBMENU:=$(OTHER_MENU)
814 TITLE:=PPS line discipline
816 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
817 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
818 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
821 define KernelPackage/pps-ldisc/description
822 Support for a PPS source connected with the CD (Carrier
823 Detect) pin of your serial port.
826 $(eval $(call KernelPackage,pps-ldisc))
829 define KernelPackage/ptp
830 SUBMENU:=$(OTHER_MENU)
831 TITLE:=PTP clock support
834 CONFIG_PTP_1588_CLOCK \
835 CONFIG_NET_PTP_CLASSIFY=y
836 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
837 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
840 define KernelPackage/ptp/description
841 The IEEE 1588 standard defines a method to precisely
842 synchronize distributed clocks over Ethernet networks.
845 $(eval $(call KernelPackage,ptp))
848 define KernelPackage/ptp-gianfar
849 SUBMENU:=$(OTHER_MENU)
850 TITLE:=Freescale Gianfar PTP support
851 DEPENDS:=@TARGET_mpc85xx +kmod-ptp
852 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
853 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
854 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
857 define KernelPackage/ptp-gianfar/description
858 Kernel module for IEEE 1588 support for Freescale
859 Gianfar Ethernet drivers
862 $(eval $(call KernelPackage,ptp-gianfar))
865 define KernelPackage/random-core
866 SUBMENU:=$(OTHER_MENU)
867 TITLE:=Hardware Random Number Generator Core support
868 KCONFIG:=CONFIG_HW_RANDOM
869 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
872 define KernelPackage/random-core/description
873 Kernel module for the HW random number generator core infrastructure
876 $(eval $(call KernelPackage,random-core))
878 define KernelPackage/random-omap
879 SUBMENU:=$(OTHER_MENU)
880 TITLE:=Hardware Random Number Generator OMAP support
881 KCONFIG:=CONFIG_HW_RANDOM_OMAP
882 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
883 DEPENDS:=@TARGET_omap24xx +kmod-random-core
884 AUTOLOAD:=$(call AutoProbe,random-omap)
887 define KernelPackage/random-omap/description
888 Kernel module for the OMAP Random Number Generator
889 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
892 $(eval $(call KernelPackage,random-omap))
894 define KernelPackage/random-tpm
895 SUBMENU:=$(OTHER_MENU)
896 TITLE:=Hardware Random Number Generator TPM support
897 KCONFIG:=CONFIG_HW_RANDOM_TPM
898 FILES:=$(LINUX_DIR)/drivers/char/hw_random/tpm-rng.ko
899 DEPENDS:= +kmod-random-core +kmod-tpm
900 AUTOLOAD:=$(call AutoProbe,tpm-rng)
903 define KernelPackage/random-tpm/description
904 Kernel module for the Random Number Generator
905 in the Trusted Platform Module.
908 $(eval $(call KernelPackage,random-tpm))
910 define KernelPackage/thermal
911 SUBMENU:=$(OTHER_MENU)
912 TITLE:=Generic Thermal sysfs driver
913 DEPENDS:=+kmod-hwmon-core
917 CONFIG_THERMAL_OF=y \
918 CONFIG_CPU_THERMAL=y \
919 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
920 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
921 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
922 CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
923 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
924 CONFIG_THERMAL_GOV_STEP_WISE=y \
925 CONFIG_THERMAL_GOV_USER_SPACE=n \
926 CONFIG_THERMAL_HWMON=y \
927 CONFIG_THERMAL_EMULATION=n
928 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
929 AUTOLOAD:=$(call AutoProbe,thermal_sys)
932 define KernelPackage/thermal/description
933 Generic Thermal Sysfs driver offers a generic mechanism for thermal
934 management. Usually it's made up of one or more thermal zone and cooling
938 $(eval $(call KernelPackage,thermal))
941 define KernelPackage/gpio-beeper
942 SUBMENU:=$(OTHER_MENU)
943 TITLE:=GPIO beeper support
944 DEPENDS:=+kmod-input-core
946 CONFIG_INPUT_MISC=y \
947 CONFIG_INPUT_GPIO_BEEPER
949 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
950 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
953 define KernelPackage/gpio-beeper/description
954 This enables playing beeps through an GPIO-connected buzzer
957 $(eval $(call KernelPackage,gpio-beeper))
960 define KernelPackage/echo
961 SUBMENU:=$(OTHER_MENU)
962 TITLE:=Line Echo Canceller
964 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
965 AUTOLOAD:=$(call AutoLoad,50,echo)
968 define KernelPackage/echo/description
969 This driver provides line echo cancelling support for mISDN and
973 $(eval $(call KernelPackage,echo))
976 define KernelPackage/bmp085
977 SUBMENU:=$(OTHER_MENU)
978 TITLE:=BMP085/BMP18x pressure sensor
979 DEPENDS:= +kmod-regmap @!LINUX_3_18
980 KCONFIG:= CONFIG_BMP085
981 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
984 define KernelPackage/bmp085/description
985 This driver adds support for Bosch Sensortec's digital pressure
986 sensors BMP085 and BMP18x.
989 $(eval $(call KernelPackage,bmp085))
992 define KernelPackage/bmp085-i2c
993 SUBMENU:=$(OTHER_MENU)
994 TITLE:=BMP085/BMP18x pressure sensor I2C
995 DEPENDS:= +kmod-bmp085
996 KCONFIG:= CONFIG_BMP085_I2C
997 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
998 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
1000 define KernelPackage/bmp085-i2c/description
1001 This driver adds support for Bosch Sensortec's digital pressure
1002 sensor connected via I2C.
1005 $(eval $(call KernelPackage,bmp085-i2c))
1008 define KernelPackage/bmp085-spi
1009 SUBMENU:=$(OTHER_MENU)
1010 TITLE:=BMP085/BMP18x pressure sensor SPI
1011 DEPENDS:= +kmod-bmp085
1012 KCONFIG:= CONFIG_BMP085_SPI
1013 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
1014 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
1016 define KernelPackage/bmp085-spi/description
1017 This driver adds support for Bosch Sensortec's digital pressure
1018 sensor connected via SPI.
1021 $(eval $(call KernelPackage,bmp085-spi))
1023 define KernelPackage/tpm
1024 SUBMENU:=$(OTHER_MENU)
1025 TITLE:=TPM Hardware Support
1026 KCONFIG:= CONFIG_TCG_TPM
1027 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
1028 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
1031 define KernelPackage/tpm/description
1032 This enables TPM Hardware Support.
1035 $(eval $(call KernelPackage,tpm))
1037 define KernelPackage/tpm-tis
1038 SUBMENU:=$(OTHER_MENU)
1039 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1040 DEPENDS:= @TARGET_x86 +kmod-tpm
1041 KCONFIG:= CONFIG_TCG_TIS
1043 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1044 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1045 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1048 define KernelPackage/tpm-tis/description
1049 If you have a TPM security chip that is compliant with the
1050 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1051 specification (TPM2.0) say Yes and it will be accessible from
1055 $(eval $(call KernelPackage,tpm-tis))
1057 define KernelPackage/tpm-i2c-atmel
1058 SUBMENU:=$(OTHER_MENU)
1059 TITLE:=TPM I2C Atmel Support
1060 DEPENDS:= +kmod-tpm +kmod-i2c-core
1061 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1062 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1063 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1066 define KernelPackage/tpm-i2c-atmel/description
1067 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1070 $(eval $(call KernelPackage,tpm-i2c-atmel))
1072 define KernelPackage/tpm-i2c-infineon
1073 SUBMENU:=$(OTHER_MENU)
1074 TITLE:= TPM I2C Infineon driver
1075 DEPENDS:= +kmod-tpm +kmod-i2c-core
1076 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1077 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1078 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1081 define KernelPackage/tpm-i2c-infineon/description
1082 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1085 $(eval $(call KernelPackage,tpm-i2c-infineon))
1088 define KernelPackage/w83627hf-wdt
1089 SUBMENU:=$(OTHER_MENU)
1090 TITLE:=Winbond 83627HF Watchdog Timer
1091 KCONFIG:=CONFIG_W83627HF_WDT
1092 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1093 AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1096 define KernelPackage/w83627hf-wdt/description
1097 Kernel module for Winbond 83627HF Watchdog Timer
1100 $(eval $(call KernelPackage,w83627hf-wdt))
1103 define KernelPackage/itco-wdt
1104 SUBMENU:=$(OTHER_MENU)
1105 TITLE:=Intel iTCO Watchdog Timer
1106 KCONFIG:=CONFIG_ITCO_WDT \
1107 CONFIG_ITCO_VENDOR_SUPPORT=y
1108 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1109 $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1110 AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1113 define KernelPackage/itco-wdt/description
1114 Kernel module for Intel iTCO Watchdog Timer
1117 $(eval $(call KernelPackage,itco-wdt))
1120 define KernelPackage/it87-wdt
1121 SUBMENU:=$(OTHER_MENU)
1122 TITLE:=ITE IT87 Watchdog Timer
1123 KCONFIG:=CONFIG_IT87_WDT
1124 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1125 AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1126 MODPARAMS.it87-wdt:= \
1131 define KernelPackage/it87-wdt/description
1132 Kernel module for ITE IT87 Watchdog Timer
1135 $(eval $(call KernelPackage,it87-wdt))