187 lines
5.3 KiB
Plaintext
187 lines
5.3 KiB
Plaintext
# Copyright (c) 2016-2021 Nordic Semiconductor ASA
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config ZEPHYR_HAL_NORDIC_MODULE
|
|
bool
|
|
|
|
config HAS_NORDIC_DRIVERS
|
|
bool
|
|
|
|
menu "Nordic drivers"
|
|
depends on HAS_NORDIC_DRIVERS
|
|
|
|
menuconfig NRF_802154_RADIO_DRIVER
|
|
bool "Enable nRF IEEE 802.15.4 radio driver"
|
|
depends on HAS_HW_NRF_RADIO_IEEE802154
|
|
select DYNAMIC_INTERRUPTS
|
|
select ENTROPY_GENERATOR
|
|
select NRF_HW_TIMER1_RESERVED
|
|
help
|
|
This option enables nRF IEEE 802.15.4 radio driver in Zephyr. Note,
|
|
that beside the radio peripheral itself, this drivers occupies several
|
|
other peripherals. A complete list can be found in the hal_nordic
|
|
repository, within drivers/nrf_radio_802154/nrf_802154_peripherals.h
|
|
file. As the nRF IEEE 802.15.4 radio driver defines IRQ configuration
|
|
abstraction layer API and its Zephyr-specific implementation uses dynamic
|
|
interrupts, the DYNAMIC_INTERRUPTS switch is selected unconditionally.
|
|
|
|
if NRF_802154_RADIO_DRIVER
|
|
|
|
config NRF_802154_MULTIPROTOCOL_SUPPORT
|
|
bool
|
|
help
|
|
In dynamic multiprotocol applications, access to the radio peripheral
|
|
must be distributed by an arbiter. To support this arbitration
|
|
in the driver, this option must be enabled. Otherwise, the driver
|
|
assumes that access to the radio peripheral is granted indefinitely.
|
|
|
|
choice NRF_802154_CCA_MODE
|
|
prompt "nRF IEEE 802.15.4 CCA mode"
|
|
default NRF_802154_CCA_MODE_ED
|
|
help
|
|
CCA mode
|
|
|
|
config NRF_802154_CCA_MODE_ED
|
|
bool "Energy Above Threshold"
|
|
|
|
config NRF_802154_CCA_MODE_CARRIER
|
|
bool "Carrier Seen"
|
|
|
|
config NRF_802154_CCA_MODE_CARRIER_AND_ED
|
|
bool "Energy Above Threshold AND Carrier Seen"
|
|
|
|
config NRF_802154_CCA_MODE_CARRIER_OR_ED
|
|
bool "Energy Above Threshold OR Carrier Seen"
|
|
|
|
endchoice
|
|
|
|
choice NRF_802154_SL_TYPE
|
|
prompt "nRF IEEE 802.15.4 Service Layer Type"
|
|
default NRF_802154_SL_OPENSOURCE
|
|
|
|
config NRF_802154_SL_OPENSOURCE
|
|
bool "nRF IEEE 802.15.4 Open source Service Layer"
|
|
|
|
endchoice
|
|
|
|
config NRF_802154_CCA_ED_THRESHOLD
|
|
int "nRF 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 NRF_802154_CCA_CORR_THRESHOLD
|
|
int "nRF IEEE 802.15.4 CCA Correlator threshold"
|
|
default 45
|
|
|
|
config NRF_802154_CCA_CORR_LIMIT
|
|
int "nRF 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.
|
|
|
|
config NRF_802154_PENDING_SHORT_ADDRESSES
|
|
int "nRF 802.15.4 pending short addresses"
|
|
default 16
|
|
help
|
|
Number of slots containing short addresses of nodes for which pending data is stored
|
|
|
|
config NRF_802154_PENDING_EXTENDED_ADDRESSES
|
|
int "nRF 802.15.4 pending extended addresses"
|
|
default 16
|
|
help
|
|
Number of slots containing extended addresses of nodes for which pending data is stored
|
|
|
|
config NRF_802154_RX_BUFFERS
|
|
int "nRF 802.15.4 receive buffers"
|
|
default 16
|
|
help
|
|
Number of buffers in nRF 802.15.4 driver receive queue. If this value is modified,
|
|
its serialization host counterpart must be set to the exact same value.
|
|
|
|
endif # NRF_802154_RADIO_DRIVER
|
|
|
|
config NRF_802154_SER_HOST
|
|
bool "nRF IEEE 802.15.4 Driver serialization host"
|
|
depends on !NRF_802154_RADIO_DRIVER
|
|
depends on !HAS_HW_NRF_RADIO_IEEE802154
|
|
select RPMSG_SERVICE
|
|
select IEEE802154_NRF5_EXT_IRQ_MGMT if IEEE802154_NRF5
|
|
help
|
|
Enable serialization of nRF IEEE 802.15.4 Driver. This option is to be
|
|
used if radio is not available in the core, but radio services are
|
|
provided by a serialization backend.
|
|
|
|
menuconfig NRF_802154_SER_RADIO
|
|
bool "nRF IEEE 802.15.4 Driver serialization radio"
|
|
depends on HAS_HW_NRF_RADIO_IEEE802154
|
|
depends on !IEEE802154_NRF5
|
|
select RPMSG_SERVICE
|
|
select NRF_802154_RADIO_DRIVER
|
|
help
|
|
Enable serialization of nRF IEEE 802.15.4 Driver. This option is to be
|
|
used if radio is available in the core to provide radio services over
|
|
a serialization backend.
|
|
|
|
if NRF_802154_SER_RADIO
|
|
|
|
config NRF_802154_SER_RADIO_INIT_PRIO
|
|
int "nRF52 IEEE 802.15.4 serialization initialization priority"
|
|
default 81
|
|
help
|
|
Set the initialization priority number. Do not mess with it unless
|
|
you know what you are doing.
|
|
|
|
choice RPMSG_SERVICE_MODE
|
|
default RPMSG_SERVICE_MODE_REMOTE
|
|
endchoice
|
|
|
|
endif
|
|
|
|
menu "nRF 802.15.4 serialization"
|
|
depends on NRF_802154_SER_HOST || NRF_802154_SER_RADIO
|
|
|
|
config NRF_802154_SER_LOG
|
|
bool "802.15.4 serialization logs"
|
|
default n
|
|
help
|
|
This option enable debug logs of 802.15.4 serialization module.
|
|
|
|
config NRF_802154_SER_BUFFER_ALLOCATOR_THREAD_SAFE
|
|
bool
|
|
# Hidden option
|
|
default y
|
|
help
|
|
This option specifies if buffers for 802.15.4 serialization are allocated
|
|
in a thread-safe manner.
|
|
|
|
config NRF_802154_SER_DEFAULT_RESPONSE_TIMEOUT
|
|
int "Default Spinel serialization response timeout in milliseconds"
|
|
default 500
|
|
help
|
|
This option specifies default timeout of spinel status response
|
|
in milliseconds.
|
|
|
|
if NRF_802154_SER_HOST
|
|
|
|
config NRF_802154_RX_BUFFERS
|
|
int "nRF 802.15.4 receive buffers"
|
|
default 16
|
|
help
|
|
Number of buffers in nRF 802.15.4 driver serialization host's receive queue.
|
|
If this value is modified, its remote counterpart must be set to the exact same value.
|
|
|
|
choice RPMSG_SERVICE_MODE
|
|
default RPMSG_SERVICE_MODE_MASTER
|
|
endchoice
|
|
|
|
endif
|
|
|
|
endmenu # NRF_802154_SER_HOST || NRF_802154_SER_RADIO
|
|
|
|
endmenu # HAS_NORDIC_DRIVERS
|
|
|
|
rsource "nrfx/Kconfig"
|