1# Nordic Semiconductor nRF5 802.15.4 configuration options
2
3# Copyright (c) 2017 Nordic Semiconductor ASA
4# SPDX-License-Identifier: Apache-2.0
5
6menuconfig IEEE802154_NRF5
7	bool "nRF52 series IEEE 802.15.4 Driver"
8	default y
9	depends on DT_HAS_NORDIC_NRF_IEEE802154_ENABLED
10	select NRF_802154_RADIO_DRIVER if HAS_HW_NRF_RADIO_IEEE802154
11	select NRF_802154_SER_HOST if !HAS_HW_NRF_RADIO_IEEE802154
12
13if IEEE802154_NRF5
14
15config IEEE802154_NRF5_RX_STACK_SIZE
16	int "Driver's internal RX thread stack size"
17	default 800
18	help
19	  This option sets the driver's stack size for its internal RX thread.
20	  The default value should be sufficient, but in case it proves to be
21	  a too little one, this option makes it easy to play with the size.
22
23config IEEE802154_NRF5_INIT_PRIO
24	int "nRF52 IEEE 802.15.4 initialization priority"
25	default 80
26	help
27	  Set the initialization priority number. Do not mess with it unless
28	  you know what you are doing.
29
30config IEEE802154_NRF5_EXT_IRQ_MGMT
31	bool
32	help
33	  The driver may manage radio IRQs by itself, or use an external
34	  radio IRQ provider. When radio IRQs are managed by an external
35	  provider, the driver shall not configure radio IRQs.
36
37	  Enable this option when external radio IRQ provider is enabled in
38	  the system. One example of external radio IRQ provider could be
39	  a radio arbiter used in dynamic multiprotocol applications.
40
41config IEEE802154_NRF5_UICR_EUI64_ENABLE
42	bool "Support usage of EUI64 value stored in UICR registers"
43	depends on !IEEE802154_VENDOR_OUI_ENABLE
44	depends on SOC_SERIES_NRF52X || SOC_SERIES_NRF53X
45	help
46	  This option enables setting custom vendor EUI64 value
47	  stored in User information configuration registers (UICR).
48	  Notice that this disables the default setting of EUI64
49	  value from Factory information configuration registers
50	  (FICR).
51
52if IEEE802154_NRF5_UICR_EUI64_ENABLE
53
54config IEEE802154_NRF5_UICR_EUI64_REG
55	int "UICR base register for the EUI64 value"
56	range 0 30 if SOC_SERIES_NRF52X
57	range 0 190 if SOC_SERIES_NRF53X
58	default 0
59	help
60	  Base of the two consecutive registers from the UICR customer
61	  section in which custom EUI64 is stored.
62
63endif # IEEE802154_NRF5_UICR_EUI64_ENABLE
64
65config IEEE802154_NRF5_FCS_IN_LENGTH
66	bool "Include FCS field in the overall packet length"
67	default y if IEEE802154_RAW_MODE || NET_L2_OPENTHREAD
68	help
69	  Some 802.15.4 L2 implementations expect that FCS length is included in
70	  the overall packet length while others not. Allow to configure this
71	  behavior, based on the selected upper layer.
72
73config IEEE802154_NRF5_DELAY_TRX_ACC
74	int "Clock accuracy for delayed operations"
75	default CLOCK_CONTROL_NRF_ACCURACY if (CLOCK_CONTROL_NRF && (CLOCK_CONTROL_NRF_ACCURACY < $(UINT8_MAX)))
76	default $(UINT8_MAX)
77	help
78	  Accuracy of the clock used for scheduling radio delayed operations (delayed transmission
79	  or delayed reception), in ppm.
80
81config IEEE802154_NRF5_LOG_RX_FAILURES
82	bool "Frame reception failures logging"
83	help
84	  There are few cases where the frame reception failure can happen because of
85	  internal cause. These cases are reported forward by general code error.
86
87	  This options enables logging the reason of frame reception failure.
88	  It can be helpful for the network traffic analyze but it generates also
89	  a lot of log records in a stress environment.
90
91config IEEE802154_NRF5_MULTIPLE_CCA
92	bool "Support for multiple CCA attempts before transmission"
93	help
94	  When this option is enabled the OpenThread capability
95	  IEEE802154_OPENTHREAD_HW_MULTIPLE_CCA is supported by the ieee802154_nrf5.
96
97endif
98