145 lines
4.2 KiB
Plaintext
145 lines
4.2 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
menuconfig WIRELESS_IEEE802154
|
|
bool "IEEE 802.15.4 Support"
|
|
default n
|
|
select MM_IOB
|
|
depends on WIRELESS
|
|
---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.
|
|
|
|
if WIRELESS_IEEE802154
|
|
|
|
config IEEE802154_MAC_DEV
|
|
bool "Character driver for IEEE 802.15.4 MAC layer"
|
|
default n
|
|
depends on WIRELESS_IEEE802154
|
|
---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
|
|
|
|
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 from 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 from 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
|