# Kconfig.nrf5 - 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 && SOC_NRF52840
	select HAS_NORDIC_DRIVERS

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.

choice IEEE802154_NRF5_CCA_MODE
	prompt "nRF52 IEEE 802.15.4 CCA mode"
	default IEEE802154_NRF5_CCA_MODE_ED
	help
	  CCA mode

config IEEE802154_NRF5_CCA_MODE_ED
	bool "Energy Above Threshold"

config IEEE802154_NRF5_CCA_MODE_CARRIER
	bool "Carrier Seen"

config IEEE802154_NRF5_CCA_MODE_CARRIER_AND_ED
	bool "Energy Above Threshold AND Carrier Seen"

config IEEE802154_NRF5_CCA_MODE_CARRIER_OR_ED
	bool "Energy Above Threshold OR Carrier Seen"

endchoice

config IEEE802154_NRF5_CCA_ED_THRESHOLD
	int "nRF52 IEEE 802.15.4 CCA Energy Detection threshold"
	default 45
	help
	  If energy detected in a given channel is above the value then the channel
	  is deemed busy. The unit is defined as per 802.15.4-2006 spec.

config IEEE802154_NRF5_CCA_CORR_THRESHOLD
	int "nRF52 IEEE 802.15.4 CCA Correlator threshold"
	default 45

config IEEE802154_NRF5_CCA_CORR_LIMIT
	int "nRF52 IEEE 802.15.4 CCA Correlator limit"
	default 2
	help
	  Limit for occurrences above correlator threshold. When not equal to zero the
	  correlator based signal detect is enabled.

endif
