a89f3b71fcc4ffb6698eaed37b96e93999bfd065
[librecmc/librecmc.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:=Wireless Drivers
8
9 define KernelPackage/ieee802154
10   SUBMENU:=$(WPAN_MENU)
11   TITLE:=IEEE-802.15.4 support
12   DEPENDS:=@!LINUX_4.0
13   KCONFIG:= \
14         CONFIG_IEEE802154 \
15         CONFIG_IEEE802154_SOCKET=y
16   FILES:= \
17         $(LINUX_DIR)/net/ieee802154/ieee802154.ko \
18         $(LINUX_DIR)/net/ieee802154/ieee802154_socket.ko
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:=@!LINUX_4.0
36   KCONFIG:= \
37         CONFIG_MAC802154 \
38         CONFIG_IEEE802154_DRIVERS=y
39   DEPENDS:=+kmod-ieee802154 +kmod-crypto-aead +kmod-lib-crc-ccitt @!LINUX_4.0
40   FILES:=$(LINUX_DIR)/net/mac802154/mac802154.ko
41   AUTOLOAD:=$(call AutoLoad,91,mac802154)
42 endef
43
44 define KernelPackage/mac802154/description
45   This option enables the hardware independent IEEE 802.15.4
46   networking stack for SoftMAC devices (the ones implementing
47   only PHY level of IEEE 802.15.4 standard).
48
49   Note: this implementation is neither certified, nor feature
50   complete! Compatibility with other implementations hasn't
51   been tested yet!
52 endef
53
54 $(eval $(call KernelPackage,mac802154))
55
56 define KernelPackage/fakehard
57   SUBMENU:=$(WPAN_MENU)
58   TITLE:=Fake LR-WPAN driver
59   DEPENDS:=+kmod-mac802154 @!LINUX_4.0
60   KCONFIG:=CONFIG_IEEE802154_FAKEHARD
61   FILES:=$(LINUX_DIR)/drivers/net/ieee802154/fakehard.ko
62   AUTOLOAD:=$(call AutoLoad,92,fakehard)
63 endef
64
65 define KernelPackage/fakehard/description
66   Say Y here to enable the fake driver that can emulate a net
67   of several interconnected radio devices.
68 endef
69
70 $(eval $(call KernelPackage,fakehard))
71
72 define KernelPackage/fakelb
73   SUBMENU:=$(WPAN_MENU)
74   TITLE:=Fake LR-WPAN loopback driver
75   DEPENDS:=+kmod-mac802154 @!LINUX_4.0
76   KCONFIG:=CONFIG_IEEE802154_FAKELB
77   FILES:=$(LINUX_DIR)/drivers/net/ieee802154/fakelb.ko
78   AUTOLOAD:=$(call AutoLoad,92,fakelb)
79 endef
80
81 define KernelPackage/fakelb/description
82   Say Y here to enable the fake driver that can emulate a net
83   of several interconnected radio devices.
84 endef
85
86 $(eval $(call KernelPackage,fakelb))
87
88 define KernelPackage/at86rf230
89   SUBMENU:=$(WPAN_MENU)
90   TITLE:=AT86RF230 transceiver driver
91   DEPENDS:=+kmod-mac802154
92   KCONFIG:=CONFIG_IEEE802154_AT86RF230 \
93         CONFIG_SPI=y \
94         CONFIG_SPI_MASTER=y
95   FILES:=$(LINUX_DIR)/drivers/net/ieee802154/at86rf230.ko
96 endef
97
98 $(eval $(call KernelPackage,at86rf230))
99
100 define KernelPackage/mrf24j40
101   SUBMENU:=$(WPAN_MENU)
102   TITLE:=MRF24J40 transceiver driver
103   DEPENDS:=+kmod-mac802154
104   KCONFIG:=CONFIG_IEEE802154_MRF24J40 \
105         CONFIG_SPI=y \
106         CONFIG_SPI_MASTER=y
107   FILES:=$(LINUX_DIR)/drivers/net/ieee802154/mrf24j40.ko
108 endef
109
110 $(eval $(call KernelPackage,mrf24j40))
111
112 define KernelPackage/cc2520
113   SUBMENU:=$(WPAN_MENU)
114   TITLE:=CC2520 transceiver driver
115   DEPENDS:=+kmod-mac802154
116   KCONFIG:=CONFIG_IEEE802154_CC2520 \
117         CONFIG_SPI=y \
118         CONFIG_SPI_MASTER=y
119   FILES:=$(LINUX_DIR)/drivers/net/ieee802154/cc2520.ko
120 endef
121
122 $(eval $(call KernelPackage,cc2520))
123
124 define KernelPackage/ieee802154_6lowpan
125   SUBMENU:=$(WPAN_MENU)
126   TITLE:= 6LoWPAN support over IEEE-802.15.4
127   DEPENDS:=@!LINUX_4.0
128   KCONFIG:=CONFIG_IEEE802154_6LOWPAN
129   DEPENDS:=@!LINUX_4.0
130   FILES:=$(LINUX_DIR)/net/ieee802154/6lowpan/ieee802154_6lowpan.ko
131   AUTOLOAD:=$(call AutoLoad,91,ieee802154_6lowpan)
132 endef
133
134 define KernelPackage/ieee802154_6lowpan/description
135  IPv6 compression over IEEE 802.15.4
136 endef
137
138 $(eval $(call KernelPackage,ieee802154_6lowpan))