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_DELAY_TRX_ACC
66	int "Clock accuracy for delayed operations"
67	default CLOCK_CONTROL_NRF_ACCURACY if (CLOCK_CONTROL_NRF && (CLOCK_CONTROL_NRF_ACCURACY < $(UINT8_MAX)))
68	default $(UINT8_MAX)
69	help
70	  Accuracy of the clock used for scheduling radio delayed operations (delayed transmission
71	  or delayed reception), in ppm.
72
73config IEEE802154_NRF5_LOG_RX_FAILURES
74	bool "Frame reception failures logging"
75	help
76	  There are few cases where the frame reception failure can happen because of
77	  internal cause. These cases are reported forward by general code error.
78
79	  This options enables logging the reason of frame reception failure.
80	  It can be helpful for the network traffic analyze but it generates also
81	  a lot of log records in a stress environment.
82
83config IEEE802154_NRF5_MULTIPLE_CCA
84	bool "Support for multiple CCA attempts before transmission"
85	help
86	  When this option is enabled the OpenThread capability
87	  IEEE802154_OPENTHREAD_HW_MULTIPLE_CCA is supported by the ieee802154_nrf5.
88
89config IEEE802154_NRF5_CST_ENDPOINT
90	bool "Support for OpenThread CST Endpoint extension in the ieee802154_nrf5."
91	default y if OPENTHREAD_WAKEUP_COORDINATOR
92	help
93	  Enable support for OpenThread CST (Coordinated Sampled Transmitter) Endpoint
94	  with CST IE injection as an extension to ieee802154_nrf5 driver.
95	  When this option is enabled, the ieee802154_nrf5 driver supports the
96	  IEEE802154_OPENTHREAD_HW_CST capability.
97
98endif
99