1# Thread network configuration options
2
3# Copyright (c) 2020 Nordic Semiconductor ASA
4# SPDX-License-Identifier: Apache-2.0
5
6config OPENTHREAD_PANID
7	int "Default PAN ID"
8	default 43981
9
10config OPENTHREAD_CHANNEL
11	int "Default Channel"
12	default 11
13
14config OPENTHREAD_NETWORK_NAME
15	string "Default network name"
16	default "ot_zephyr"
17	help
18	  Network name for OpenThread
19
20config OPENTHREAD_XPANID
21	string "Default Extended PAN ID"
22	default "de:ad:00:be:ef:00:ca:fe"
23	help
24	  Extended PAN ID for OpenThread with
25	  format "de:ad:00:be:ef:00:ca:fe"
26
27config OPENTHREAD_NETWORKKEY
28	string "Default Thread Network Key"
29	help
30	  Network Key for OpenThread with format
31	  "00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff"
32
33config OPENTHREAD_JOINER_AUTOSTART
34	bool "Automatic joiner start"
35	depends on OPENTHREAD_JOINER
36
37config OPENTHREAD_JOINER_PSKD
38	string "Default pre shared key for the Joiner"
39	depends on OPENTHREAD_JOINER_AUTOSTART
40	default "J01NME"
41
42choice OPENTHREAD_DEVICE_TYPE
43	prompt "OpenThread device type"
44	help
45	  This option selects Thread network device type
46
47config OPENTHREAD_FTD
48	bool "FTD - Full Thread Device"
49config OPENTHREAD_MTD
50	bool "MTD - Minimal Thread Device"
51endchoice
52
53config OPENTHREAD_MTD_SED
54	bool "SED - Sleepy End Device"
55	depends on OPENTHREAD_MTD
56
57config OPENTHREAD_POLL_PERIOD
58	int "Poll period for sleepy end devices [ms]"
59	default 236000
60	depends on OPENTHREAD_MTD_SED
61
62config OPENTHREAD_MAX_CHILDREN
63	int "The maximum number of children"
64	range 1 511
65	default 32
66
67config OPENTHREAD_MAX_IP_ADDR_PER_CHILD
68	int "The maximum number of IPv6 address registrations per child"
69	range 4 $(UINT8_MAX)
70	default 6
71
72config OPENTHREAD_CONFIG_PLATFORM_INFO
73	string "The platform-specific string to insert into the OpenThread version string"
74	default "Zephyr"
75
76config OPENTHREAD_RADIO_LINK_IEEE_802_15_4_ENABLE
77	bool "Support for IEEE802.15.4 radio link"
78	default y
79
80config OPENTHREAD_CSL_AUTO_SYNC
81	bool "CSL autosync"
82	default y if OPENTHREAD_CSL_RECEIVER
83
84config OPENTHREAD_CSL_REQUEST_TIME_AHEAD
85	int "CSL transmitter request time ahead"
86	default 2000
87	help
88	  Defines how many microseconds ahead should MAC deliver a CSL frame to the sub-MAC layer.
89
90config OPENTHREAD_CSL_RECEIVE_TIME_AHEAD
91	int "CSL receiver wake up margin in microseconds"
92	default 5000
93
94config OPENTHREAD_MIN_RECEIVE_ON_AHEAD
95	int "Minimum receiving time before start of MHR"
96	default 192
97	help
98	  The minimum time (microseconds) that radio has to be in receive mode before the start of the MHR.
99
100config OPENTHREAD_MIN_RECEIVE_ON_AFTER
101	int "Minimum receiving time after start of MHR"
102	default 5504
103	help
104	  The minimum time (microseconds) that radio should be in receive mode after the start of the MHR.
105
106config OPENTHREAD_PLATFORM_CSL_UNCERT
107	int "CSL uncertainty"
108	default $(UINT8_MAX)
109	range 0 $(UINT8_MAX)
110	help
111	  The fixed uncertainty of the Device for scheduling CSL Transmissions in units of 10 microseconds.
112
113config OPENTHREAD_CSL_TIMEOUT
114	int "CSL timeout in seconds"
115	default 100
116	help
117	  The default CSL timeout in seconds.
118
119config OPENTHREAD_MAC_SOFTWARE_TX_SECURITY_ENABLE
120	bool "Software transmission security logic"
121	default y if !OPENTHREAD_THREAD_VERSION_1_1
122
123config OPENTHREAD_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
124	bool "Inform previous parent on reattach"
125	default y if OPENTHREAD_PARENT_SEARCH
126	help
127	  To allow end devices (EDs) in a Thread network to inform their
128	  previous parent router that they have attached to a new parent
129	  router, enable the Inform Previous Parent on Reattach feature.
130
131config OPENTHREAD_PARENT_SEARCH
132	bool "Periodic parent search support"
133	help
134	  To allow end devices (EDs) in a Thread network to switch to a
135	  better parent router than their current one—while still attached
136	  to the network—enable the Periodic Parent Search feature.
137
138config OPENTHREAD_PARENT_SEARCH_CHECK_INTERVAL
139	int "Interval to trigger parent search in seconds"
140	default 540
141	depends on OPENTHREAD_PARENT_SEARCH
142
143config OPENTHREAD_PARENT_SEARCH_BACKOFF_INTERVAL
144	int "Backoff interval to prevent parent search retry in seconds"
145	default 36000
146	depends on OPENTHREAD_PARENT_SEARCH
147
148config OPENTHREAD_PARENT_SEARCH_RSS_THRESHOLD
149	int "RSSI threshold to trigger parent search"
150	default -65
151	depends on OPENTHREAD_PARENT_SEARCH
152
153config OPENTHREAD_CLI_MAX_LINE_LENGTH
154	int "The maximum size of the CLI line in bytes"
155	range 16 $(UINT16_MAX)
156	default 384
157
158config OPENTHREAD_IP6_MAX_EXT_UCAST_ADDRS
159	int "The maximum number of supported IPv6 addresses allows to be externally added"
160	range 0 32
161	default 4
162
163config OPENTHREAD_IP6_MAX_EXT_MCAST_ADDRS
164	int "The maximum number of supported IPv6 multicast addresses allows to be externally added"
165	range 0 32
166	default 2
167
168config OPENTHREAD_TCP_ENABLE
169	bool "TCP support"
170
171config OPENTHREAD_CLI_TCP_ENABLE
172	bool "TCP in the CLI tool"
173	default y if SHELL
174	depends on OPENTHREAD_TCP_ENABLE
175
176config OPENTHREAD_HISTORY_TRACKER
177	bool "History tracker support"
178
179config OPENTHREAD_MAC_STAY_AWAKE_BETWEEN_FRAGMENTS
180	bool "Stay awake between packet fragments"
181	help
182	  This optimization is done at the expense of power consumption on SED/SSED devices.
183
184config OPENTHREAD_DEFAULT_RX_SENSITIVITY
185	int "OpenThread default RX sensitivity in dBm"
186	range $(INT8_MIN) $(INT8_MAX)
187	default -100
188	help
189	  Set the default receive sensitivity [dBm] in radio driver.
190
191config OPENTHREAD_DEFAULT_TX_POWER
192	int "OpenThread default tx power in dBm"
193	range -40 20 if NRF_802154_RADIO_DRIVER
194	default 0
195	help
196	  Set the default TX output power [dBm] in radio driver for OpenThread purpose.
197
198config OPENTHREAD_TCAT_MULTIRADIO_CAPABILITIES
199	bool "Openthread multiradio capability"
200	default y if OPENTHREAD_BLE_TCAT
201	help
202	  Openthread multiradio capability.
203
204config OPENTHREAD_BLE_TCAT_THREAD_STACK_SIZE
205	int "Openthread default TCAT stack size"
206	default 5120 if OPENTHREAD_CRYPTO_PSA
207	default 4200
208	help
209	  Openthread default TCAT stack size.
210
211config OPENTHREAD_BLE_TCAT_RING_BUF_SIZE
212	int "Openthread BLE ringbuffer size"
213	default 512
214	help
215	  Openthread BLE TCAT ringbuffer size.
216
217config OPENTHREAD_NAT64_CIDR
218	string "Set IPv4 CIDR used by NAT64"
219	default "192.168.255.0/24"
220	depends on OPENTHREAD_BORDER_ROUTING && OPENTHREAD_NAT64_TRANSLATOR
221	help
222	  Set the IPv4 CIDR (Classless Inter-Domain Routing) used by NAT64
223	  to set source address of the outgoing translated IPv4 packets.
224	  The CIDR must have four bytes in the address with the
225	  non-zero length of prefix (e.g., "127.0.0.1/24").
226
227config OPENTHREAD_STORE_FRAME_COUNTER_AHEAD
228	int "Openthread frame counter ahead value"
229	default 100000
230	help
231	  Openthread value ahead of the current frame counter for persistent storage.
232
233config OPENTHREAD_CHILD_SUPERVISION_CHECK_TIMEOUT
234	int "Openthread child supervision check timeout in seconds"
235	default 190
236	help
237	  The supervision check timeout interval in seconds used by a device in child state.
238	  Set to zero to disable the supervision check process on the child.
239
240config OPENTHREAD_CHILD_SUPERVISION_INTERVAL
241	int "Openthread child supervision interval in seconds"
242	default 129
243	help
244	  The supervision interval used by a parent device to send a supervision message
245	  to the child, if there is no transmission to the child within this interval.
246	  Set to zero to disable the supervision check process on the child.
247
248config OPENTHREAD_MLE_CHILD_TIMEOUT
249	int "Openthread MLE child timeout in seconds"
250	default 240
251	help
252	  The value of MLE child timeout in seconds.
253