kernel: add package for atusb wpan module
[openwrt/openwrt.git] / package / kernel / linux / modules / wpan.mk
1 #
2 # Copyright (C) 2015 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6
7 WPAN_MENU:=WPAN 802.15.4 Support
8
9 define KernelPackage/ieee802154
10 SUBMENU:=$(WPAN_MENU)
11 TITLE:=IEEE-802.15.4 support
12 KCONFIG:= \
13 CONFIG_IEEE802154 \
14 CONFIG_IEEE802154_SOCKET=y \
15 CONFIG_IEEE802154_NL802154_EXPERIMENTAL=n
16 FILES:= \
17 $(LINUX_DIR)/net/ieee802154/ieee802154.ko \
18 $(LINUX_DIR)/net/ieee802154/ieee802154_socket.ko@ge4.0
19 AUTOLOAD:=$(call AutoLoad,90,ieee802154 ieee802154_socket)
20 endef
21
22 define KernelPackage/ieee802154/description
23 IEEE Std 802.15.4 defines a low data rate, low power and low
24 complexity short range wireless personal area networks. It was
25 designed to organise networks of sensors, switches, etc automation
26 devices. Maximum allowed data rate is 250 kb/s and typical personal
27 operating space around 10m.
28 endef
29
30 $(eval $(call KernelPackage,ieee802154))
31
32 define KernelPackage/mac802154
33 SUBMENU:=$(WPAN_MENU)
34 TITLE:=MAC-802.15.4 support
35 DEPENDS:=+kmod-ieee802154 +kmod-crypto-aead +kmod-lib-crc-ccitt
36 KCONFIG:= \
37 CONFIG_MAC802154 \
38 CONFIG_IEEE802154_DRIVERS=y
39 FILES:=$(LINUX_DIR)/net/mac802154/mac802154.ko
40 AUTOLOAD:=$(call AutoLoad,91,mac802154)
41 endef
42
43 define KernelPackage/mac802154/description
44 This option enables the hardware independent IEEE 802.15.4
45 networking stack for SoftMAC devices (the ones implementing
46 only PHY level of IEEE 802.15.4 standard).
47
48 Note: this implementation is neither certified, nor feature
49 complete! Compatibility with other implementations hasn't
50 been tested yet!
51 endef
52
53 $(eval $(call KernelPackage,mac802154))
54
55 define KernelPackage/fakelb
56 SUBMENU:=$(WPAN_MENU)
57 TITLE:=Fake LR-WPAN driver
58 DEPENDS:=+kmod-mac802154
59 KCONFIG:=CONFIG_IEEE802154_FAKELB
60 FILES:=$(LINUX_DIR)/drivers/net/ieee802154/fakelb.ko
61 AUTOLOAD:=$(call AutoLoad,92,fakelb)
62 endef
63
64 define KernelPackage/fakelb/description
65 Say Y here to enable the fake driver that can emulate a net
66 of several interconnected radio devices.
67 endef
68
69 $(eval $(call KernelPackage,fakelb))
70
71 define KernelPackage/atusb
72 SUBMENU:=$(WPAN_MENU)
73 TITLE:=ATUSB transceiver driver
74 DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-mac802154
75 KCONFIG:=CONFIG_IEEE802154_ATUSB
76 FILES:=$(LINUX_DIR)/drivers/net/ieee802154/atusb.ko
77 AUTOLOAD:=$(call AutoProbe,atusb)
78 endef
79
80 $(eval $(call KernelPackage,atusb))
81
82 define KernelPackage/at86rf230
83 SUBMENU:=$(WPAN_MENU)
84 TITLE:=AT86RF230 transceiver driver
85 DEPENDS:=+kmod-mac802154 +kmod-regmap-spi
86 KCONFIG:=CONFIG_IEEE802154_AT86RF230 \
87 CONFIG_IEEE802154_AT86RF230_DEBUGFS=n \
88 CONFIG_SPI=y \
89 CONFIG_SPI_MASTER=y
90 FILES:=$(LINUX_DIR)/drivers/net/ieee802154/at86rf230.ko
91 endef
92
93 $(eval $(call KernelPackage,at86rf230))
94
95 define KernelPackage/mrf24j40
96 SUBMENU:=$(WPAN_MENU)
97 TITLE:=MRF24J40 transceiver driver
98 DEPENDS:=+kmod-mac802154 +kmod-regmap-spi
99 KCONFIG:=CONFIG_IEEE802154_MRF24J40 \
100 CONFIG_SPI=y \
101 CONFIG_SPI_MASTER=y
102 FILES:=$(LINUX_DIR)/drivers/net/ieee802154/mrf24j40.ko
103 endef
104
105 $(eval $(call KernelPackage,mrf24j40))
106
107 define KernelPackage/cc2520
108 SUBMENU:=$(WPAN_MENU)
109 TITLE:=CC2520 transceiver driver
110 DEPENDS:=+kmod-mac802154
111 KCONFIG:=CONFIG_IEEE802154_CC2520 \
112 CONFIG_SPI=y \
113 CONFIG_SPI_MASTER=y
114 FILES:=$(LINUX_DIR)/drivers/net/ieee802154/cc2520.ko
115 endef
116
117 $(eval $(call KernelPackage,cc2520))
118
119 define KernelPackage/ieee802154_6lowpan
120 SUBMENU:=$(WPAN_MENU)
121 TITLE:= 6LoWPAN support over IEEE-802.15.4
122 DEPENDS:=+kmod-6lowpan +kmod-ieee802154
123 KCONFIG:=CONFIG_IEEE802154_6LOWPAN
124 FILES:= \
125 $(LINUX_DIR)/net/ieee802154/6lowpan/ieee802154_6lowpan.ko@ge4.0 \
126 $(LINUX_DIR)/net/ieee802154/ieee802154_6lowpan.ko@lt4.0
127 AUTOLOAD:=$(call AutoLoad,91,ieee802154_6lowpan)
128 endef
129
130 define KernelPackage/ieee802154_6lowpan/description
131 IPv6 compression over IEEE 802.15.4
132 endef
133
134 $(eval $(call KernelPackage,ieee802154_6lowpan))