blob: dab8a0cb71d5694e8f8ce381bacf8f5fe0f21020 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#
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
7WPAN_MENU:=WPAN 802.15.4 Support
8
9define 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
19 AUTOLOAD:=$(call AutoLoad,90,ieee802154 ieee802154_socket)
20endef
21
22define 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.
28endef
29
30$(eval $(call KernelPackage,ieee802154))
31
32define 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)
41endef
42
43define 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!
51endef
52
53$(eval $(call KernelPackage,mac802154))
54
55define 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)
62endef
63
64define KernelPackage/fakelb/description
65 Say Y here to enable the fake driver that can emulate a net
66 of several interconnected radio devices.
67endef
68
69$(eval $(call KernelPackage,fakelb))
70
71define 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)
78endef
79
80$(eval $(call KernelPackage,atusb))
81
82define 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 AUTOLOAD:=$(call AutoProbe,at86rf230)
92endef
93
94$(eval $(call KernelPackage,at86rf230))
95
96define KernelPackage/mrf24j40
97 SUBMENU:=$(WPAN_MENU)
98 TITLE:=MRF24J40 transceiver driver
99 DEPENDS:=+kmod-mac802154 +kmod-regmap-spi
100 KCONFIG:=CONFIG_IEEE802154_MRF24J40 \
101 CONFIG_SPI=y \
102 CONFIG_SPI_MASTER=y
103 FILES:=$(LINUX_DIR)/drivers/net/ieee802154/mrf24j40.ko
104 AUTOLOAD:=$(call AutoProbe,mrf24j40)
105endef
106
107$(eval $(call KernelPackage,mrf24j40))
108
109define KernelPackage/cc2520
110 SUBMENU:=$(WPAN_MENU)
111 TITLE:=CC2520 transceiver driver
112 DEPENDS:=+kmod-mac802154
113 KCONFIG:=CONFIG_IEEE802154_CC2520 \
114 CONFIG_SPI=y \
115 CONFIG_SPI_MASTER=y
116 FILES:=$(LINUX_DIR)/drivers/net/ieee802154/cc2520.ko
117 AUTOLOAD:=$(call AutoProbe,cc2520)
118endef
119
120$(eval $(call KernelPackage,cc2520))
121
122
123define KernelPackage/ca8210
124 SUBMENU:=$(WPAN_MENU)
125 TITLE:=CA8210 transceiver driver
126 DEPENDS:=+kmod-mac802154
127 KCONFIG:=CONFIG_IEEE802154_CA8210 \
128 CONFIG_SPI=y \
129 CONFIG_SPI_MASTER=y \
130 CONFIG_IEEE802154_CA8210_DEBUGFS=n
131 FILES:=$(LINUX_DIR)/drivers/net/ieee802154/ca8210.ko
132 AUTOLOAD:=$(call AutoProbe,ca8210)
133endef
134
135$(eval $(call KernelPackage,ca8210))
136
137
138define KernelPackage/ieee802154-6lowpan
139 SUBMENU:=$(WPAN_MENU)
140 TITLE:= 6LoWPAN support over IEEE-802.15.4
141 DEPENDS:=+kmod-6lowpan +kmod-ieee802154
142 KCONFIG:=CONFIG_IEEE802154_6LOWPAN
143 FILES:= \
144 $(LINUX_DIR)/net/ieee802154/6lowpan/ieee802154_6lowpan.ko
145 AUTOLOAD:=$(call AutoLoad,91,ieee802154_6lowpan)
146endef
147
148define KernelPackage/ieee802154-6lowpan/description
149 IPv6 compression over IEEE 802.15.4
150endef
151
152$(eval $(call KernelPackage,ieee802154-6lowpan))