b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame^] | 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 |
| 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 | AUTOLOAD:=$(call AutoProbe,at86rf230) |
| 92 | endef |
| 93 | |
| 94 | $(eval $(call KernelPackage,at86rf230)) |
| 95 | |
| 96 | define 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) |
| 105 | endef |
| 106 | |
| 107 | $(eval $(call KernelPackage,mrf24j40)) |
| 108 | |
| 109 | define 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) |
| 118 | endef |
| 119 | |
| 120 | $(eval $(call KernelPackage,cc2520)) |
| 121 | |
| 122 | |
| 123 | define 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) |
| 133 | endef |
| 134 | |
| 135 | $(eval $(call KernelPackage,ca8210)) |
| 136 | |
| 137 | |
| 138 | define 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) |
| 146 | endef |
| 147 | |
| 148 | define KernelPackage/ieee802154-6lowpan/description |
| 149 | IPv6 compression over IEEE 802.15.4 |
| 150 | endef |
| 151 | |
| 152 | $(eval $(call KernelPackage,ieee802154-6lowpan)) |