# # For a description of the syntax of this configuration file, # see the file kconfig-language.txt in the NuttX tools repository. # config WIRELESS_IEEE802154 bool "IEEE 802.15.4 Wireless Support" default n select DRIVERS_IOB ---help--- Enables support for the IEEE 802.14.5 Wireless library. if WIRELESS_IEEE802154 menuconfig IEEE802154_MAC bool "Generic Media Access Control (MAC) layer for 802.15.4 radios" default n depends on WIRELESS_IEEE802154 ---help--- Enables a Media Access Controller for any IEEE802.15.4 radio device. This in turn can be used by higher layer entities such as 6lowpan. It is not required to use 802.15.4 radios, but is strongly suggested to ensure exchange of valid frames. if IEEE802154_MAC config IEEE802154_MAC_DEV bool "Character driver for IEEE 802.15.4 MAC layer" default n depends on IEEE802154_MAC ---help--- Enable the device driver to expose the IEEE 802.15.4 MAC layer access to user space as IOCTLs choice prompt "IEEE 802.15.4 work queue" default MAC802154_LPWORK if SCHED_LPWORK default MAC802154_HPWORK if !SCHED_LPWORK && SCHED_HPWORK depends on SCHED_WORKQUEUE ---help--- Work queue support is required to use the IEEE 802.15.4 MAC layer. If the low priority work queue is available, then it should be used by the driver. config MAC802154_HPWORK bool "High priority" depends on SCHED_HPWORK config MAC802154_LPWORK bool "Low priority" depends on SCHED_LPWORK endchoice # Work queue config IEEE802154_NTXDESC int "Number or TX descriptors" default 3 ---help--- Configured number of Tx descriptors. Default: 3 endif # IEEE802154_MAC config IEEE802154_IND_PREALLOC int "Number of pre-allocated meta-data structures" default 20 ---help--- This specifies the total number of preallocated meta data structures must be allocated with each incoming packet. These may be allocated from either from tasking logic or from interrupt level logic. config IEEE802154_IND_IRQRESERVE int "Rserved pre-allocated meta-data structures" default 10 ---help--- If meta-data structures can be allocated from interrupt handlers, then this specifies the number of pre-allocatd meta-data structures that are reserved for for use only by interrupt handlers. This may be zero to reserve no meta-data structures for interrupt handlers. In that case, the allocation will fail if tasking logic has allocated them all. Interrupt logic will first attempt to allocate fromt the general, pre-allocated structure pool that will contain up to (size CONFIG_IEEE802154_IND_PREALLOC - CONFIG_IEEE802154_IND_IRQRESERVE) entries. If that fails, then it will try to take a structure from the reserve (size CONFIG_IEEE802154_IND_IRQRESERVE). Non-interrupt logic will also first attempt to allocate fromt the general, pre-allocated structure pool. If that fails, it will dynamically allocate the meta data structure with an additional cost in performance. config IEEE802154_NETDEV bool "IEEE802154 6loWPAN Network Device" default n depends on NET_6LOWPAN && NET_IPv6 select ARCH_HAVE_NETDEV_STATISTICS ---help--- Add support for the IEEE802.15.4 6loWPAN network device built on the common IEEE802.15.4 MAC. if IEEE802154_NETDEV choice prompt "Work queue" default IEEE802154_NETDEV_LPWORK if SCHED_LPWORK default IEEE802154_NETDEV_HPWORK if !SCHED_LPWORK && SCHED_HPWORK depends on SCHED_WORKQUEUE ---help--- Work queue support is required to use the IEEE802.15.4 network driver. If the low priority work queue is available, then it shoul be used by the loopback driver. config IEEE802154_NETDEV_HPWORK bool "High priority" depends on SCHED_HPWORK config IEEE802154_NETDEV_LPWORK bool "Low priority" depends on SCHED_LPWORK endchoice # Work queue endif # IEEE802154_NETDEV config IEEE802154_LOOPBACK bool "IEEE802154 6loWPAN Loopback" default n depends on NET_6LOWPAN && NET_IPv6 select ARCH_HAVE_NETDEV_STATISTICS ---help--- Add support for the IEEE802.15.4 6loWPAN Loopback test device. if IEEE802154_LOOPBACK choice prompt "Work queue" default IEEE802154_LOOPBACK_LPWORK if SCHED_LPWORK default IEEE802154_LOOPBACK_HPWORK if !SCHED_LPWORK && SCHED_HPWORK depends on SCHED_WORKQUEUE ---help--- Work queue support is required to use the loopback driver. If the low priority work queue is available, then it should be used by the loopback driver. config IEEE802154_LOOPBACK_HPWORK bool "High priority" depends on SCHED_HPWORK config IEEE802154_LOOPBACK_LPWORK bool "Low priority" depends on SCHED_LPWORK endchoice # Work queue endif # IEEE802154_LOOPBACK endif # WIRELESS_IEEE802154