aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/kernel/linux/modules/wpan.mk122
1 files changed, 122 insertions, 0 deletions
diff --git a/package/kernel/linux/modules/wpan.mk b/package/kernel/linux/modules/wpan.mk
new file mode 100644
index 0000000000..b0adda1bae
--- /dev/null
+++ b/package/kernel/linux/modules/wpan.mk
@@ -0,0 +1,122 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+
+WPAN_MENU:=Wireless Drivers
+
+define KernelPackage/ieee802154
+ SUBMENU:=$(WPAN_MENU)
+ TITLE:=IEEE-802.15.4 support
+ DEPENDS:=@!LINUX_4.0
+ KCONFIG:= \
+ CONFIG_IEEE802154 \
+ CONFIG_IEEE802154_SOCKET=y
+ FILES:= \
+ $(LINUX_DIR)/net/ieee802154/ieee802154.ko \
+ $(LINUX_DIR)/net/ieee802154/ieee802154_socket.ko
+ AUTOLOAD:=$(call AutoLoad,90,ieee802154 ieee802154_socket)
+endef
+
+define KernelPackage/ieee802154/description
+ IEEE Std 802.15.4 defines a low data rate, low power and low
+ complexity short range wireless personal area networks. It was
+ designed to organise networks of sensors, switches, etc automation
+ devices. Maximum allowed data rate is 250 kb/s and typical personal
+ operating space around 10m.
+endef
+
+$(eval $(call KernelPackage,ieee802154))
+
+define KernelPackage/mac802154
+ SUBMENU:=$(WPAN_MENU)
+ TITLE:=MAC-802.15.4 support
+ DEPENDS:=@!LINUX_4.0
+ KCONFIG:= \
+ CONFIG_MAC802154 \
+ CONFIG_IEEE802154_DRIVERS=y
+ DEPENDS:=+kmod-ieee802154 +kmod-crypto-aead +kmod-lib-crc-ccitt @!LINUX_4.0
+ FILES:=$(LINUX_DIR)/net/mac802154/mac802154.ko
+ AUTOLOAD:=$(call AutoLoad,91,mac802154)
+endef
+
+define KernelPackage/mac802154/description
+ This option enables the hardware independent IEEE 802.15.4
+ networking stack for SoftMAC devices (the ones implementing
+ only PHY level of IEEE 802.15.4 standard).
+
+ Note: this implementation is neither certified, nor feature
+ complete! Compatibility with other implementations hasn't
+ been tested yet!
+endef
+
+$(eval $(call KernelPackage,mac802154))
+
+define KernelPackage/fakelb
+ SUBMENU:=$(WPAN_MENU)
+ TITLE:=Fake LR-WPAN driver
+ DEPENDS:=+kmod-mac802154 @!LINUX_4.0
+ KCONFIG:=CONFIG_IEEE802154_FAKELB
+ FILES:=$(LINUX_DIR)/drivers/net/ieee802154/fakelb.ko
+ AUTOLOAD:=$(call AutoLoad,92,fakelb)
+endef
+
+define KernelPackage/fakelb/description
+ Say Y here to enable the fake driver that can emulate a net
+ of several interconnected radio devices.
+endef
+
+$(eval $(call KernelPackage,fakelb))
+
+define KernelPackage/at86rf230
+ SUBMENU:=$(WPAN_MENU)
+ TITLE:=AT86RF230 transceiver driver
+ DEPENDS:=+kmod-mac802154
+ KCONFIG:=CONFIG_IEEE802154_AT86RF230 \
+ CONFIG_SPI=y \
+ CONFIG_SPI_MASTER=y
+ FILES:=$(LINUX_DIR)/drivers/net/ieee802154/at86rf230.ko
+endef
+
+$(eval $(call KernelPackage,at86rf230))
+
+define KernelPackage/mrf24j40
+ SUBMENU:=$(WPAN_MENU)
+ TITLE:=MRF24J40 transceiver driver
+ DEPENDS:=+kmod-mac802154
+ KCONFIG:=CONFIG_IEEE802154_MRF24J40 \
+ CONFIG_SPI=y \
+ CONFIG_SPI_MASTER=y
+ FILES:=$(LINUX_DIR)/drivers/net/ieee802154/mrf24j40.ko
+endef
+
+$(eval $(call KernelPackage,mrf24j40))
+
+define KernelPackage/cc2520
+ SUBMENU:=$(WPAN_MENU)
+ TITLE:=CC2520 transceiver driver
+ DEPENDS:=+kmod-mac802154
+ KCONFIG:=CONFIG_IEEE802154_CC2520 \
+ CONFIG_SPI=y \
+ CONFIG_SPI_MASTER=y
+ FILES:=$(LINUX_DIR)/drivers/net/ieee802154/cc2520.ko
+endef
+
+$(eval $(call KernelPackage,cc2520))
+
+define KernelPackage/ieee802154_6lowpan
+ SUBMENU:=$(WPAN_MENU)
+ TITLE:= 6LoWPAN support over IEEE-802.15.4
+ DEPENDS:=@!LINUX_4.0
+ KCONFIG:=IEEE802154_6LOWPAN
+ DEPENDS:=@!LINUX_4.0
+ FILES:=$(LINUX_DIR)/net/ieee802154/6lowpan/ieee802154_6lowpan.ko
+ AUTOLOAD:=$(call AutoLoad,91,ieee802154_6lowpan)
+endef
+
+define KernelPackage/ieee802154_6lowpan/description
+ IPv6 compression over IEEE 802.15.4
+endef
+
+$(eval $(call KernelPackage,ieee802154_6lowpan))