b06d7647f59e072a094f9e3280476b9bbe8df683
[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/at86rf230
72 SUBMENU:=$(WPAN_MENU)
73 TITLE:=AT86RF230 transceiver driver
74 DEPENDS:=+kmod-mac802154 +kmod-regmap-spi
75 KCONFIG:=CONFIG_IEEE802154_AT86RF230 \
76 CONFIG_IEEE802154_AT86RF230_DEBUGFS=n \
77 CONFIG_SPI=y \
78 CONFIG_SPI_MASTER=y
79 FILES:=$(LINUX_DIR)/drivers/net/ieee802154/at86rf230.ko
80 endef
81
82 $(eval $(call KernelPackage,at86rf230))
83
84 define KernelPackage/mrf24j40
85 SUBMENU:=$(WPAN_MENU)
86 TITLE:=MRF24J40 transceiver driver
87 DEPENDS:=+kmod-mac802154 +kmod-regmap-spi
88 KCONFIG:=CONFIG_IEEE802154_MRF24J40 \
89 CONFIG_SPI=y \
90 CONFIG_SPI_MASTER=y
91 FILES:=$(LINUX_DIR)/drivers/net/ieee802154/mrf24j40.ko
92 endef
93
94 $(eval $(call KernelPackage,mrf24j40))
95
96 define KernelPackage/cc2520
97 SUBMENU:=$(WPAN_MENU)
98 TITLE:=CC2520 transceiver driver
99 DEPENDS:=+kmod-mac802154
100 KCONFIG:=CONFIG_IEEE802154_CC2520 \
101 CONFIG_SPI=y \
102 CONFIG_SPI_MASTER=y
103 FILES:=$(LINUX_DIR)/drivers/net/ieee802154/cc2520.ko
104 endef
105
106 $(eval $(call KernelPackage,cc2520))
107
108 define KernelPackage/ieee802154_6lowpan
109 SUBMENU:=$(WPAN_MENU)
110 TITLE:= 6LoWPAN support over IEEE-802.15.4
111 DEPENDS:=+kmod-6lowpan +kmod-ieee802154
112 KCONFIG:=CONFIG_IEEE802154_6LOWPAN
113 FILES:= \
114 $(LINUX_DIR)/net/ieee802154/6lowpan/ieee802154_6lowpan.ko@ge4.0 \
115 $(LINUX_DIR)/net/ieee802154/ieee802154_6lowpan.ko@lt4.0
116 AUTOLOAD:=$(call AutoLoad,91,ieee802154_6lowpan)
117 endef
118
119 define KernelPackage/ieee802154_6lowpan/description
120 IPv6 compression over IEEE 802.15.4
121 endef
122
123 $(eval $(call KernelPackage,ieee802154_6lowpan))