2 # Copyright (C) 2006-2012 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-iphc
14 USBMENU:=$(OTHER_MENU)
15 TITLE:=6lowpan shared code
17 KCONFIG:=CONFIG_6LOWPAN_IPHC
19 FILES:=$(LINUX_DIR)/net/ieee802154/6lowpan_iphc.ko
20 AUTOLOAD:=$(call Autoprobe,6lowpan_iphc)
23 define KernelPackage/6lowpan-iphc/description
24 Shared 6lowpan code for IEEE 802.15.4 and Bluetooth.
27 $(eval $(call KernelPackage,6lowpan-iphc))
29 define KernelPackage/bluetooth
30 SUBMENU:=$(OTHER_MENU)
31 TITLE:=Bluetooth support
32 DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +LINUX_3_14:kmod-6lowpan-iphc
39 CONFIG_BLUEZ_HCIUART \
50 CONFIG_BT_HCIUART_H4 \
53 $(call AddDepends/crc16)
54 $(call AddDepends/hid)
55 $(call AddDepends/rfkill)
57 $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
58 $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
59 $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
60 $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
61 $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
62 $(LINUX_DIR)/drivers/bluetooth/btusb.ko
63 AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
66 define KernelPackage/bluetooth/description
67 Kernel support for Bluetooth devices
70 $(eval $(call KernelPackage,bluetooth))
73 define KernelPackage/bluetooth-hci-h4p
74 SUBMENU:=$(OTHER_MENU)
75 TITLE:=HCI driver with H4 Nokia extensions
76 DEPENDS:=@TARGET_omap24xx +kmod-bluetooth
77 KCONFIG:=CONFIG_BT_HCIH4P
78 FILES:=$(LINUX_DIR)/drivers/bluetooth/hci_h4p/hci_h4p.ko
79 AUTOLOAD:=$(call AutoProbe,hci_h4p)
82 define KernelPackage/bluetooth-hci-h4p/description
83 HCI driver with H4 Nokia extensions
86 $(eval $(call KernelPackage,bluetooth-hci-h4p))
89 define KernelPackage/eeprom-93cx6
90 SUBMENU:=$(OTHER_MENU)
91 TITLE:=EEPROM 93CX6 support
92 KCONFIG:=CONFIG_EEPROM_93CX6
93 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
94 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
97 define KernelPackage/eeprom-93cx6/description
98 Kernel module for EEPROM 93CX6 support
101 $(eval $(call KernelPackage,eeprom-93cx6))
104 define KernelPackage/eeprom-at24
105 SUBMENU:=$(OTHER_MENU)
106 TITLE:=EEPROM AT24 support
107 KCONFIG:=CONFIG_EEPROM_AT24
108 DEPENDS:=+kmod-i2c-core
109 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
110 AUTOLOAD:=$(call AutoProbe,at24)
113 define KernelPackage/eeprom-at24/description
114 Kernel module for most I2C EEPROMs
117 $(eval $(call KernelPackage,eeprom-at24))
120 define KernelPackage/eeprom-at25
121 SUBMENU:=$(OTHER_MENU)
122 TITLE:=EEPROM AT25 support
123 KCONFIG:=CONFIG_EEPROM_AT25
124 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
125 AUTOLOAD:=$(call AutoProbe,at25)
128 define KernelPackage/eeprom-at25/description
129 Kernel module for most SPI EEPROMs
132 $(eval $(call KernelPackage,eeprom-at25))
135 define KernelPackage/gpio-dev
136 SUBMENU:=$(OTHER_MENU)
137 TITLE:=Generic GPIO char device support
138 DEPENDS:=@GPIO_SUPPORT
139 KCONFIG:=CONFIG_GPIO_DEVICE
140 FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
141 AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
144 define KernelPackage/gpio-dev/description
145 Kernel module to allows control of GPIO pins using a character device.
148 $(eval $(call KernelPackage,gpio-dev))
151 define KernelPackage/gpio-mcp23s08
152 SUBMENU:=$(OTHER_MENU)
153 TITLE:=Microchip MCP23xxx I/O expander
154 DEPENDS:=@GPIO_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core
155 KCONFIG:=CONFIG_GPIO_MCP23S08
156 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
157 AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
160 define KernelPackage/gpio-mcp23s08/description
161 Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
164 $(eval $(call KernelPackage,gpio-mcp23s08))
167 define KernelPackage/gpio-nxp-74hc164
168 SUBMENU:=$(OTHER_MENU)
169 TITLE:=NXP 74HC164 GPIO expander support
170 KCONFIG:=CONFIG_GPIO_NXP_74HC164
171 FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
172 AUTOLOAD:=$(call AutoProbe,nxp_74hc164)
175 define KernelPackage/gpio-nxp-74hc164/description
176 Kernel module for NXP 74HC164 GPIO expander
179 $(eval $(call KernelPackage,gpio-nxp-74hc164))
181 define KernelPackage/gpio-pca953x
182 SUBMENU:=$(OTHER_MENU)
183 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
184 TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
185 KCONFIG:=CONFIG_GPIO_PCA953X
186 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
187 AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
190 define KernelPackage/gpio-pca953x/description
191 Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
192 PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
195 $(eval $(call KernelPackage,gpio-pca953x))
197 define KernelPackage/gpio-pcf857x
198 SUBMENU:=$(OTHER_MENU)
199 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
200 TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
201 KCONFIG:=CONFIG_GPIO_PCF857X
202 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
203 AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
206 define KernelPackage/gpio-pcf857x/description
207 Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
210 $(eval $(call KernelPackage,gpio-pcf857x))
212 define KernelPackage/iio-core
213 SUBMENU:=$(OTHER_MENU)
214 DEPENDS:=@!LINUX_3_3 @!LINUX_3_6
215 TITLE:=Industrial IO core
218 CONFIG_IIO_BUFFER=y \
219 CONFIG_IIO_KFIFO_BUF \
220 CONFIG_IIO_TRIGGER=y \
221 CONFIG_IIO_TRIGGERED_BUFFER
223 $(LINUX_DIR)/drivers/iio/industrialio.ko \
224 $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/industrialio-triggered-buffer.ko) \
225 $(LINUX_DIR)/drivers/iio/kfifo_buf.ko
226 AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
229 define KernelPackage/iio-core/description
230 The industrial I/O subsystem provides a unified framework for
231 drivers for many different types of embedded sensors using a
232 number of different physical interfaces (i2c, spi, etc)
235 $(eval $(call KernelPackage,iio-core))
238 define KernelPackage/iio-ad799x
239 SUBMENU:=$(OTHER_MENU)
240 DEPENDS:=kmod-i2c-core kmod-iio-core
241 TITLE:=Analog Devices AD799x ADC driver
243 CONFIG_AD799X_RING_BUFFER=y \
245 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.16.0)),1)
246 FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
248 FILES:=$(LINUX_DIR)/drivers/staging/iio/adc/ad799x.ko
250 AUTOLOAD:=$(call AutoLoad,56,ad799x)
253 define KernelPackage/iio-ad799x/description
254 support for Analog Devices:
255 ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
256 i2c analog to digital converters (ADC).
259 $(eval $(call KernelPackage,iio-ad799x))
262 define KernelPackage/iio-dht11
263 SUBMENU:=$(OTHER_MENU)
264 DEPENDS:=kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
265 TITLE:=DHT11 (and compatible) humidity and temperature sensors
268 FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
269 AUTOLOAD:=$(call AutoLoad,56,dht11)
272 define KernelPackage/iio-dht11/description
273 support for DHT11 and DHT22 digitial humidity and temperature sensors
274 attached at GPIO lines. You will need a custom device tree file to
275 specify the GPIO line to use.
278 $(eval $(call KernelPackage,iio-dht11))
281 define KernelPackage/lp
282 SUBMENU:=$(OTHER_MENU)
283 TITLE:=Parallel port and line printer support
290 $(LINUX_DIR)/drivers/parport/parport.ko \
291 $(LINUX_DIR)/drivers/char/lp.ko \
292 $(LINUX_DIR)/drivers/char/ppdev.ko
293 AUTOLOAD:=$(call AutoLoad,50,parport lp)
296 $(eval $(call KernelPackage,lp))
299 define KernelPackage/mmc
300 SUBMENU:=$(OTHER_MENU)
301 TITLE:=MMC/SD Card Support
306 CONFIG_MMC_UNSAFE_RESUME=n \
307 CONFIG_MMC_BLOCK_BOUNCE=y \
308 CONFIG_MMC_TIFM_SD=n \
312 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
313 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
314 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
317 define KernelPackage/mmc/description
318 Kernel support for MMC/SD cards
321 $(eval $(call KernelPackage,mmc))
324 define KernelPackage/sdhci
325 SUBMENU:=$(OTHER_MENU)
326 TITLE:=Secure Digital Host Controller Interface support
330 CONFIG_MMC_SDHCI_PLTFM \
331 CONFIG_MMC_SDHCI_PCI=n
333 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
334 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
336 AUTOLOAD:=$(call AutoProbe,sdhci sdhci-pltfm,1)
339 define KernelPackage/sdhci/description
340 Kernel support for SDHCI Hosts
343 $(eval $(call KernelPackage,sdhci))
346 define KernelPackage/oprofile
347 SUBMENU:=$(OTHER_MENU)
348 TITLE:=OProfile profiling support
349 KCONFIG:=CONFIG_OPROFILE
350 FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.ko
351 DEPENDS:=@KERNEL_PROFILING
354 define KernelPackage/oprofile/description
355 Kernel module for support for oprofile system profiling
358 $(eval $(call KernelPackage,oprofile))
361 define KernelPackage/rfkill
362 SUBMENU:=$(OTHER_MENU)
363 TITLE:=RF switch subsystem support
364 DEPENDS:=@USE_RFKILL +kmod-input-core
367 CONFIG_RFKILL_INPUT=y \
368 CONFIG_RFKILL_LEDS=y \
371 $(LINUX_DIR)/net/rfkill/rfkill.ko
372 AUTOLOAD:=$(call AutoLoad,20,rfkill)
375 define KernelPackage/rfkill/description
376 Say Y here if you want to have control over RF switches
377 found on many WiFi and Bluetooth cards
380 $(eval $(call KernelPackage,rfkill))
383 define KernelPackage/softdog
384 SUBMENU:=$(OTHER_MENU)
385 TITLE:=Software watchdog driver
386 KCONFIG:=CONFIG_SOFT_WATCHDOG
387 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
388 AUTOLOAD:=$(call AutoLoad,50,softdog)
391 define KernelPackage/softdog/description
392 Software watchdog driver
395 $(eval $(call KernelPackage,softdog))
398 define KernelPackage/ssb
399 SUBMENU:=$(OTHER_MENU)
400 TITLE:=Silicon Sonics Backplane glue code
401 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
404 CONFIG_SSB_B43_PCI_BRIDGE=y \
405 CONFIG_SSB_DRIVER_MIPS=n \
406 CONFIG_SSB_DRIVER_PCICORE=y \
407 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
408 CONFIG_SSB_PCIHOST=y \
409 CONFIG_SSB_PCIHOST_POSSIBLE=y \
410 CONFIG_SSB_POSSIBLE=y \
413 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
414 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
417 define KernelPackage/ssb/description
418 Silicon Sonics Backplane glue code.
421 $(eval $(call KernelPackage,ssb))
424 define KernelPackage/bcma
425 SUBMENU:=$(OTHER_MENU)
427 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx
430 CONFIG_BCMA_POSSIBLE=y \
431 CONFIG_BCMA_BLOCKIO=y \
432 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
433 CONFIG_BCMA_HOST_PCI=y \
434 CONFIG_BCMA_HOST_SOC=n \
435 CONFIG_BCMA_DRIVER_MIPS=n \
436 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
437 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
439 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
440 AUTOLOAD:=$(call AutoLoad,29,bcma)
443 define KernelPackage/bcma/description
444 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
447 $(eval $(call KernelPackage,bcma))
450 define KernelPackage/wdt-omap
451 SUBMENU:=$(OTHER_MENU)
452 TITLE:=OMAP Watchdog timer
453 DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
454 KCONFIG:=CONFIG_OMAP_WATCHDOG
455 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
456 AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
459 define KernelPackage/wdt-omap/description
460 Kernel module for TI omap watchdog timer
463 $(eval $(call KernelPackage,wdt-omap))
466 define KernelPackage/wdt-orion
467 SUBMENU:=$(OTHER_MENU)
468 TITLE:=Marvell Orion Watchdog timer
469 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
470 KCONFIG:=CONFIG_ORION_WATCHDOG
471 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
472 AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
475 define KernelPackage/wdt-orion/description
476 Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
479 $(eval $(call KernelPackage,wdt-orion))
482 define KernelPackage/booke-wdt
483 SUBMENU:=$(OTHER_MENU)
484 TITLE:=PowerPC Book-E Watchdog Timer
485 DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
486 KCONFIG:=CONFIG_BOOKE_WDT
487 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
488 AUTOLOAD:=$(call AutoLoad,50,booke_wdt)
491 define KernelPackage/booke-wdt/description
492 Kernel module for PowerPC Book-E Watchdog Timer
495 $(eval $(call KernelPackage,booke-wdt))
498 define KernelPackage/pwm
499 SUBMENU:=$(OTHER_MENU)
500 TITLE:=PWM generic API
501 KCONFIG:=CONFIG_GENERIC_PWM
502 FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
505 define KernelPackage/pwm/description
506 Kernel module that implement a generic PWM API
509 $(eval $(call KernelPackage,pwm))
512 define KernelPackage/pwm-gpio
513 SUBMENU:=$(OTHER_MENU)
516 KCONFIG:=CONFIG_GPIO_PWM
517 FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
518 AUTOLOAD:=$(call AutoProbe,gpio-pwm)
521 define KernelPackage/pwm-gpio/description
522 Kernel module to models a single-channel PWM device using a timer and a GPIO pin
525 $(eval $(call KernelPackage,pwm-gpio))
528 define KernelPackage/rtc-ds1307
529 SUBMENU:=$(OTHER_MENU)
530 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
531 $(call AddDepends/rtc)
532 DEPENDS+=+kmod-i2c-core
533 KCONFIG:=CONFIG_RTC_DRV_DS1307
534 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
535 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
538 define KernelPackage/rtc-ds1307/description
539 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
540 Epson RX-8025 and various other compatible RTC chips connected via I2C.
543 $(eval $(call KernelPackage,rtc-ds1307))
546 define KernelPackage/rtc-ds1672
547 SUBMENU:=$(OTHER_MENU)
548 TITLE:=Dallas/Maxim DS1672 RTC support
549 $(call AddDepends/rtc)
550 DEPENDS+=+kmod-i2c-core
551 KCONFIG:=CONFIG_RTC_DRV_DS1672
552 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
553 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
556 define KernelPackage/rtc-ds1672/description
557 Kernel module for Dallas/Maxim DS1672 RTC.
560 $(eval $(call KernelPackage,rtc-ds1672))
563 define KernelPackage/rtc-isl1208
564 SUBMENU:=$(OTHER_MENU)
565 TITLE:=Intersil ISL1208 RTC support
566 $(call AddDepends/rtc)
567 DEPENDS+=+kmod-i2c-core
568 KCONFIG:=CONFIG_RTC_DRV_ISL1208
569 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
570 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
573 define KernelPackage/rtc-isl1208/description
574 Kernel module for Intersil ISL1208 RTC.
577 $(eval $(call KernelPackage,rtc-isl1208))
580 define KernelPackage/rtc-marvell
581 SUBMENU:=$(OTHER_MENU)
582 TITLE:=Marvell SoC built-in RTC support
583 $(call AddDepends/rtc)
584 DEPENDS+=@TARGET_kirkwood||TARGET_orion||TARGET_mvebu
585 KCONFIG:=CONFIG_RTC_DRV_MV
586 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
587 AUTOLOAD:=$(call AutoProbe,rtc-mv)
590 define KernelPackage/rtc-marvell/description
591 Kernel module for Marvell SoC built-in RTC.
594 $(eval $(call KernelPackage,rtc-marvell))
596 define KernelPackage/rtc-pcf8563
597 SUBMENU:=$(OTHER_MENU)
598 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
599 $(call AddDepends/rtc,+kmod-i2c-core)
600 KCONFIG:=CONFIG_RTC_DRV_PCF8563
601 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
602 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
605 define KernelPackage/rtc-pcf8563/description
606 Kernel module for Philips PCF8563 RTC chip.
607 The Epson RTC8564 should work as well.
610 $(eval $(call KernelPackage,rtc-pcf8563))
613 define KernelPackage/rtc-pcf2123
614 SUBMENU:=$(OTHER_MENU)
615 TITLE:=Philips PCF2123 RTC support
616 $(call AddDepends/rtc)
617 KCONFIG:=CONFIG_RTC_DRV_PCF2123
618 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
619 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
622 define KernelPackage/rtc-pcf2123/description
623 Kernel module for Philips PCF2123 RTC chip
626 $(eval $(call KernelPackage,rtc-pcf2123))
628 define KernelPackage/rtc-pt7c4338
629 SUBMENU:=$(OTHER_MENU)
630 TITLE:=Pericom PT7C4338 RTC support
631 $(call AddDepends/rtc,+kmod-i2c-core)
632 KCONFIG:=CONFIG_RTC_DRV_PT7C4338
633 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
634 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
637 define KernelPackage/rtc-pt7c4338/description
638 Kernel module for Pericom PT7C4338 i2c RTC chip
641 $(eval $(call KernelPackage,rtc-pt7c4338))
644 define KernelPackage/mtdtests
645 SUBMENU:=$(OTHER_MENU)
646 TITLE:=MTD subsystem tests
647 KCONFIG:=CONFIG_MTD_TESTS
650 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
651 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
652 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
653 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
654 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
655 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
656 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
657 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
660 define KernelPackage/mtdtests/description
661 Kernel modules for MTD subsystem/driver testing
664 $(eval $(call KernelPackage,mtdtests))
667 define KernelPackage/nand
668 SUBMENU:=$(OTHER_MENU)
669 TITLE:=NAND flash support
670 KCONFIG:=CONFIG_MTD_NAND \
671 CONFIG_MTD_NAND_IDS \
674 $(LINUX_DIR)/drivers/mtd/nand/nand_ids.ko \
675 $(LINUX_DIR)/drivers/mtd/nand/nand_ecc.ko \
676 $(LINUX_DIR)/drivers/mtd/nand/nand.ko
677 AUTOLOAD:=$(call AutoLoad,20,nand_ids nand_ecc nand)
680 define KernelPackage/nand/description
681 Kernel module for NAND support
684 $(eval $(call KernelPackage,nand))
687 define KernelPackage/nandsim
688 SUBMENU:=$(OTHER_MENU)
689 TITLE:=NAND simulator
691 KCONFIG:=CONFIG_MTD_NAND_NANDSIM
692 FILES:=$(LINUX_DIR)/drivers/mtd/nand/nandsim.ko
695 define KernelPackage/nandsim/description
696 Kernel module for NAND flash simulation.
699 $(eval $(call KernelPackage,nandsim))
701 define KernelPackage/serial-8250
702 SUBMENU:=$(OTHER_MENU)
704 KCONFIG:= CONFIG_SERIAL_8250 \
705 CONFIG_SERIAL_8250_NR_UARTS=16 \
706 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
707 CONFIG_SERIAL_8250_EXTENDED=y \
708 CONFIG_SERIAL_8250_MANY_PORTS=y \
709 CONFIG_SERIAL_8250_SHARE_IRQ=y \
710 CONFIG_SERIAL_8250_DETECT_IRQ=n \
711 CONFIG_SERIAL_8250_RSA=n
712 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250$(if $(call kernel_patchver_ge,3.7),$(if $(call kernel_patchver_le,3.8),_core)).ko
715 define KernelPackage/serial-8250/description
716 Kernel module for 8250 UART based serial ports
719 $(eval $(call KernelPackage,serial-8250))
722 define KernelPackage/regmap
723 SUBMENU:=$(OTHER_MENU)
724 TITLE:=Generic register map support
725 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
726 KCONFIG:=CONFIG_REGMAP \
731 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
732 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
733 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
734 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-spi)
737 define KernelPackage/regmap/description
738 Generic register map support
741 $(eval $(call KernelPackage,regmap))
743 define KernelPackage/ikconfig
744 SUBMENU:=$(OTHER_MENU)
745 TITLE:=Kernel configuration via /proc/config.gz
746 KCONFIG:=CONFIG_IKCONFIG \
747 CONFIG_IKCONFIG_PROC=y
748 FILES:=$(LINUX_DIR)/kernel/configs.ko
749 AUTOLOAD:=$(call AutoLoad,70,configs)
752 define KernelPackage/ikconfig/description
753 Kernel configuration via /proc/config.gz
756 $(eval $(call KernelPackage,ikconfig))
759 define KernelPackage/zram
760 SUBMENU:=$(OTHER_MENU)
762 DEPENDS:=@!LINUX_3_3 +kmod-lib-lzo
766 CONFIG_ZRAM_DEBUG=n \
767 CONFIG_PGTABLE_MAPPING=n
768 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.14.0)),1)
770 $(LINUX_DIR)/mm/zsmalloc.ko \
771 $(LINUX_DIR)/drivers/block/zram/zram.ko
774 $(LINUX_DIR)/drivers/staging/zsmalloc/zsmalloc.ko \
775 $(LINUX_DIR)/drivers/staging/zram/zram.ko
777 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
780 define KernelPackage/zram/description
781 Compressed RAM block device support
784 $(eval $(call KernelPackage,zram))
787 define KernelPackage/mvsdio
788 SUBMENU:=$(OTHER_MENU)
789 TITLE:=Marvell SDIO support
790 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
791 KCONFIG:=CONFIG_MMC_MVSDIO
792 FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
793 AUTOLOAD:=$(call AutoProbe,mvsdio)
796 define KernelPackage/mvsdio/description
797 Kernel support for the Marvell SDIO controller
800 $(eval $(call KernelPackage,mvsdio))
803 define KernelPackage/pps
804 SUBMENU:=$(OTHER_MENU)
807 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
808 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
811 define KernelPackage/pps/description
812 PPS (Pulse Per Second) is a special pulse provided by some GPS
813 antennae. Userland can use it to get a high-precision time
817 $(eval $(call KernelPackage,pps))
820 define KernelPackage/pps-gpio
821 SUBMENU:=$(OTHER_MENU)
822 TITLE:=PPS client using GPIO
824 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
825 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
826 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
829 define KernelPackage/pps-gpio/description
830 Support for a PPS source using GPIO. To be useful you must
831 also register a platform device specifying the GPIO pin and
832 other options, usually in your board setup.
835 $(eval $(call KernelPackage,pps-gpio))
838 define KernelPackage/ptp
839 SUBMENU:=$(OTHER_MENU)
840 TITLE:=PTP clock support
842 KCONFIG:=CONFIG_PTP_1588_CLOCK
843 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
844 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
847 define KernelPackage/ptp/description
848 The IEEE 1588 standard defines a method to precisely
849 synchronize distributed clocks over Ethernet networks.
852 $(eval $(call KernelPackage,ptp))
855 define KernelPackage/ptp-gianfar
856 SUBMENU:=$(OTHER_MENU)
857 TITLE:=Freescale Gianfar PTP support
858 DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
859 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
860 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
861 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
864 define KernelPackage/ptp-gianfar/description
865 Kernel module for IEEE 1588 support for Freescale
866 Gianfar Ethernet drivers
869 $(eval $(call KernelPackage,ptp-gianfar))
872 define KernelPackage/random-core
873 SUBMENU:=$(OTHER_MENU)
874 TITLE:=Hardware Random Number Generator Core support
875 KCONFIG:=CONFIG_HW_RANDOM
876 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
879 define KernelPackage/random-core/description
880 Kernel module for the HW random number generator core infrastructure
883 $(eval $(call KernelPackage,random-core))
886 define KernelPackage/thermal
887 SUBMENU:=$(OTHER_MENU)
888 TITLE:=Generic Thermal sysfs driver
889 DEPENDS:=+kmod-hwmon-core
893 CONFIG_THERMAL_OF=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/thermal-armada
916 SUBMENU:=$(OTHER_MENU)
917 TITLE:=Armada 370/XP thermal management
918 DEPENDS:=@TARGET_mvebu +kmod-thermal
919 KCONFIG:=CONFIG_ARMADA_THERMAL
920 FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
921 AUTOLOAD:=$(call AutoProbe,armada_thermal)
924 define KernelPackage/thermal-armada/description
925 Enable this module if you want to have support for thermal management
926 controller present in Armada 370 and Armada XP SoC.
929 $(eval $(call KernelPackage,thermal-armada))
932 define KernelPackage/thermal-imx
933 SUBMENU:=$(OTHER_MENU)
934 TITLE:=Temperature sensor driver for Freescale i.MX SoCs
935 DEPENDS:=@TARGET_imx6 +kmod-thermal
937 CONFIG_CPU_THERMAL=y \
939 FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
940 AUTOLOAD:=$(call AutoProbe,imx_thermal)
943 define KernelPackage/thermal-imx/description
944 Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
945 It supports one critical trip point and one passive trip point. The
946 cpufreq is used as the cooling device to throttle CPUs when the
947 passive trip is crossed.
950 $(eval $(call KernelPackage,thermal-imx))
953 define KernelPackage/thermal-kirkwood
954 SUBMENU:=$(OTHER_MENU)
955 TITLE:=Temperature sensor on Marvell Kirkwood SoCs
956 DEPENDS:=@TARGET_kirkwood +kmod-thermal
957 KCONFIG:=CONFIG_KIRKWOOD_THERMAL
958 FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
959 AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
962 define KernelPackage/thermal-kirkwood/description
963 Support for the Kirkwood thermal sensor driver into the Linux thermal
964 framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
967 $(eval $(call KernelPackage,thermal-kirkwood))