1# Bluetooth Controller configuration options
2
3# Copyright (c) 2016-2017 Nordic Semiconductor ASA
4# SPDX-License-Identifier: Apache-2.0
5
6# The following symbols are enabled depending if the controller actually
7# supports the respective features.
8
9config BT_CTLR_ENTROPY_SUPPORT
10	bool
11
12config BT_CTLR_CRYPTO_SUPPORT
13	bool
14
15config BT_CTLR_LE_ENC_SUPPORT
16	bool
17
18config BT_CTLR_CONN_PARAM_REQ_SUPPORT
19	bool
20
21config BT_CTLR_EXT_REJ_IND_SUPPORT
22	bool
23
24config BT_CTLR_PER_INIT_FEAT_XCHG_SUPPORT
25	bool
26
27config BT_CTLR_DATA_LEN_UPDATE_SUPPORT
28	bool
29
30config BT_CTLR_PRIVACY_SUPPORT
31	bool
32
33config BT_CTLR_EXT_SCAN_FP_SUPPORT
34	bool
35
36config BT_CTLR_PHY_UPDATE_SUPPORT
37	bool
38
39config BT_CTLR_PHY_2M_SUPPORT
40	bool
41
42config BT_CTLR_PHY_CODED_SUPPORT
43	bool
44
45config BT_CTLR_ADV_EXT_SUPPORT
46	bool
47
48config BT_CTLR_ADV_EXT_CODING_SELECTION_SUPPORT
49	depends on BT_CTLR_PHY_CODED_SUPPORT
50	bool
51
52config BT_CTLR_ADV_PERIODIC_SUPPORT
53	depends on BT_CTLR_ADV_EXT_SUPPORT
54	bool
55
56config BT_CTLR_ADV_PERIODIC_RSP_SUPPORT
57	depends on BT_CTLR_ADV_PERIODIC_SUPPORT
58	bool
59
60config BT_CTLR_SYNC_PERIODIC_SUPPORT
61	depends on BT_CTLR_ADV_EXT_SUPPORT
62	bool
63
64config BT_CTLR_SYNC_PERIODIC_RSP_SUPPORT
65	depends on BT_CTLR_SYNC_PERIODIC_SUPPORT
66	bool
67
68config BT_CTLR_SYNC_TRANSFER_SENDER_SUPPORT
69	depends on BT_CTLR_SYNC_PERIODIC_SUPPORT || BT_CTLR_ADV_PERIODIC_SUPPORT
70	bool
71
72config BT_CTLR_SYNC_TRANSFER_RECEIVER_SUPPORT
73	depends on BT_CTLR_SYNC_PERIODIC_SUPPORT
74	bool
75
76config BT_CTLR_ADV_ISO_SUPPORT
77	depends on BT_CTLR_ADV_PERIODIC_SUPPORT
78	bool
79
80config BT_CTLR_SYNC_ISO_SUPPORT
81	depends on BT_CTLR_SYNC_PERIODIC_SUPPORT
82	bool
83
84config BT_CTLR_BROADCAST_ISO_ENC_SUPPORT
85	depends on BT_CTLR_ADV_ISO_SUPPORT || BT_CTLR_SYNC_ISO_SUPPORT
86	bool
87
88config BT_CTLR_CENTRAL_ISO_SUPPORT
89	bool
90
91config BT_CTLR_PERIPHERAL_ISO_SUPPORT
92	bool
93
94config BT_CTLR_CHAN_SEL_2_SUPPORT
95	bool
96
97config BT_CTLR_MIN_USED_CHAN_SUPPORT
98	bool
99
100config BT_CTLR_SMI_SUPPORT
101	bool
102
103config BT_CTLR_SCA_UPDATE_SUPPORT
104	bool
105
106config BT_CTLR_CONN_RSSI_SUPPORT
107	bool
108
109config BT_CTLR_ECDH_SUPPORT
110	bool
111
112config BT_CTLR_READ_ISO_LINK_QUALITY_SUPPORT
113	depends on BT_CTLR_SYNC_ISO_SUPPORT || \
114		   BT_CTLR_CENTRAL_ISO_SUPPORT || \
115		   BT_CTLR_PERIPHERAL_ISO_SUPPORT
116	bool
117
118config BT_CTLR_LE_POWER_CONTROL_SUPPORT
119	bool
120
121config BT_CTLR_LE_PATH_LOSS_MONITORING_SUPPORT
122	bool
123
124config BT_CTLR_SUBRATING_SUPPORT
125	bool
126
127config BT_CTLR_FRAME_SPACE_UPDATE_SUPPORT
128	bool
129
130config BT_CTLR_CHANNEL_SOUNDING_SUPPORT
131	bool
132
133config BT_CTLR_EXTENDED_FEAT_SET_SUPPORT
134	bool
135
136# Virtual option that all local LL implementations should select
137config HAS_BT_CTLR
138	bool
139
140config BT_LL_SW_SPLIT
141	bool "Software-based Bluetooth LE Link Layer"
142	default y
143	depends on DT_HAS_ZEPHYR_BT_HCI_LL_SW_SPLIT_ENABLED
144	select HAS_BT_CTLR
145	help
146	  Use Zephyr software Bluetooth LE Link Layer ULL LLL split implementation.
147
148config BT_CTLR_HCI
149	bool "Host Controller Interface (HCI)"
150	default y
151	depends on HAS_BT_CTLR
152	help
153	  Enable the Host Controller interface (HCI) in the Controller.
154	  This should almost always be enabled, except in a few special
155	  cases, like for unit testing.
156
157config BT_CTLR_HCI_NUM_CMD_PKT_MAX
158	# Hidden Controller implementation supported Num_HCI_Command_Packets value.
159	# This value will be used to calculate the total number of HCI command buffers to be
160	# allocated, BT_BUF_CMD_TX_COUNT, dependent on HCI Controller to Host data flow control
161	# being enabled.
162	int
163	depends on BT_CTLR_HCI
164	default 1 if BT_LL_SW_SPLIT
165	default 1
166
167if HAS_BT_CTLR
168
169comment "Bluetooth Controller configuration"
170
171config BT_CTLR_ENTROPY
172	bool "Random number generation in Controller"
173	depends on BT_CTLR_ENTROPY_SUPPORT
174	select ENTROPY_GENERATOR
175	default y
176	help
177	  Use random number generation selected by the Controller.
178
179	  Bluetooth Core Specification mandates a use of random number generator
180	  compliant with FIPS PUB 140-2.
181
182	  Deselecting this option allows for Controllers to use other entropy
183	  generators which may not be true random number generators, and hence
184	  would make the implementation experimental.
185
186	  A Controller implementation could also provide custom bare-metal
187	  random number generator implementation without any support in Zephyr
188	  driver, i.e. there is no ENTROPY_HAS_DRIVER enabled.
189
190config BT_CTLR_CRYPTO
191	bool "Crypto functions in Controller"
192	depends on BT_CTLR_CRYPTO_SUPPORT
193	default y
194	help
195	  Use random number generation and AES encryption support functions
196	  provided by the controller.
197
198	  Support for HCI LE Rand and HCI LE Encrypt commands is mandatory by
199	  Bluetooth Core Specification.
200
201	  In an Application/Host and Controller split (using a HCI transport) or
202	  combined builds for single CPU SoCs, applications can use their own
203	  FIPS-197 compliant cryptographic implementations. In this case the
204	  Controller cryptographic implementations can be disabled to save flash
205	  and RAM usage.
206
207config BT_CTLR_HCI_VS_BUILD_INFO
208	string "Zephyr HCI VS Build Info string"
209	default ""
210	depends on BT_CTLR_HCI && BT_HCI_VS
211	help
212	  User-defined string that will be returned by the Zephyr VS Read Build
213	  Information command after the Zephyr version and build time. When
214	  setting this to a value different from an empty string, a space
215	  character is required at the beginning to separate it from the
216	  already included information.
217
218config BT_CTLR_DUP_FILTER_LEN
219	int "Number of addresses in the scan duplicate filter"
220	depends on BT_OBSERVER
221	depends on BT_LL_SW_SPLIT
222	default 16
223	help
224	  Set the number of unique Bluetooth LE addresses that can be filtered as
225	  duplicates while scanning.
226
227config BT_CTLR_DUP_FILTER_ADV_SET_MAX
228	int "Number of Extended Advertising Sets in the scan duplicate filter"
229	depends on BT_OBSERVER && BT_CTLR_ADV_EXT && (BT_CTLR_DUP_FILTER_LEN > 0)
230	depends on BT_LL_SW_SPLIT
231	range 1 16
232	default 1
233	help
234	  Set the number of unique Advertising Set ID per Bluetooth Low Energy
235	  addresses that can be filtered as duplicates while Extended Scanning.
236
237config BT_CTLR_RX_BUFFERS
238	int "Number of Rx buffers"
239	depends on BT_LL_SW_SPLIT
240	default 6 if BT_HCI_RAW
241	default 1
242	range 1 18
243	help
244	  Set the number of Rx PDUs to be buffered in the controller. In a 7.5ms
245	  connection interval and 2M PHY, maximum 18 packets with L2CAP payload
246	  size of 1 byte can be received.
247
248config BT_CTLR_ISO_RX_BUFFERS
249	int "Number of Isochronous Rx buffers"
250	depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO
251	default 8
252	range 1 30
253	help
254	  Set the number of Isochronous Rx PDUs to be buffered in the
255	  controller. Number of required RX buffers would worst-case be
256	  the number of RX nodes prepared in one ISO event for each
257	  active ISO group. This depends on the number of bursts in an
258	  ISO group and number of groups, and may need to be set lower
259	  that the theoretical maximum. Default of 8 is for supporting
260	  two groups of 4 payloads, e.g. 2 CIGs with 2 CISes of BN=2.
261
262config BT_CTLR_ISO_TX_BUFFERS
263	int "Number of Isochronous Tx buffers"
264	depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO
265	range 1 $(UINT8_MAX)
266	default BT_ISO_TX_BUF_COUNT if BT_ISO
267	default 3
268	help
269	  Set the number of Isochronous Tx PDUs to be queued for transmission
270	  in the controller.
271
272config BT_CTLR_ISO_TX_BUFFER_SIZE
273	int "Isochronous Tx buffer size"
274	depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO
275	range 9 4103 if BT_LL_SW_SPLIT
276	range 1 $(UINT16_MAX)
277	default 9 if BT_LL_SW_SPLIT
278	default 1
279	help
280	  Size of the Isochronous Tx buffers and the value returned in HCI LE
281	  Read Buffer Size V2 command response. This is the data portion of the
282	  HCI ISO Data packet, corresponding to the Data_Total_Length field.
283
284	  Currently the maximum SDU length is 4095 bytes, hence add HCI ISO
285	  Data packet overhead (the Packet_Sequence_Number, ISO_SDU_Length,
286	  Packet_Status_Flag fields; and the optional Time_Stamp field, if
287	  supplied) of 8 bytes.
288
289config BT_CTLR_ISOAL_SOURCES
290	int "Number of Isochronous Adaptation Layer sources"
291	depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO
292	range 1 64
293	default 1
294	help
295	  Set the number of concurrently active sources supported by the
296	  ISO AL.
297
298config BT_CTLR_ISOAL_SINKS
299	int "Number of Isochronous Adaptation Layer sinks"
300	depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO
301	range 1 64
302	default 1
303	help
304	  Set the number of concurrently active sinks supported by the
305	  ISO AL.
306
307config BT_CTLR_ISO_RX_SDU_BUFFERS
308	int "Number of SDU fragments that the ISO-AL can buffer"
309	depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO
310	default 0
311	range 0 64
312	help
313	  Set the number of Isochronous Rx SDU fragments to be buffered in the
314	  ISO-AL per sink. Buffering is required to compute the size and status
315	  of the received SDU across all the fragments before each is released.
316	  The number of buffers and maximum SDU fragment size will limit the
317	  maximum size of an SDU that can be accurately declared in the HCI ISO
318	  Data header.
319
320config BT_CTLR_ISO_VENDOR_DATA_PATH
321	bool "Vendor-specific ISO data path"
322	depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO
323	select BT_CTLR_HCI_CODEC_AND_DELAY_INFO
324
325choice BT_CTLR_TX_PWR
326	prompt "Tx Power"
327	default BT_CTLR_TX_PWR_0
328	depends on BT_CTLR_TX_PWR_ANTENNA = 0 || BT_LL_SW_SPLIT
329	help
330	  Select a supported Bluetooth LE Radio transmit power level in dBm.
331	  Only values supported natively by the SoC are available.
332	  The value set here represents the actual default power level fed
333	  to the antenna.
334
335config BT_CTLR_TX_PWR_PLUS_21
336	bool "+21 dBm"
337	depends on SOC_FAMILY_ESPRESSIF_ESP32
338
339config BT_CTLR_TX_PWR_PLUS_18
340	bool "+18 dBm"
341	depends on SOC_FAMILY_ESPRESSIF_ESP32
342
343config BT_CTLR_TX_PWR_PLUS_15
344	bool "+15 dBm"
345	depends on SOC_FAMILY_ESPRESSIF_ESP32
346
347config BT_CTLR_TX_PWR_PLUS_12
348	bool "+12 dBm"
349	depends on SOC_FAMILY_ESPRESSIF_ESP32
350
351config BT_CTLR_TX_PWR_PLUS_10
352	bool "+10 dBm"
353	depends on SOC_SERIES_NRF54HX
354
355config BT_CTLR_TX_PWR_PLUS_9
356	bool "+9 dBm"
357	depends on SOC_SERIES_NRF54HX || SOC_FAMILY_ESPRESSIF_ESP32
358
359config BT_CTLR_TX_PWR_PLUS_8
360	bool "+8 dBm"
361	depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX
362
363config BT_CTLR_TX_PWR_PLUS_7
364	bool "+7 dBm"
365	depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX
366
367config BT_CTLR_TX_PWR_PLUS_6
368	bool "+6 dBm"
369	depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX || SOC_FAMILY_ESPRESSIF_ESP32
370
371config BT_CTLR_TX_PWR_PLUS_5
372	bool "+5 dBm"
373	depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX
374
375config BT_CTLR_TX_PWR_PLUS_4
376	bool "+4 dBm"
377	depends on SOC_SERIES_NRF51X || SOC_COMPATIBLE_NRF52X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX
378
379config BT_CTLR_TX_PWR_PLUS_3
380	bool "+3 dBm"
381	depends on SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX || SOC_FAMILY_ESPRESSIF_ESP32
382
383config BT_CTLR_TX_PWR_PLUS_2
384	bool "+2 dBm"
385	depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX
386
387config BT_CTLR_TX_PWR_PLUS_1
388	bool "+1 dBm"
389	depends on SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX
390
391config BT_CTLR_TX_PWR_0
392	bool "0 dBm"
393
394config BT_CTLR_TX_PWR_MINUS_1
395	bool "-1 dBm"
396	depends on SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX
397
398config BT_CTLR_TX_PWR_MINUS_2
399	bool "-2 dBm"
400	depends on SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX
401
402config BT_CTLR_TX_PWR_MINUS_3
403	bool "-3 dBm"
404	depends on SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX || SOC_FAMILY_ESPRESSIF_ESP32
405
406config BT_CTLR_TX_PWR_MINUS_4
407	bool "-4 dBm"
408
409config BT_CTLR_TX_PWR_MINUS_5
410	bool "-5 dBm"
411	depends on SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX
412
413config BT_CTLR_TX_PWR_MINUS_6
414	bool "-6 dBm"
415	depends on SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX || SOC_FAMILY_ESPRESSIF_ESP32
416
417config BT_CTLR_TX_PWR_MINUS_7
418	bool "-7 dBm"
419	depends on SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX
420
421config BT_CTLR_TX_PWR_MINUS_8
422	bool "-8 dBm"
423
424config BT_CTLR_TX_PWR_MINUS_9
425	bool "-9 dBm"
426	depends on SOC_COMPATIBLE_NRF54LX || SOC_FAMILY_ESPRESSIF_ESP32
427
428config BT_CTLR_TX_PWR_MINUS_10
429	bool "-10 dBm"
430	depends on SOC_COMPATIBLE_NRF54LX
431
432config BT_CTLR_TX_PWR_MINUS_12
433	bool "-12 dBm"
434
435config BT_CTLR_TX_PWR_MINUS_14
436	bool "-14 dBm"
437	depends on SOC_COMPATIBLE_NRF54LX
438
439config BT_CTLR_TX_PWR_MINUS_15
440	bool "-15 dBm"
441	depends on SOC_FAMILY_ESPRESSIF_ESP32
442
443config BT_CTLR_TX_PWR_MINUS_16
444	bool "-16 dBm"
445
446config BT_CTLR_TX_PWR_MINUS_18
447	bool "-18 dBm"
448	depends on SOC_FAMILY_ESPRESSIF_ESP32
449
450config BT_CTLR_TX_PWR_MINUS_20
451	bool "-20 dBm"
452
453config BT_CTLR_TX_PWR_MINUS_21
454	bool "-21 dBm"
455	depends on SOC_FAMILY_ESPRESSIF_ESP32
456
457config BT_CTLR_TX_PWR_MINUS_24
458	bool "-24 dBm"
459	depends on SOC_FAMILY_ESPRESSIF_ESP32
460
461config BT_CTLR_TX_PWR_MINUS_26
462	bool "-26 dBm"
463	depends on SOC_COMPATIBLE_NRF54LX
464
465config BT_CTLR_TX_PWR_MINUS_30
466	bool "-30 dBm"
467	depends on SOC_SERIES_NRF51X || SOC_SERIES_NRF54HX
468
469config BT_CTLR_TX_PWR_MINUS_40
470	bool "-40 dBm"
471	depends on SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX
472
473config BT_CTLR_TX_PWR_MINUS_46
474	bool "-46 dBm"
475	depends on SOC_COMPATIBLE_NRF54LX
476
477config BT_CTLR_TX_PWR_MINUS_70
478	bool "-70 dBm"
479	depends on SOC_SERIES_NRF54HX
480
481endchoice
482
483config BT_CTLR_TX_PWR_DBM
484	int
485	default 21 if BT_CTLR_TX_PWR_PLUS_21
486	default 18 if BT_CTLR_TX_PWR_PLUS_18
487	default 15 if BT_CTLR_TX_PWR_PLUS_15
488	default 12 if BT_CTLR_TX_PWR_PLUS_12
489	default 10 if BT_CTLR_TX_PWR_PLUS_10
490	default 9 if BT_CTLR_TX_PWR_PLUS_9
491	default 8 if BT_CTLR_TX_PWR_PLUS_8
492	default 7 if BT_CTLR_TX_PWR_PLUS_7
493	default 6 if BT_CTLR_TX_PWR_PLUS_6
494	default 5 if BT_CTLR_TX_PWR_PLUS_5
495	default 4 if BT_CTLR_TX_PWR_PLUS_4
496	default 3 if BT_CTLR_TX_PWR_PLUS_3
497	default 2 if BT_CTLR_TX_PWR_PLUS_2
498	default 1 if BT_CTLR_TX_PWR_PLUS_1
499	default 0 if BT_CTLR_TX_PWR_0
500	default -1 if BT_CTLR_TX_PWR_MINUS_1
501	default -2 if BT_CTLR_TX_PWR_MINUS_2
502	default -3 if BT_CTLR_TX_PWR_MINUS_3
503	default -4 if BT_CTLR_TX_PWR_MINUS_4
504	default -5 if BT_CTLR_TX_PWR_MINUS_5
505	default -6 if BT_CTLR_TX_PWR_MINUS_6
506	default -7 if BT_CTLR_TX_PWR_MINUS_7
507	default -8 if BT_CTLR_TX_PWR_MINUS_8
508	default -9 if BT_CTLR_TX_PWR_MINUS_9
509	default -10 if BT_CTLR_TX_PWR_MINUS_10
510	default -12 if BT_CTLR_TX_PWR_MINUS_12
511	default -14 if BT_CTLR_TX_PWR_MINUS_14
512	default -15 if BT_CTLR_TX_PWR_MINUS_15
513	default -16 if BT_CTLR_TX_PWR_MINUS_16
514	default -18 if BT_CTLR_TX_PWR_MINUS_18
515	default -20 if BT_CTLR_TX_PWR_MINUS_20
516	default -21 if BT_CTLR_TX_PWR_MINUS_21
517	default -24 if BT_CTLR_TX_PWR_MINUS_24
518	default -26 if BT_CTLR_TX_PWR_MINUS_26
519	default -30 if BT_CTLR_TX_PWR_MINUS_30
520	default -40 if BT_CTLR_TX_PWR_MINUS_40
521	default -46 if BT_CTLR_TX_PWR_MINUS_46
522	default -70 if BT_CTLR_TX_PWR_MINUS_70
523
524config BT_CTLR_TX_PWR_ANTENNA
525	int "Set TX power (dBm)"
526	range -127 127
527	default 0
528	depends on !BT_LL_SW_SPLIT
529	help
530	  Request a TX power in dBm. The power level set will be equal to or
531	  less than the one requested, based on the values supported by the
532	  hardware used. Values outside the supported range will be set to the
533	  nearest supported value.
534	  The value set here represents the actual power level fed to the
535	  antenna. When a Front-End Module is used, gain values for the SoC and
536	  FEM are calculated automatically to guarantee the closest possible
537	  match to the value requested by the user at the RF output.
538
539config BT_CTLR_TX_PWR_DYNAMIC_CONTROL
540	bool "Tx Power Dynamic Control"
541	depends on BT_HCI_VS
542	help
543	  Enable dynamic control of Tx power per role/connection.
544	  Provides HCI VS commands to set and get the current Tx
545	  power on an individual role/connection basis.
546
547comment "Bluetooth Controller features"
548
549if BT_CONN
550
551config BT_CTLR_LE_ENC
552	bool "LE Encryption"
553	depends on BT_CTLR_LE_ENC_SUPPORT
554	default y
555	help
556	  Enable support for Bluetooth v4.0 LE Encryption feature in the
557	  Controller.
558
559config BT_CTLR_ECDH
560	bool "Elliptic Curve Diffie-Hellman (ECDH)"
561	depends on BT_CTLR_ECDH_SUPPORT
562	default y if BT_HCI_RAW
563	help
564	  Enable support for Bluetooth v4.2 Elliptic Curve Diffie-Hellman
565	  feature in the controller.
566
567config BT_CTLR_CONN_PARAM_REQ
568	bool "Connection Parameter Request"
569	depends on BT_CTLR_CONN_PARAM_REQ_SUPPORT
570	select BT_CTLR_EXT_REJ_IND
571	default y
572	help
573	  Enable support for Bluetooth v4.1 Connection Parameter Request feature
574	  in the Controller.
575
576config BT_CTLR_EXT_REJ_IND
577	bool "Extended Reject Indication"
578	depends on BT_CTLR_EXT_REJ_IND_SUPPORT
579	default y
580	help
581	  Enable support for Bluetooth v4.1 Extended Reject Indication feature
582	  in the Controller.
583
584config BT_CTLR_PER_INIT_FEAT_XCHG
585	bool "Peripheral-initiated Features Exchange"
586	depends on BT_CTLR_PER_INIT_FEAT_XCHG_SUPPORT
587	default y
588	help
589	  Enable support for Bluetooth v4.1 Peripheral-initiated Features Exchange
590	  feature in the Controller.
591
592config BT_CTLR_LE_PING
593	bool "LE Ping"
594	depends on BT_CTLR_LE_ENC
595	default y
596	help
597	  Enable support for Bluetooth v4.1 LE Ping feature in the Controller.
598
599config BT_CTLR_DATA_LENGTH
600	# Hidden option to enable support for Bluetooth v4.2 LE Data Length
601	# Update procedure in the Controller.
602	bool
603	depends on BT_DATA_LEN_UPDATE && BT_CTLR_DATA_LEN_UPDATE_SUPPORT
604	default y
605
606config BT_CTLR_DATA_LENGTH_MAX
607	int "Maximum data length supported"
608	depends on BT_CTLR_DATA_LENGTH
609	default BT_BUF_ACL_RX_SIZE if BT_BUF_ACL_RX_SIZE <= 251
610	default 27
611	range 27 BT_BUF_ACL_RX_SIZE if BT_BUF_ACL_RX_SIZE < 251
612	range 27 251
613	help
614	  Set the maximum data length of PDU supported in the Controller.
615
616config BT_CTLR_PHY
617	# Hidden option to enable support for Bluetooth 5.0 PHY Update
618	# Procedure in the Controller.
619	bool
620	depends on BT_PHY_UPDATE && BT_CTLR_PHY_UPDATE_SUPPORT
621	select BT_CTLR_EXT_REJ_IND
622	default y
623
624config BT_CTLR_MIN_USED_CHAN
625	bool "Minimum Number of Used Channels"
626	depends on BT_CTLR_MIN_USED_CHAN_SUPPORT
627	default y
628	help
629	  Enable support for Bluetooth 5.0 Minimum Number of Used Channels
630	  Procedure in the Controller.
631
632config BT_CTLR_SCA_UPDATE
633	bool "Sleep Clock Accuracy Update procedure"
634	depends on BT_SCA_UPDATE && BT_CTLR_SCA_UPDATE_SUPPORT
635	default y if BT_CTLR_CONN_ISO
636	help
637	  Enable support for Bluetooth 5.1 Sleep Clock Accuracy
638	  Update procedure in the Controller.
639
640config BT_CTLR_CONN_RSSI
641	bool "Connection RSSI"
642	depends on BT_CTLR_CONN_RSSI_SUPPORT
643	default y if BT_HCI_RAW
644	help
645	  Enable connection RSSI measurement.
646
647config BT_CTLR_LE_POWER_CONTROL
648	bool "LE Power Control Request Feature"
649	depends on BT_CTLR_LE_POWER_CONTROL_SUPPORT
650	default y if BT_TRANSMIT_POWER_CONTROL
651	help
652	  Enable support for LE Power Control Request feature that is defined in the
653	  Bluetooth Core specification, Version 5.4 | Vol 6, Part B, Section 4.6.31.
654
655config BT_CTLR_LE_PATH_LOSS_MONITORING
656	bool "LE Path Loss Monitoring Feature"
657	depends on BT_CTLR_LE_PATH_LOSS_MONITORING_SUPPORT
658	default y if BT_PATH_LOSS_MONITORING
659	help
660	  Enable support for LE Path Loss Monitoring feature that is defined in the
661	  Bluetooth Core specification, Version 5.4 | Vol 6, Part B, Section 4.6.32.
662
663endif # BT_CONN
664
665config BT_CTLR_FILTER_ACCEPT_LIST
666	bool "Filter Accept List Support"
667	default y if BT_HCI_RAW || BT_FILTER_ACCEPT_LIST
668	help
669	  Enable support for controller Filter Accept List feature
670
671config BT_CTLR_PRIVACY
672	bool "LE Controller-based Privacy"
673	depends on BT_CTLR_PRIVACY_SUPPORT
674	select BT_CTLR_FILTER_ACCEPT_LIST if BT_LL_SW_SPLIT
675	select BT_RPA
676	default y if BT_HCI_RAW || BT_SMP
677	help
678	  Enable support for Bluetooth v4.2 LE Controller-based Privacy feature
679	  in the Controller.
680
681config BT_CTLR_FAL_SIZE
682	int "LE Controller-based Privacy Accept List size"
683	depends on BT_CTLR_FILTER_ACCEPT_LIST
684	default 8
685	range 1 8  if  (SOC_COMPATIBLE_NRF || SOC_OPENISA_RV32M1)
686	range 1 16 if !(SOC_COMPATIBLE_NRF || SOC_OPENISA_RV32M1)
687	help
688	  Set the size of the Filter Accept List for LE Controller-based Privacy.
689	  On nRF5x-based controllers, the hardware imposes a limit of 8 devices.
690	  On OpenISA-based controllers, the hardware imposes a limit of 8 devices.
691
692config BT_CTLR_RL_SIZE
693	int "LE Controller-based Privacy Resolving List size"
694	depends on BT_CTLR_PRIVACY
695	default 8
696	range 1 8 if SOC_COMPATIBLE_NRF
697	range 1 8 if SOC_OPENISA_RV32M1
698	help
699	  Set the size of the Resolving List for LE Controller-based Privacy.
700	  On nRF5x-based controllers, the hardware imposes a limit of 8 devices.
701	  On OpenISA-based controllers, the hardware imposes a limit of 8 devices.
702
703config BT_CTLR_EXT_SCAN_FP
704	bool "LE Extended Scanner Filter Policies"
705	depends on BT_OBSERVER && BT_CTLR_EXT_SCAN_FP_SUPPORT
706	default y
707	help
708	  Enable support for Bluetooth v4.2 LE Extended Scanner Filter Policies
709	  in the Controller.
710
711config BT_CTLR_PHY_2M
712	bool "2Mbps PHY Support"
713	depends on (BT_CTLR_PHY || BT_CTLR_ADV_EXT) && BT_CTLR_PHY_2M_SUPPORT
714	default y
715	help
716	  Enable support for Bluetooth 5.0 2Mbps PHY in the Controller.
717
718config BT_CTLR_PHY_CODED
719	bool "Coded PHY Support"
720	depends on (BT_CTLR_PHY || BT_CTLR_ADV_EXT) && BT_CTLR_PHY_CODED_SUPPORT
721	default y if BT_HCI_RAW
722	help
723	  Enable support for Bluetooth 5.0 Coded PHY in the Controller.
724
725config BT_CTLR_CHAN_SEL_2
726	bool "Channel Selection Algorithm #2"
727	depends on (BT_CONN || (BT_BROADCASTER && BT_CTLR_ADV_EXT) || BT_CTLR_ADV_PERIODIC || BT_CTLR_SYNC_PERIODIC) && BT_CTLR_CHAN_SEL_2_SUPPORT
728	default y
729	help
730	  Enable support for Bluetooth 5.0 LE Channel Selection Algorithm #2 in
731	  the Controller.
732
733config BT_CTLR_ADV_EXT
734	bool "LE Advertising Extensions"
735	depends on BT_CTLR_ADV_EXT_SUPPORT
736	select BT_CTLR_CHAN_SEL_2 if BT_LL_SW_SPLIT && BT_BROADCASTER
737	select BT_CTLR_SCAN_REQ_NOTIFY if BT_LL_SW_SPLIT && BT_BROADCASTER
738	default y if BT_EXT_ADV
739	help
740	  Enable support for Bluetooth 5.0 LE Advertising Extensions in the
741	  Controller.
742
743if BT_CTLR_ADV_EXT
744
745config BT_CTLR_ADV_SET
746	int "LE Advertising Extensions Sets"
747	depends on BT_BROADCASTER
748	range 1 64
749	default BT_EXT_ADV_MAX_ADV_SET if BT_EXT_ADV
750	help
751	  Maximum supported advertising sets.
752
753config BT_CTLR_ADV_INTERVAL_MAX
754	hex "Primary Advertising Interval Maximum"
755	depends on BT_BROADCASTER
756	range 0x000020 0x004000 if BT_LL_SW_SPLIT
757	range 0x000020 0xFFFFFF
758	default 0x004000 if BT_LL_SW_SPLIT
759	default 0xFFFFFF
760	help
761	  Supported Primary Advertising Interval Maximum value.
762	  Bluetooth Core Specification v5.3 permitted range is 0x000020 to
763	  0xFFFFFF in 0.625 ms units.
764
765config BT_CTLR_ADV_DATA_LEN_MAX
766	int "Maximum Advertising Data Length"
767	depends on BT_BROADCASTER
768	range 31 191 if BT_LL_SW_SPLIT && !BT_CTLR_ADV_DATA_CHAIN
769	range 31 1650
770	help
771	  Maximum Extended Advertising Data Length.
772
773config BT_CTLR_ADV_PERIODIC
774	bool "LE Periodic Advertising in Advertising State"
775	depends on BT_BROADCASTER && BT_CTLR_ADV_PERIODIC_SUPPORT
776	select BT_CTLR_CHAN_SEL_2
777	default y if BT_PER_ADV
778	help
779	  Enable support for Bluetooth 5.0 LE Periodic Advertising in the
780	  Controller.
781
782config BT_CTLR_ADV_PERIODIC_RSP
783	bool "LE Periodic Advertising with Responses in Advertising State"
784	depends on BT_BROADCASTER && BT_CTLR_ADV_PERIODIC_RSP_SUPPORT
785	select BT_CTLR_CHAN_SEL_2
786	default y if BT_PER_ADV_RSP
787	help
788	  Enable support for Bluetooth 5.4 LE Periodic Advertising with
789	  Responses in the Controller.
790
791config BT_CTLR_ADV_EXT_CODING_SELECTION
792	bool "Advertising Coding Selection support"
793	depends on BT_CTLR_PHY_CODED && BT_CTLR_ADV_EXT_CODING_SELECTION_SUPPORT
794	select BT_CTLR_SET_HOST_FEATURE if BT_OBSERVER
795	default y if BT_EXT_ADV_CODING_SELECTION
796	help
797	  Enable support for Bluetooth 6.0 Advertising Coding Selection
798	  in the Controller.
799
800if BT_CTLR_ADV_PERIODIC
801
802config BT_CTLR_ADV_PERIODIC_ADI_SUPPORT
803	bool "Periodic Advertising ADI support"
804	default y
805	help
806	  Enable support for adding AdvDataInfo in Periodic Advertising PDUs.
807
808config BT_CTLR_ADV_PERIODIC_INTERVAL_MAX
809	hex "Periodic Advertising Interval Maximum"
810	range 0x0006 0x2000 if BT_LL_SW_SPLIT
811	range 0x0006 0xFFFF
812	default 0x2000 if BT_LL_SW_SPLIT
813	default 0xFFFF
814	help
815	  Supported Periodic Advertising Interval Maximum value.
816	  Bluetooth Core Specification v5.3 permitted range is 0x0006 to
817	  0xFFFF in 1.25 ms units.
818
819endif # BT_CTLR_ADV_PERIODIC
820
821config BT_CTLR_SYNC_PERIODIC
822	bool "LE Periodic Advertising in Synchronization State"
823	depends on BT_OBSERVER && BT_CTLR_SYNC_PERIODIC_SUPPORT
824	select BT_CTLR_CHAN_SEL_2
825	default y if BT_PER_ADV_SYNC
826	help
827	  Enable support for Bluetooth 5.0 LE Periodic Advertising in
828	  Synchronization state in the Controller.
829
830config BT_CTLR_SYNC_PERIODIC_RSP
831	bool "LE Periodic Advertising with Responses in Synchronization State"
832	depends on BT_OBSERVER && BT_CTLR_SYNC_PERIODIC_RSP_SUPPORT
833	select BT_CTLR_CHAN_SEL_2
834	default y if BT_PER_ADV_SYNC_RSP
835	help
836	  Enable support for Bluetooth 5.4 LE Periodic Advertising with
837	  Responses in Synchronization state in the Controller.
838
839if BT_CTLR_SYNC_PERIODIC
840
841config BT_CTLR_SYNC_PERIODIC_ADV_LIST
842	bool "LE Periodic Advertiser List support"
843	default y
844	help
845	  Enable support for LE Periodic Advertiser List support.
846
847config BT_CTLR_SYNC_PERIODIC_ADV_LIST_SIZE
848	int "LE Periodic Advertiser List size"
849	depends on BT_CTLR_SYNC_PERIODIC_ADV_LIST
850	range 1 $(UINT8_MAX)
851	default 8
852	help
853	  Set Periodic Advertiser List size, this will be return in the HCI LE
854	  Read Periodic Advertiser List Command.
855
856config BT_CTLR_SYNC_PERIODIC_ADI_SUPPORT
857	bool "Periodic Advertising Sync with ADI support (duplicate filtering)"
858	default y
859	help
860	  Enable support for duplicate filtering using AdvDataInfo present in
861	  Periodic Advertising PDUs.
862
863config BT_CTLR_SYNC_PERIODIC_CTE_TYPE_FILTERING
864	bool "LE Periodic Advertiser filtering by CTE type"
865	default y
866	help
867	  Enable filtering of periodic advertisements depending on type of
868	  Constant Tone Extension.
869
870config BT_CTLR_SYNC_TRANSFER_RECEIVER
871	bool "Periodic Advertising Sync Transfer receiver"
872	depends on BT_CTLR_SYNC_TRANSFER_RECEIVER_SUPPORT
873	default BT_PER_ADV_SYNC_TRANSFER_RECEIVER
874	help
875	  Enable support for the Periodic Advertising Sync Transfer control procedure
876	  as a receiver of the LL_PERIODIC_SYNC_IND. See Core_v5.3, Vol 6, Part B,
877	  Section 5.1.13
878
879endif # BT_CTLR_SYNC_PERIODIC
880
881config BT_CTLR_SYNC_TRANSFER_SENDER
882	bool "Periodic Advertising Sync Transfer sender"
883	depends on BT_CTLR_SYNC_TRANSFER_SENDER_SUPPORT
884	select BT_TICKER_LAZY_GET if BT_LL_SW_SPLIT
885	default BT_PER_ADV_SYNC_TRANSFER_SENDER
886	help
887	  Enable support for the Periodic Advertising Sync Transfer control procedure
888	  as a transmitter of the LL_PERIODIC_SYNC_IND. See Core_v5.3, Vol 6, Part B,
889	  Section 5.1.13
890
891config BT_CTLR_ADV_ISO
892	bool "LE Broadcast Isochronous Channel advertising" if !BT_LL_SW_SPLIT
893	depends on BT_ISO_BROADCASTER && BT_CTLR_ADV_ISO_SUPPORT
894	select BT_CTLR_ADV_PERIODIC
895	select BT_CTLR_SET_HOST_FEATURE
896	select BT_CTLR_ADV_ISO_SEQUENTIAL if !BT_CTLR_ADV_ISO_INTERLEAVED
897	default y if BT_ISO_BROADCASTER
898	help
899	  Enable support for Bluetooth 5.2 LE Isochronous Advertising in the
900	  Controller.
901
902config BT_CTLR_ADV_ISO
903	bool "LE Broadcast Isochronous Channel advertising (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT
904	select EXPERIMENTAL if BT_LL_SW_SPLIT
905
906config BT_CTLR_ADV_ISO_SEQUENTIAL
907	bool "LE Broadcast Isochronous Channel advertising sequential packing"
908	depends on BT_CTLR_ADV_ISO
909
910config BT_CTLR_ADV_ISO_INTERLEAVED
911	bool "LE Broadcast Isochronous Channel advertising interleaved packing"
912	depends on BT_CTLR_ADV_ISO
913
914config BT_CTLR_SYNC_ISO
915	bool "LE Broadcast Isochronous Channel advertising sync" if !BT_LL_SW_SPLIT
916	depends on BT_ISO_SYNC_RECEIVER && BT_CTLR_SYNC_ISO_SUPPORT
917	select BT_CTLR_SYNC_PERIODIC
918	select BT_CTLR_SET_HOST_FEATURE
919	select BT_CTLR_SYNC_ISO_SEQUENTIAL if !BT_CTLR_SYNC_ISO_INTERLEAVED
920	default y if BT_ISO_SYNC_RECEIVER
921	help
922	  Enable support for Bluetooth 5.2 LE Isochronous Advertising sync in
923	  the Controller.
924
925config BT_CTLR_SYNC_ISO
926	bool "LE Broadcast Isochronous Channel advertising sync (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT
927	select EXPERIMENTAL if BT_LL_SW_SPLIT
928
929config BT_CTLR_SYNC_ISO_SEQUENTIAL
930	bool "LE Broadcast Isochronous Channel advertising sync sequential packing"
931	depends on BT_CTLR_SYNC_ISO
932	default y
933
934config BT_CTLR_SYNC_ISO_INTERLEAVED
935	bool "LE Broadcast Isochronous Channel advertising sync interleaved packing"
936	depends on BT_CTLR_SYNC_ISO
937	default y
938
939config BT_CTLR_BROADCAST_ISO
940	bool
941	default BT_CTLR_ADV_ISO || BT_CTLR_SYNC_ISO
942
943config BT_CTLR_BROADCAST_ISO_ENC
944	bool
945	depends on BT_CTLR_BROADCAST_ISO_ENC_SUPPORT && BT_CTLR_BROADCAST_ISO
946	select BT_CRYPTO if BT_LL_SW_SPLIT
947	default y
948
949config BT_CTLR_ADV_ISO_SET
950	int "LE Isochronous Channel advertising sets"
951	depends on BT_CTLR_ADV_ISO
952	range 1 32
953	default BT_ISO_MAX_BIG
954	help
955	  Maximum supported advertising sets.
956
957config BT_CTLR_ADV_ISO_STREAM_MAX
958	int "Maximum supported Broadcast ISO Streams per Broadcast ISO group"
959	depends on BT_CTLR_ADV_ISO
960	range 1 31
961	help
962	  Maximum supported Broadcast ISO Streams per Broadcast ISO group.
963
964config BT_CTLR_ADV_ISO_STREAM_COUNT
965	int "Maximum Broadcast ISO Streams"
966	depends on BT_CTLR_ADV_ISO
967	range BT_CTLR_ADV_ISO_STREAM_MAX 64
968	default BT_ISO_MAX_CHAN
969	help
970	  Maximum Broadcast ISO Streams supported in the Controller across
971	  all Broadcast ISO groups.
972
973config BT_CTLR_ADV_ISO_PDU_LEN_MAX
974	int "Maximum Broadcast Isochronous Channel PDU Length"
975	depends on BT_CTLR_ADV_ISO
976	range 1 251
977	default 251
978	help
979	  Maximum Broadcast Isochronous Channel PDU Length.
980
981config BT_CTLR_SCAN_SYNC_ISO_SET
982	int "LE ISO Broadcast Isochronous Groups Sync Sets"
983	depends on BT_CTLR_SYNC_ISO
984	range 1 64
985	default BT_ISO_MAX_BIG
986	help
987	  Maximum supported broadcast isochronous groups (BIGs) sync sets.
988
989config BT_CTLR_SYNC_ISO_STREAM_MAX
990	int "Maximum supported ISO Synchronized Receiver Streams per Broadcast ISO group"
991	depends on BT_CTLR_SYNC_ISO
992	range 1 31
993	help
994	  Maximum supported ISO Synchronized Receiver Streams per Broadcast ISO
995	  group.
996
997config BT_CTLR_SYNC_ISO_STREAM_COUNT
998	int "Maximum ISO Synchronized Receiver Streams"
999	depends on BT_CTLR_SYNC_ISO
1000	range BT_CTLR_SYNC_ISO_STREAM_MAX 64
1001	default BT_ISO_MAX_CHAN
1002	help
1003	  Maximum ISO Synchronized Receiver Streams supported in the
1004	  Controller across all Broadcast ISO groups.
1005
1006config BT_CTLR_SYNC_ISO_PDU_LEN_MAX
1007	int "Maximum Synchronized Isochronous Channel PDU Length"
1008	depends on BT_CTLR_SYNC_ISO
1009	range 251 251 if BT_HCI_RAW
1010	range 1 251
1011	default 251
1012	help
1013	  Maximum Synchronized Receiver Isochronous Channel PDU Length.
1014
1015endif # BT_CTLR_ADV_EXT
1016
1017config BT_CTLR_SET_HOST_FEATURE
1018	bool "LE Set Host Feature Command" if !BT_LL_SW_SPLIT
1019	help
1020	  Enables optional LE Set Host Feature Command
1021
1022config BT_CTLR_SET_HOST_FEATURE
1023	bool "LE Set Host Feature Command (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT
1024	select EXPERIMENTAL if BT_LL_SW_SPLIT
1025
1026config BT_CTLR_CENTRAL_ISO
1027	bool "LE Connected Isochronous Stream Central" if !BT_LL_SW_SPLIT
1028	depends on BT_CTLR_CENTRAL_ISO_SUPPORT && BT_ISO_CENTRAL
1029	default y if BT_ISO_CENTRAL
1030	help
1031	  Enable support for Bluetooth 5.2 LE Connected Isochronous Stream
1032	  Central role in the Controller.
1033
1034config BT_CTLR_CENTRAL_ISO
1035	bool "LE Connected Isochronous Stream Central (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT
1036	depends on BT_CTLR_CENTRAL_ISO_SUPPORT && BT_ISO_CENTRAL
1037	default y if BT_ISO_CENTRAL
1038	select BT_CTLR_SET_HOST_FEATURE
1039	select EXPERIMENTAL if BT_LL_SW_SPLIT
1040
1041config BT_CTLR_PERIPHERAL_ISO
1042	bool "LE Connected Isochronous Stream Peripheral" if !BT_LL_SW_SPLIT
1043	depends on BT_CTLR_PERIPHERAL_ISO_SUPPORT && BT_ISO_PERIPHERAL
1044	default y if BT_ISO_PERIPHERAL
1045	help
1046	  Enable support for Bluetooth 5.2 LE Connected Isochronous Stream
1047	  Peripheral role in the Controller.
1048
1049config BT_CTLR_PERIPHERAL_ISO
1050	bool "LE Connected Isochronous Stream Peripheral (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT
1051	depends on BT_CTLR_PERIPHERAL_ISO_SUPPORT && BT_ISO_PERIPHERAL
1052	default y if BT_ISO_PERIPHERAL
1053	select BT_CTLR_SET_HOST_FEATURE
1054	select EXPERIMENTAL if BT_LL_SW_SPLIT
1055
1056config BT_CTLR_CONN_ISO
1057	bool
1058	default BT_CTLR_CENTRAL_ISO || BT_CTLR_PERIPHERAL_ISO
1059
1060config BT_CTLR_CONN_ISO_STREAMS
1061	int "LE Connected Isochronous Streams"
1062	depends on BT_CTLR_CONN_ISO
1063	range 1 64
1064	default BT_ISO_MAX_CHAN
1065	help
1066	  Maximum supported total number of CISes.
1067
1068config BT_CTLR_CONN_ISO_GROUPS
1069	int "LE Connected Isochronous Groups"
1070	depends on BT_CTLR_CONN_ISO
1071	range 1 240
1072	default BT_ISO_MAX_CIG
1073	help
1074	  Maximum supported CIGs.
1075
1076config BT_CTLR_CONN_ISO_STREAMS_PER_GROUP
1077	int "LE Connected Isochronous Streams per Group"
1078	depends on BT_CTLR_CONN_ISO
1079	range 1 31
1080	default 2
1081	help
1082	  Maximum supported CISes per CIG.
1083
1084config BT_CTLR_CONN_ISO_PDU_LEN_MAX
1085	int "Maximum Connected Isochronous Channel PDU Length"
1086	depends on BT_CTLR_CONN_ISO
1087	range 251 251 if BT_HCI_RAW
1088	range 1 251
1089	default 251
1090	help
1091	  Maximum Connected Isochronous Channel PDU Length.
1092
1093config BT_CTLR_ISO_TX_SDU_LEN_MAX
1094	int "Maximum Isochronous Channel Transmit SDU Length"
1095	depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO
1096	range 1 4095
1097	default 1
1098	help
1099	  Maximum Isochronous Channel Transmit SDU Length.
1100
1101config BT_CTLR_CONN_ISO_STREAMS_MAX_NSE
1102	int "LE Connected Isochronous Streams max number of subevents"
1103	depends on BT_CTLR_CONN_ISO
1104	range 1 31
1105	default 31
1106	help
1107	  Maximum number of CIS subevents.
1108
1109config BT_CTLR_CONN_ISO_STREAMS_MAX_FT
1110	int "LE Connected Isochronous Streams max flush timeout"
1111	depends on BT_CTLR_CONN_ISO
1112	range 1 $(UINT8_MAX)
1113	default $(UINT8_MAX)
1114	help
1115	  Maximum number of CIS flush timeout events.
1116
1117config BT_CTLR_ISO
1118	bool
1119	default BT_CTLR_BROADCAST_ISO || BT_CTLR_CONN_ISO
1120
1121config BT_CTLR_READ_ISO_LINK_QUALITY
1122	bool "LE Read ISO Link Quality"
1123	depends on BT_CTLR_READ_ISO_LINK_QUALITY_SUPPORT
1124	depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO
1125	help
1126	  Enable support for LE Read ISO Link Quality command.
1127
1128config BT_CTLR_SMI_RX
1129	bool "Stable modulation index - Receiver"
1130	depends on BT_CTLR_SMI_SUPPORT
1131	help
1132	  Enable support for Bluetooth 5.0 SMI RX in the Controller.
1133
1134config BT_CTLR_SMI_TX
1135	bool "Stable modulation index - Transmitter"
1136	depends on BT_CTLR_SMI_SUPPORT
1137	help
1138	  Enable support for Bluetooth 5.0 SMI TX in the Controller.
1139
1140config BT_CTLR_SMI_TX_SETTING
1141	bool "Stable modulation index - Transmitter as setting"
1142	depends on BT_CTLR_SMI_TX && BT_CTLR_SETTINGS
1143	help
1144	  Enable support for Bluetooth 5.0 SMI TX through a system setting.
1145
1146config BT_CTLR_HCI_CODEC_AND_DELAY_INFO
1147	bool "Codecs and controller delay information commands"
1148	depends on BT_CTLR_HCI
1149	help
1150	  Enable HCI commands to read information about supported
1151	  codecs, codec capabilities, and controller delay.
1152
1153config BT_CTLR_SUBRATING
1154	bool "LE Connection Subrating"
1155	depends on BT_CTLR_SUBRATING_SUPPORT
1156	select BT_CTLR_SET_HOST_FEATURE
1157	default y if BT_SUBRATING
1158	help
1159	  Enable support for Bluetooth v5.3 LE Connection Subrating
1160	  in the Controller.
1161
1162config BT_CTLR_FRAME_SPACE_UPDATE
1163	bool "Frame Space Update"
1164	depends on BT_CTLR_FRAME_SPACE_UPDATE_SUPPORT
1165	default y if BT_FRAME_SPACE_UPDATE
1166	help
1167	  Enable support for Bluetooth 6.0 Frame Space Update
1168	  in the Controller.
1169
1170config BT_CTLR_CHANNEL_SOUNDING
1171	bool "Channel Sounding support"
1172	depends on BT_CTLR_CHANNEL_SOUNDING_SUPPORT
1173	select BT_CTLR_SET_HOST_FEATURE
1174	default y if BT_CHANNEL_SOUNDING
1175	help
1176	  Enable support for Bluetooth 6.0 Channel Sounding in the
1177	  Controller.
1178
1179config BT_CTLR_EXTENDED_FEAT_SET
1180	bool "LL Extended Feature Set support"
1181	depends on BT_CTLR_EXTENDED_FEAT_SET_SUPPORT
1182	default y if BT_LE_EXTENDED_FEAT_SET
1183	help
1184	  Enable support for Bluetooth 6.0 LL Extended Feature Set
1185	  in the Controller.
1186
1187rsource "Kconfig.df"
1188rsource "Kconfig.ll_sw_split"
1189rsource "Kconfig.dtm"
1190
1191config BT_CTLR_ASSERT_HANDLER
1192	bool "Application Defined Assertion Handler"
1193	help
1194	  This option enables an application-defined sink for the
1195	  controller assertion mechanism. This must be defined in
1196	  application code as void \"bt_ctlr_assert_handle(char \*, int)\"
1197	  and will be invoked whenever the controller code encounters
1198	  an unrecoverable error.
1199
1200config BT_CTLR_VS_SCAN_REQ_RX
1201	bool "Use scan request reporting"
1202	depends on BT_HCI_VS && !BT_CTLR_ADV_EXT
1203	select BT_CTLR_SCAN_REQ_NOTIFY
1204	help
1205	  Enables usage of VS Scan Request Reports Command and Scan Request Received Event
1206
1207endif # HAS_BT_CTLR
1208
1209config BT_CTLR_DEBUG_PINS_CPUAPP
1210	bool "Bluetooth Controller Debug Pins"
1211	depends on BOARD_NRF5340DK_NRF5340_CPUAPP
1212	help
1213	  Route debug GPIO toggling for the Bluetooth Controller. Enable this when
1214	  using Bluetooth Controller Debug Pins in co-processor and the main
1215	  processor needs to setup and/or route the signals.
1216