# Copyright (c) 2021 Telink Semiconductor
# SPDX-License-Identifier: Apache-2.0

# Telink B91 RF configuration options

menuconfig IEEE802154_TELINK_B91
	bool "Telink B91 RF driver"
	default y
	depends on DT_HAS_TELINK_B91_ZB_ENABLED

if IEEE802154_TELINK_B91

config IEEE802154_B91_INIT_PRIO
	int "Telink B91 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_B91_SET_TXRX_DELAY_US
	int "Tx/Rx modes switching delay time (us)"
	default 120
	help
	  Delay time needed for PLL stabilization during Tx/Rx modes switching.

config IEEE802154_B91_CCA_RSSI_THRESHOLD
	int "CCA procedure RSSI threshold"
	default -50
	help
	  CCA procedure returns true if the current RSSI value is less than
	  this parameter.

config IEEE802154_B91_RANDOM_MAC
	bool "Random MAC address"
	default y
	help
	  Generate a random MAC address dynamically.

if ! IEEE802154_B91_RANDOM_MAC

config IEEE802154_B91_MAC4
	hex "MAC Address Byte 4"
	default 0
	range 0 0xff
	help
	  This is the byte 4 of the MAC address.

config IEEE802154_B91_MAC5
	hex "MAC Address Byte 5"
	default 0
	range 0 0xff
	help
	  This is the byte 5 of the MAC address.

config IEEE802154_B91_MAC6
	hex "MAC Address Byte 6"
	default 0
	range 0 0xff
	help
	  This is the byte 6 of the MAC address.

config IEEE802154_B91_MAC7
	hex "MAC Address Byte 7"
	default 0
	range 0 0xff
	help
	  This is the byte 7 of the MAC address.

endif # ! IEEE802154_B91_RANDOM_MAC
endif # IEEE802154_TELINK_B91
