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