#
-# Copyright (C) 2006-2012 OpenWrt.org
+# Copyright (C) 2006-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
WATCHDOG_DIR:=watchdog
-define KernelPackage/6lowpan-iphc
- USBMENU:=$(OTHER_MENU)
- TITLE:=6lowpan shared code
- DEPENDS:=@LINUX_3_14
- KCONFIG:=CONFIG_6LOWPAN_IPHC
- HIDDEN:=1
- FILES:=$(LINUX_DIR)/net/ieee802154/6lowpan_iphc.ko
- AUTOLOAD:=$(call Autoprobe,6lowpan_iphc)
+define KernelPackage/6lowpan
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=6LoWPAN shared code
+ KCONFIG:= \
+ CONFIG_6LOWPAN \
+ CONFIG_6LOWPAN_NHC=n
+ FILES:=$(LINUX_DIR)/net/6lowpan/6lowpan.ko
+ AUTOLOAD:=$(call AutoProbe,6lowpan)
endef
-define KernelPackage/6lowpan-iphc/description
+define KernelPackage/6lowpan/description
Shared 6lowpan code for IEEE 802.15.4 and Bluetooth.
endef
-$(eval $(call KernelPackage,6lowpan-iphc))
+$(eval $(call KernelPackage,6lowpan))
+
define KernelPackage/bluetooth
SUBMENU:=$(OTHER_MENU)
TITLE:=Bluetooth support
- DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +LINUX_3_14:kmod-6lowpan-iphc
+ DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +kmod-crypto-ecb +kmod-lib-crc16 +kmod-hid +!LINUX_3_18:kmod-crypto-cmac
KCONFIG:= \
CONFIG_BLUEZ \
CONFIG_BLUEZ_L2CAP \
CONFIG_BLUEZ_HCIUSB \
CONFIG_BLUEZ_HIDP \
CONFIG_BT \
+ CONFIG_BT_BREDR=y \
+ CONFIG_BT_DEBUGFS=n \
CONFIG_BT_L2CAP=y \
+ CONFIG_BT_LE=y \
CONFIG_BT_SCO=y \
CONFIG_BT_RFCOMM \
CONFIG_BT_BNEP \
CONFIG_BT_HCIBTUSB \
+ CONFIG_BT_HCIBTUSB_BCM=n \
CONFIG_BT_HCIUSB \
CONFIG_BT_HCIUART \
+ CONFIG_BT_HCIUART_BCM=n \
+ CONFIG_BT_HCIUART_INTEL=n \
CONFIG_BT_HCIUART_H4 \
CONFIG_BT_HIDP \
CONFIG_HID_SUPPORT=y
- $(call AddDepends/crc16)
- $(call AddDepends/hid)
$(call AddDepends/rfkill)
FILES:= \
$(LINUX_DIR)/net/bluetooth/bluetooth.ko \
$(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
$(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
$(LINUX_DIR)/drivers/bluetooth/btusb.ko
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,4.1.0)),1)
+ FILES+= \
+ $(LINUX_DIR)/drivers/bluetooth/btintel.ko
+endif
AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
endef
$(eval $(call KernelPackage,bluetooth))
+define KernelPackage/ath3k
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=ATH3K Kernel Module support
+ DEPENDS:=+kmod-bluetooth +ar3k-firmware
+ KCONFIG:= \
+ CONFIG_BT_ATH3K \
+ CONFIG_BT_HCIUART_ATH3K=y
+ $(call AddDepends/bluetooth)
+ FILES:= \
+ $(LINUX_DIR)/drivers/bluetooth/ath3k.ko
+ AUTOLOAD:=$(call AutoProbe,ath3k)
+endef
+
+define KernelPackage/ath3k/description
+ Kernel support for ATH3K Module
+endef
+
+$(eval $(call KernelPackage,ath3k))
+
+
+define KernelPackage/bluetooth_6lowpan
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Bluetooth 6LoWPAN support
+ DEPENDS:=+kmod-6lowpan +kmod-bluetooth
+ KCONFIG:=CONFIG_BT_6LOWPAN
+ FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko
+ AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan)
+endef
+
+define KernelPackage/bluetooth_6lowpan/description
+ Kernel support for 6LoWPAN over Bluetooth Low Energy devices
+endef
+
+$(eval $(call KernelPackage,bluetooth_6lowpan))
+
define KernelPackage/bluetooth-hci-h4p
SUBMENU:=$(OTHER_MENU)
define KernelPackage/iio-core
SUBMENU:=$(OTHER_MENU)
- DEPENDS:=@!LINUX_3_3 @!LINUX_3_6
TITLE:=Industrial IO core
KCONFIG:= \
CONFIG_IIO \
KCONFIG:= \
CONFIG_AD799X_RING_BUFFER=y \
CONFIG_AD799X
-ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.16.0)),1)
FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
-else
- FILES:=$(LINUX_DIR)/drivers/staging/iio/adc/ad799x.ko
-endif
AUTOLOAD:=$(call AutoLoad,56,ad799x)
endef
$(eval $(call KernelPackage,iio-ad799x))
+
+define KernelPackage/iio-dht11
+ SUBMENU:=$(OTHER_MENU)
+ DEPENDS:=kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
+ TITLE:=DHT11 (and compatible) humidity and temperature sensors
+ KCONFIG:= \
+ CONFIG_DHT11
+ FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
+ AUTOLOAD:=$(call AutoLoad,56,dht11)
+endef
+
+define KernelPackage/iio-dht11/description
+ support for DHT11 and DHT22 digitial humidity and temperature sensors
+ attached at GPIO lines. You will need a custom device tree file to
+ specify the GPIO line to use.
+endef
+
+$(eval $(call KernelPackage,iio-dht11))
+
+
define KernelPackage/lp
SUBMENU:=$(OTHER_MENU)
TITLE:=Parallel port and line printer support
- DEPENDS:=@BROKEN
KCONFIG:= \
CONFIG_PARPORT \
CONFIG_PRINTER \
$(LINUX_DIR)/drivers/parport/parport.ko \
$(LINUX_DIR)/drivers/char/lp.ko \
$(LINUX_DIR)/drivers/char/ppdev.ko
- AUTOLOAD:=$(call AutoLoad,50,parport lp)
+ AUTOLOAD:=$(call AutoLoad,50,parport lp ppdev)
endef
$(eval $(call KernelPackage,lp))
$(eval $(call KernelPackage,sdhci))
-define KernelPackage/oprofile
- SUBMENU:=$(OTHER_MENU)
- TITLE:=OProfile profiling support
- KCONFIG:=CONFIG_OPROFILE
- FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.ko
- DEPENDS:=@KERNEL_PROFILING
-endef
-
-define KernelPackage/oprofile/description
- Kernel module for support for oprofile system profiling
-endef
-
-$(eval $(call KernelPackage,oprofile))
-
-
define KernelPackage/rfkill
SUBMENU:=$(OTHER_MENU)
TITLE:=RF switch subsystem support
define KernelPackage/bcma
SUBMENU:=$(OTHER_MENU)
TITLE:=BCMA support
- DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx
+ DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
KCONFIG:=\
CONFIG_BCMA \
CONFIG_BCMA_POSSIBLE=y \
DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
KCONFIG:=CONFIG_OMAP_WATCHDOG
FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
- AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
+ AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko,1)
endef
define KernelPackage/wdt-omap/description
DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
KCONFIG:=CONFIG_ORION_WATCHDOG
FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
- AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
+ AUTOLOAD:=$(call AutoLoad,50,orion_wdt,1)
endef
define KernelPackage/wdt-orion/description
DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
KCONFIG:=CONFIG_BOOKE_WDT
FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
- AUTOLOAD:=$(call AutoLoad,50,booke_wdt)
+ AUTOLOAD:=$(call AutoLoad,50,booke_wdt,1)
endef
define KernelPackage/booke-wdt/description
$(eval $(call KernelPackage,booke-wdt))
-define KernelPackage/pwm
- SUBMENU:=$(OTHER_MENU)
- TITLE:=PWM generic API
- KCONFIG:=CONFIG_GENERIC_PWM
- FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
-endef
-
-define KernelPackage/pwm/description
- Kernel module that implement a generic PWM API
-endef
-
-$(eval $(call KernelPackage,pwm))
-
-
-define KernelPackage/pwm-gpio
+define KernelPackage/rtc-ds1307
SUBMENU:=$(OTHER_MENU)
- TITLE:=PWM over GPIO
- DEPENDS:=+kmod-pwm
- KCONFIG:=CONFIG_GPIO_PWM
- FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
- AUTOLOAD:=$(call AutoProbe,gpio-pwm)
+ TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
+ DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
+ KCONFIG:=CONFIG_RTC_DRV_DS1307
+ FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
+ AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
endef
-define KernelPackage/pwm-gpio/description
- Kernel module to models a single-channel PWM device using a timer and a GPIO pin
+define KernelPackage/rtc-ds1307/description
+ Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
+ Epson RX-8025 and various other compatible RTC chips connected via I2C.
endef
-$(eval $(call KernelPackage,pwm-gpio))
+$(eval $(call KernelPackage,rtc-ds1307))
define KernelPackage/rtc-ds1672
SUBMENU:=$(OTHER_MENU)
TITLE:=Dallas/Maxim DS1672 RTC support
- $(call AddDepends/rtc)
- DEPENDS+=+kmod-i2c-core
+ DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
KCONFIG:=CONFIG_RTC_DRV_DS1672
FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
define KernelPackage/rtc-isl1208
SUBMENU:=$(OTHER_MENU)
TITLE:=Intersil ISL1208 RTC support
- $(call AddDepends/rtc)
- DEPENDS+=+kmod-i2c-core
+ DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
KCONFIG:=CONFIG_RTC_DRV_ISL1208
FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
define KernelPackage/rtc-marvell
SUBMENU:=$(OTHER_MENU)
TITLE:=Marvell SoC built-in RTC support
- $(call AddDepends/rtc)
- DEPENDS+=@TARGET_kirkwood||TARGET_orion||TARGET_mvebu
+ DEPENDS:=@RTC_SUPPORT @TARGET_kirkwood||TARGET_orion||TARGET_mvebu
KCONFIG:=CONFIG_RTC_DRV_MV
FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
AUTOLOAD:=$(call AutoProbe,rtc-mv)
$(eval $(call KernelPackage,rtc-marvell))
+
+define KernelPackage/rtc-armada38x
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Marvell Armada 38x SoC built-in RTC support
+ DEPENDS:=@RTC_SUPPORT @TARGET_mvebu
+ KCONFIG:=CONFIG_RTC_DRV_ARMADA38X
+ FILES:=$(LINUX_DIR)/drivers/rtc/rtc-armada38x.ko
+ AUTOLOAD:=$(call AutoProbe,rtc-armada38x)
+endef
+
+define KernelPackage/rtc-armada38x/description
+ Kernel module for Marvell Armada 38x SoC built-in RTC.
+endef
+
+$(eval $(call KernelPackage,rtc-armada38x))
+
+
define KernelPackage/rtc-pcf8563
SUBMENU:=$(OTHER_MENU)
TITLE:=Philips PCF8563/Epson RTC8564 RTC support
- $(call AddDepends/rtc,+kmod-i2c-core)
+ DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
KCONFIG:=CONFIG_RTC_DRV_PCF8563
FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
define KernelPackage/rtc-pcf2123
SUBMENU:=$(OTHER_MENU)
TITLE:=Philips PCF2123 RTC support
- $(call AddDepends/rtc)
+ DEPENDS:=@RTC_SUPPORT
KCONFIG:=CONFIG_RTC_DRV_PCF2123
FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
define KernelPackage/rtc-pt7c4338
SUBMENU:=$(OTHER_MENU)
TITLE:=Pericom PT7C4338 RTC support
- $(call AddDepends/rtc,+kmod-i2c-core)
+ DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
KCONFIG:=CONFIG_RTC_DRV_PT7C4338
FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
SUBMENU:=$(OTHER_MENU)
TITLE:=MTD subsystem tests
KCONFIG:=CONFIG_MTD_TESTS
- DEPENDS:=+kmod-nand
FILES:=\
$(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
$(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
$(eval $(call KernelPackage,mtdtests))
-define KernelPackage/nand
- SUBMENU:=$(OTHER_MENU)
- TITLE:=NAND flash support
- KCONFIG:=CONFIG_MTD_NAND \
- CONFIG_MTD_NAND_IDS \
- CONFIG_MTD_NAND_ECC
- FILES:= \
- $(LINUX_DIR)/drivers/mtd/nand/nand_ids.ko \
- $(LINUX_DIR)/drivers/mtd/nand/nand_ecc.ko \
- $(LINUX_DIR)/drivers/mtd/nand/nand.ko
- AUTOLOAD:=$(call AutoLoad,20,nand_ids nand_ecc nand)
-endef
-
-define KernelPackage/nand/description
- Kernel module for NAND support
-endef
-
-$(eval $(call KernelPackage,nand))
-
-
-define KernelPackage/nandsim
- SUBMENU:=$(OTHER_MENU)
- TITLE:=NAND simulator
- DEPENDS:=+kmod-nand
- KCONFIG:=CONFIG_MTD_NAND_NANDSIM
- FILES:=$(LINUX_DIR)/drivers/mtd/nand/nandsim.ko
-endef
-
-define KernelPackage/nandsim/description
- Kernel module for NAND flash simulation.
-endef
-
-$(eval $(call KernelPackage,nandsim))
-
define KernelPackage/serial-8250
SUBMENU:=$(OTHER_MENU)
TITLE:=8250 UARTs
CONFIG_SERIAL_8250_SHARE_IRQ=y \
CONFIG_SERIAL_8250_DETECT_IRQ=n \
CONFIG_SERIAL_8250_RSA=n
- FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250$(if $(call kernel_patchver_ge,3.7),$(if $(call kernel_patchver_le,3.8),_core)).ko
+ FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250.ko
endef
define KernelPackage/serial-8250/description
TITLE:=Generic register map support
DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
KCONFIG:=CONFIG_REGMAP \
+ CONFIG_REGMAP_MMIO \
CONFIG_REGMAP_SPI \
CONFIG_REGMAP_I2C \
CONFIG_SPI=y
FILES:= \
$(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
+ $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
$(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
- AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-spi)
+ AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
endef
define KernelPackage/regmap/description
define KernelPackage/zram
SUBMENU:=$(OTHER_MENU)
TITLE:=ZRAM
- DEPENDS:=@!LINUX_3_3 +kmod-lib-lzo
+ DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
KCONFIG:= \
CONFIG_ZSMALLOC \
CONFIG_ZRAM \
CONFIG_ZRAM_DEBUG=n \
- CONFIG_PGTABLE_MAPPING=n
-ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.14.0)),1)
- FILES:=\
+ CONFIG_PGTABLE_MAPPING=n \
+ CONFIG_ZSMALLOC_STAT=n \
+ CONFIG_ZRAM_LZ4_COMPRESS=y
+ FILES:= \
$(LINUX_DIR)/mm/zsmalloc.ko \
$(LINUX_DIR)/drivers/block/zram/zram.ko
-else
- FILES:= \
- $(LINUX_DIR)/drivers/staging/zsmalloc/zsmalloc.ko \
- $(LINUX_DIR)/drivers/staging/zram/zram.ko
-endif
AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
endef
AUTOLOAD:=$(call AutoProbe,mvsdio)
endef
-define KernelPacakge/mvsdio/description
+define KernelPackage/mvsdio/description
Kernel support for the Marvell SDIO controller
endef
AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
endef
-define KernelPacakge/pps/description
+define KernelPackage/pps/description
PPS (Pulse Per Second) is a special pulse provided by some GPS
antennae. Userland can use it to get a high-precision time
reference.
AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
endef
-define KernelPacakge/pps-gpio/description
+define KernelPackage/pps-gpio/description
Support for a PPS source using GPIO. To be useful you must
also register a platform device specifying the GPIO pin and
other options, usually in your board setup.
AUTOLOAD:=$(call AutoLoad,18,ptp,1)
endef
-define KernelPacakge/ptp/description
+define KernelPackage/ptp/description
The IEEE 1588 standard defines a method to precisely
synchronize distributed clocks over Ethernet networks.
endef
AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
endef
-define KernelPacakge/ptp-gianfar/description
+define KernelPackage/ptp-gianfar/description
Kernel module for IEEE 1588 support for Freescale
Gianfar Ethernet drivers
endef
endef
$(eval $(call KernelPackage,thermal-kirkwood))
+
+
+define KernelPackage/gpio-beeper
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=GPIO beeper support
+ DEPENDS:=+kmod-input-core
+ KCONFIG:= \
+ CONFIG_INPUT_MISC=y \
+ CONFIG_INPUT_GPIO_BEEPER
+ FILES:= \
+ $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
+ AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
+endef
+
+define KernelPackage/gpio-beeper/description
+ This enables playing beeps through an GPIO-connected buzzer
+endef
+
+$(eval $(call KernelPackage,gpio-beeper))
+
+
+define KernelPackage/echo
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Line Echo Canceller
+ KCONFIG:=CONFIG_ECHO
+ FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
+ AUTOLOAD:=$(call AutoLoad,50,echo)
+endef
+
+define KernelPackage/echo/description
+ This driver provides line echo cancelling support for mISDN and
+ DAHDI drivers
+endef
+
+$(eval $(call KernelPackage,echo))