Linux Audio

Check our new training course

Loading...
# Nordic Semiconductor nRF5 802.15.4 configuration options

# Copyright (c) 2017 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

menuconfig IEEE802154_NRF5
	bool "nRF52 series IEEE 802.15.4 Driver"
	depends on NETWORKING
	select NRF_802154_RADIO_DRIVER if HAS_HW_NRF_RADIO_IEEE802154
	select NRF_802154_SER_HOST if !HAS_HW_NRF_RADIO_IEEE802154

if IEEE802154_NRF5

config IEEE802154_NRF5_DRV_NAME
	string "nRF52 IEEE 802.15.4 Driver's name"
	default "IEEE802154_nrf5"
	help
	  This option sets the driver name

config IEEE802154_NRF5_RX_STACK_SIZE
	int "Driver's internal RX thread stack size"
	default 800
	help
	  This option sets the driver's stack size for its internal RX thread.
	  The default value should be sufficient, but in case it proves to be
	  a too little one, this option makes it easy to play with the size.

config IEEE802154_NRF5_INIT_PRIO
	int "nRF52 IEEE 802.15.4 initialization priority"
	default 80
	help
	  Set the initialization priority number. Do not mess with it unless
	  you know what you are doing.

config IEEE802154_NRF5_EXT_IRQ_MGMT
	bool
	help
	  The driver may manage radio IRQs by itself, or use an external
	  radio IRQ provider. When radio IRQs are managed by an external
	  provider, the driver shall not configure radio IRQs.

	  Enable this option when external radio IRQ provider is enabled in
	  the system. One example of external radio IRQ provider could be
	  a radio arbiter used in dynamic multiprotocol applications.

config IEEE802154_NRF5_UICR_EUI64_ENABLE
	bool "Support usage of EUI64 value stored in UICR registers"
	depends on !IEEE802154_VENDOR_OUI_ENABLE
	depends on SOC_SERIES_NRF52X || SOC_SERIES_NRF53X
	help
	  This option enables setting custom vendor EUI64 value
	  stored in User information configuration registers (UICR).
	  Notice that this disables the default setting of EUI64
	  value from Factory information configuration registers
	  (FICR).

if IEEE802154_NRF5_UICR_EUI64_ENABLE

config IEEE802154_NRF5_UICR_EUI64_REG
	int "UICR base register for the EUI64 value"
	range 0 30 if SOC_SERIES_NRF52X
	range 0 190 if SOC_SERIES_NRF53X
	default 0
	help
	  Base of the two consecutive registers from the UICR customer
	  section in which custom EUI64 is stored.

endif # IEEE802154_NRF5_UICR_EUI64_ENABLE

config IEEE802154_NRF5_FCS_IN_LENGTH
	bool "Include FCS field in the overall packet length"
	default y if IEEE802154_RAW_MODE || NET_L2_OPENTHREAD
	help
	  Some 802.15.4 L2 implementations expect that FCS length is included in
	  the overall packet length while others not. Allow to configure this
	  behavior, based on the selected upper layer.

config IEEE802154_NRF5_DELAY_TRX_ACC
	int "Clock accuracy for delayed operations"
	default CLOCK_CONTROL_NRF_ACCURACY if CLOCK_CONTROL_NRF_ACCURACY < 255
	default 255
	help
	  Accuracy of the clock used for scheduling radio delayed operations (delayed transmission
	  or delayed reception), in ppm.

config IEEE802154_NRF5_LOG_RX_FAILURES
	bool "Frame reception failures logging"
	help
	  There are few cases where the frame reception failure can happen because of
	  internal cause. These cases are reported forward by general code error.

	  This options enables logging the reason of frame reception failure.
	  It can be helpful for the network traffic analyze but it generates also
	  a lot of log records in a stress environment.

endif