1# Bluetooth Controller configuration options
2
3# Copyright (c) 2016-2017 Nordic Semiconductor ASA
4# SPDX-License-Identifier: Apache-2.0
5
6comment "BLE Controller support"
7
8# The following symbols are enabled depending if the controller actually
9# supports the respective features.
10
11config BT_CTLR_LE_ENC_SUPPORT
12	bool
13
14config BT_CTLR_CONN_PARAM_REQ_SUPPORT
15	bool
16
17config BT_CTLR_EXT_REJ_IND_SUPPORT
18	bool
19
20config BT_CTLR_PER_INIT_FEAT_XCHG_SUPPORT
21	bool
22
23config BT_CTLR_DATA_LEN_UPDATE_SUPPORT
24	bool
25
26config BT_CTLR_PRIVACY_SUPPORT
27	bool
28
29config BT_CTLR_EXT_SCAN_FP_SUPPORT
30	bool
31
32config BT_CTLR_PHY_UPDATE_SUPPORT
33	bool
34
35config BT_CTLR_PHY_2M_SUPPORT
36	bool
37
38config BT_CTLR_PHY_CODED_SUPPORT
39	bool
40
41config BT_CTLR_ADV_EXT_SUPPORT
42	bool
43
44config BT_CTLR_ADV_PERIODIC_SUPPORT
45	depends on BT_CTLR_ADV_EXT_SUPPORT
46	bool
47
48config BT_CTLR_SYNC_PERIODIC_SUPPORT
49	depends on BT_CTLR_ADV_EXT_SUPPORT
50	bool
51
52config BT_CTLR_ADV_ISO_SUPPORT
53	depends on BT_CTLR_ADV_PERIODIC_SUPPORT
54	bool
55
56config BT_CTLR_SYNC_ISO_SUPPORT
57	depends on BT_CTLR_SYNC_PERIODIC_SUPPORT
58	bool
59
60config BT_CTLR_CENTRAL_ISO_SUPPORT
61	bool
62
63config BT_CTLR_PERIPHERAL_ISO_SUPPORT
64	bool
65
66config BT_CTLR_CHAN_SEL_2_SUPPORT
67	bool
68
69config BT_CTLR_MIN_USED_CHAN_SUPPORT
70	bool
71
72config BT_CTLR_DTM_HCI_SUPPORT
73	bool
74
75config BT_CTLR_SMI_SUPPORT
76	bool
77
78config BT_CTLR_CONN_RSSI_SUPPORT
79	bool
80
81config BT_CTLR_ECDH_SUPPORT
82	bool
83
84config BT_CTLR
85	bool "Bluetooth Controller"
86	help
87	  Enables support for SoC native controller implementations.
88
89if BT_CTLR
90
91choice BT_LL_CHOICE
92	prompt "Bluetooth Link Layer Selection"
93	help
94	  Select the Bluetooth Link Layer to compile.
95
96config BT_LL_SW_SPLIT
97	bool "Software-based BLE Link Layer"
98	select BT_RECV_IS_RX_THREAD
99	select ENTROPY_GENERATOR
100	select NRF_HW_TIMER0_RESERVED
101	select NRF_HW_RTC0_RESERVED
102	help
103	  Use Zephyr software BLE Link Layer ULL LLL split implementation.
104
105endchoice
106
107comment "BLE Controller configuration"
108
109config BT_CTLR_CRYPTO
110	bool "Enable crypto functions in Controller"
111	default y
112	select ENTROPY_GENERATOR
113	help
114	  Use random number generation and AES encryption support functions
115	  provided by the controller.
116
117config BT_CTLR_HCI_VS_BUILD_INFO
118	string "Zephyr HCI VS Build Info string"
119	default ""
120	depends on BT_HCI_VS_EXT
121	help
122	  User-defined string that will be returned by the Zephyr VS Read Build
123	  Information command after the Zephyr version and build time. When
124	  setting this to a value different from an empty string, a space
125	  character is required at the beginning to separate it from the
126	  already included information.
127
128config BT_CTLR_AD_DATA_BACKUP
129	bool "Enable Legacy AD Data backup"
130	depends on BT_PERIPHERAL || BT_CTLR_ADV_EXT
131	default y
132	help
133	  Backup Legacy Advertising Data when switching to Legacy Directed or
134	  to Extended Advertising mode, and restore it when switching back to
135	  Legacy Non-Directed Advertising mode.
136	  Application can disable this feature if not using Directed
137	  Advertising or switch between Legacy and Extended Advertising.
138
139config BT_CTLR_HCI_ADV_HANDLE_MAPPING
140	bool "Enable advertising set handle mapping between HCI and LL"
141	depends on BT_CTLR_ADV_EXT
142	default y if BT_HCI_RAW
143	help
144	  Enable mapping of advertising set handles between HCI and LL when
145	  using external host since it can use arbitrary numbers as set handles
146	  (as defined by Core specification) as opposed to LL which always uses
147	  zero-based numbering. When using with Zephyr host this option can be
148	  disabled to remove extra mapping logic.
149
150config BT_CTLR_DUP_FILTER_LEN
151	int "Number of addresses in the scan duplicate filter"
152	depends on BT_OBSERVER
153	default 16
154	help
155	  Set the number of unique BLE addresses that can be filtered as
156	  duplicates while scanning.
157
158config BT_CTLR_MESH_SCAN_FILTERS
159	int "Number of Mesh scan filters"
160	depends on BT_HCI_MESH_EXT
161	default 1
162	range 1 15
163	help
164	  Set the number of unique Mesh Scan Filters available as part of
165	  the Intel Mesh Vendor Specific Extensions.
166
167config BT_CTLR_MESH_SF_PATTERNS
168	int "Number of Mesh scan filter patterns"
169	depends on BT_HCI_MESH_EXT
170	default 15
171	range 1 15
172	help
173	  Set the number of unique Mesh Scan Filter patterns available per
174	  Scan Filter as part of the Intel Mesh Vendor Specific Extensions.
175
176config BT_CTLR_RX_BUFFERS
177	int "Number of Rx buffers"
178	default 6 if BT_HCI_RAW
179	default 1
180	range 1 18
181	help
182	  Set the number of Rx PDUs to be buffered in the controller. In a 7.5ms
183	  connection interval and 2M PHY, maximum 18 packets with L2CAP payload
184	  size of 1 byte can be received.
185
186config BT_CTLR_ISO_TX_BUFFERS
187	int "Number of Isochronous Tx buffers"
188	depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO
189	range 1 19
190	default 3
191	help
192	  Set the number of Isochronous Tx PDUs to be queued for transmission
193	  in the controller.
194
195config BT_CTLR_ISO_TX_BUFFER_SIZE
196	int "Isochronous Tx buffer size"
197	depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO
198	range 1 4095
199	default 27
200	help
201	  Size of the Isochronous Tx buffers and the value returned in HCI LE
202	  Read Buffer Size V2 command response.
203
204choice BT_CTLR_TX_PWR
205	prompt "Tx Power"
206	default BT_CTLR_TX_PWR_0
207	help
208	  Select the supported BLE Radio transmit power level in dBm.
209
210config BT_CTLR_TX_PWR_PLUS_8
211	bool "+8 dBm"
212	depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH
213
214config BT_CTLR_TX_PWR_PLUS_7
215	bool "+7 dBm"
216	depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH
217
218config BT_CTLR_TX_PWR_PLUS_6
219	bool "+6 dBm"
220	depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH
221
222config BT_CTLR_TX_PWR_PLUS_5
223	bool "+5 dBm"
224	depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH
225
226config BT_CTLR_TX_PWR_PLUS_4
227	bool "+4 dBm"
228	depends on SOC_SERIES_NRF51X || SOC_COMPATIBLE_NRF52X
229
230config BT_CTLR_TX_PWR_PLUS_3
231	bool "+3 dBm"
232	depends on SOC_COMPATIBLE_NRF52X
233
234config BT_CTLR_TX_PWR_PLUS_2
235	bool "+2 dBm"
236	depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH
237
238config BT_CTLR_TX_PWR_0
239	bool "0 dBm"
240
241config BT_CTLR_TX_PWR_MINUS_4
242	bool "-4 dBm"
243
244config BT_CTLR_TX_PWR_MINUS_8
245	bool "-8 dBm"
246
247config BT_CTLR_TX_PWR_MINUS_12
248	bool "-12 dBm"
249
250config BT_CTLR_TX_PWR_MINUS_16
251	bool "-16 dBm"
252
253config BT_CTLR_TX_PWR_MINUS_20
254	bool "-20 dBm"
255
256config BT_CTLR_TX_PWR_MINUS_30
257	bool "-30 dBm"
258	depends on SOC_SERIES_NRF51X
259
260config BT_CTLR_TX_PWR_MINUS_40
261	bool "-40 dBm"
262	depends on SOC_COMPATIBLE_NRF52X
263
264endchoice
265
266config BT_CTLR_TX_PWR_DYNAMIC_CONTROL
267	bool "Tx Power Dynamic Control"
268	depends on BT_HCI_VS_EXT
269	help
270	  Enable dynamic control of Tx power per role/connection.
271	  Provides HCI VS commands to set and get the current Tx
272	  power on an individual role/connection basis.
273
274comment "BLE Controller features"
275
276if BT_CONN
277
278config BT_CTLR_LE_ENC
279	bool "LE Encryption"
280	depends on BT_CTLR_LE_ENC_SUPPORT
281	default y
282	help
283	  Enable support for Bluetooth v4.0 LE Encryption feature in the
284	  Controller.
285
286config BT_CTLR_ECDH
287	bool "Elliptic Curve Diffie-Hellman (ECDH)"
288	depends on BT_CTLR_ECDH_SUPPORT
289	default y
290	help
291	  Enable support for Bluetoooth v4.2 Elliptic Curve Diffie-Hellman
292	  feature in the controller.
293
294config BT_CTLR_CONN_PARAM_REQ
295	bool "Connection Parameter Request"
296	depends on BT_CTLR_CONN_PARAM_REQ_SUPPORT
297	select BT_CTLR_EXT_REJ_IND
298	default y
299	help
300	  Enable support for Bluetooth v4.1 Connection Parameter Request feature
301	  in the Controller.
302
303config BT_CTLR_EXT_REJ_IND
304	bool "Extended Reject Indication"
305	depends on BT_CTLR_EXT_REJ_IND_SUPPORT
306	default y
307	help
308	  Enable support for Bluetooth v4.1 Extended Reject Indication feature
309	  in the Controller.
310
311config BT_CTLR_PER_INIT_FEAT_XCHG
312	bool "Peripheral-initiated Features Exchange"
313	depends on BT_CTLR_PER_INIT_FEAT_XCHG_SUPPORT
314	default y
315	help
316	  Enable support for Bluetooth v4.1 Peripheral-initiated Features Exchange
317	  feature in the Controller.
318
319config BT_CTLR_LE_PING
320	bool "LE Ping"
321	depends on BT_CTLR_LE_ENC
322	default y
323	help
324	  Enable support for Bluetooth v4.1 LE Ping feature in the Controller.
325
326config BT_CTLR_DATA_LENGTH
327	# Hidden option to enable support for Bluetooth v4.2 LE Data Length
328	# Update procedure in the Controller.
329	bool
330	depends on BT_DATA_LEN_UPDATE && BT_CTLR_DATA_LEN_UPDATE_SUPPORT
331	default y
332
333config BT_CTLR_DATA_LENGTH_MAX
334	int "Maximum data length supported"
335	depends on BT_CTLR_DATA_LENGTH
336	default 27
337	range 27 BT_BUF_ACL_RX_SIZE if BT_BUF_ACL_RX_SIZE < 251
338	range 27 251
339	help
340	  Set the maximum data length of PDU supported in the Controller.
341
342config BT_CTLR_PHY
343	# Hidden option to enable support for Bluetooth 5.0 PHY Update
344	# Procedure in the Controller.
345	bool
346	depends on BT_PHY_UPDATE && BT_CTLR_PHY_UPDATE_SUPPORT
347	select BT_CTLR_EXT_REJ_IND
348	default y
349
350config BT_CTLR_MIN_USED_CHAN
351	bool "Minimum Number of Used Channels"
352	depends on BT_CTLR_MIN_USED_CHAN_SUPPORT
353	default y
354	help
355	  Enable support for Bluetooth 5.0 Minimum Number of Used Channels
356	  Procedure in the Controller.
357
358config BT_CTLR_CONN_RSSI
359	bool "Connection RSSI"
360	depends on BT_CTLR_CONN_RSSI_SUPPORT
361	default y if BT_HCI_RAW
362	help
363	  Enable connection RSSI measurement.
364
365config BT_CTLR_CHECK_SAME_PEER_CONN
366	bool
367	default BT_MAX_CONN > 1 && !BT_CTLR_ALLOW_SAME_PEER_CONN
368
369endif # BT_CONN
370
371config BT_CTLR_FILTER_ACCEPT_LIST
372	bool "Filter Accept List Support"
373	default y
374	help
375	  Enable support for controller Filter Accept List feature
376
377config BT_CTLR_PRIVACY
378	bool "LE Controller-based Privacy"
379	depends on BT_CTLR_PRIVACY_SUPPORT
380	default y
381	select BT_CTLR_FILTER_ACCEPT_LIST if BT_LL_SW_SPLIT
382	select BT_RPA
383	help
384	  Enable support for Bluetooth v4.2 LE Controller-based Privacy feature
385	  in the Controller.
386
387config BT_CTLR_FAL_SIZE
388	int "LE Controller-based Privacy White List size"
389	depends on BT_CTLR_FILTER_ACCEPT_LIST
390	default 8
391	range 1 8  if  (SOC_COMPATIBLE_NRF || SOC_OPENISA_RV32M1_RISCV32)
392	range 1 16 if !(SOC_COMPATIBLE_NRF || SOC_OPENISA_RV32M1_RISCV32)
393	help
394	  Set the size of the White List for LE Controller-based Privacy.
395	  On nRF5x-based controllers, the hardware imposes a limit of 8 devices.
396	  On OpenISA-based controllers, the hardware imposes a limit of 8 devices.
397
398config BT_CTLR_RL_SIZE
399	int "LE Controller-based Privacy Resolving List size"
400	depends on BT_CTLR_PRIVACY
401	default 8
402	range 1 8 if SOC_COMPATIBLE_NRF
403	range 1 8 if SOC_OPENISA_RV32M1_RISCV32
404	help
405	  Set the size of the Resolving List for LE Controller-based Privacy.
406	  On nRF5x-based controllers, the hardware imposes a limit of 8 devices.
407	  On OpenISA-based controllers, the hardware imposes a limit of 8 devices.
408
409config BT_CTLR_EXT_SCAN_FP
410	bool "LE Extended Scanner Filter Policies"
411	depends on BT_OBSERVER && BT_CTLR_EXT_SCAN_FP_SUPPORT
412	default y
413	help
414	  Enable support for Bluetooth v4.2 LE Extended Scanner Filter Policies
415	  in the Controller.
416
417config BT_CTLR_PHY_2M
418	bool "2Mbps PHY Support"
419	depends on (BT_CTLR_PHY || BT_CTLR_ADV_EXT) && BT_CTLR_PHY_2M_SUPPORT
420	default y
421	help
422	  Enable support for Bluetooth 5.0 2Mbps PHY in the Controller.
423
424config BT_CTLR_PHY_CODED
425	bool "Coded PHY Support"
426	depends on (BT_CTLR_PHY || BT_CTLR_ADV_EXT) && BT_CTLR_PHY_CODED_SUPPORT
427	default y if BT_HCI_RAW
428	help
429	  Enable support for Bluetooth 5.0 Coded PHY in the Controller.
430
431config BT_CTLR_CHAN_SEL_2
432	bool "Channel Selection Algorithm #2"
433	depends on (BT_CONN || (BT_BROADCASTER && BT_CTLR_ADV_EXT) || BT_CTLR_ADV_PERIODIC || BT_CTLR_SYNC_PERIODIC) && BT_CTLR_CHAN_SEL_2_SUPPORT
434	default y
435	help
436	  Enable support for Bluetooth 5.0 LE Channel Selection Algorithm #2 in
437	  the Controller.
438
439config BT_CTLR_ADV_EXT
440	bool "LE Advertising Extensions" if !BT_LL_SW_SPLIT
441	depends on BT_CTLR_ADV_EXT_SUPPORT
442	select BT_CTLR_SCAN_REQ_NOTIFY if BT_LL_SW_SPLIT && BT_BROADCASTER
443	# Enable by default for BT_LL_SW_SPLIT when "LE Advertising Set Terminated event" is implemented
444	default y if BT_EXT_ADV && !BT_LL_SW_SPLIT
445	help
446	  Enable support for Bluetooth 5.0 LE Advertising Extensions in the
447	  Controller.
448
449config BT_CTLR_ADV_EXT
450	prompt "LE Advertising Extensions [EXPERIMENTAL]" if BT_LL_SW_SPLIT
451
452if BT_CTLR_ADV_EXT
453
454config BT_CTLR_ADV_SET
455	int "LE Advertising Extensions Sets"
456	depends on BT_BROADCASTER
457	range 1 64
458	default BT_EXT_ADV_MAX_ADV_SET if BT_EXT_ADV
459	help
460	  Maximum supported advertising sets.
461
462config BT_CTLR_ADV_DATA_LEN_MAX
463	int "Maximum Advertising Data Length"
464	range 31 1650
465	help
466	  Maximum Extended Advertising Data Length.
467
468config BT_CTLR_ADV_EXT_RX_PDU_LEN_MAX
469	int "Maximum Advertising Extensions Receive PDU Length"
470	range 255 255 if BT_HCI_RAW
471	range 31 255
472	default 255
473	help
474	  Maximum Advertising Extensions Receive PDU Length.
475
476config BT_CTLR_ADV_PERIODIC
477	bool "LE Periodic Advertising in Advertising State" if !BT_LL_SW_SPLIT
478	depends on BT_BROADCASTER && BT_CTLR_ADV_PERIODIC_SUPPORT
479	select BT_CTLR_CHAN_SEL_2
480	default y if BT_PER_ADV
481	help
482	  Enable support for Bluetooth 5.0 LE Periodic Advertising in the
483	  Controller.
484
485config BT_CTLR_ADV_PERIODIC
486	bool "LE Periodic Advertising in Advertising State [EXPERIMENTAL]" if BT_LL_SW_SPLIT
487
488config BT_CTLR_SYNC_PERIODIC
489	bool "LE Periodic Advertising in Synchronization State" if !BT_LL_SW_SPLIT
490	depends on BT_OBSERVER && BT_CTLR_SYNC_PERIODIC_SUPPORT
491	select BT_CTLR_CHAN_SEL_2
492	default y if BT_PER_ADV_SYNC
493	help
494	  Enable support for Bluetooth 5.0 LE Periodic Advertising in
495	  Synchronization state in the Controller.
496
497config BT_CTLR_SYNC_PERIODIC
498	bool "LE Periodic Advertising in Synchronization State [EXPERIMENTAL]" if BT_LL_SW_SPLIT
499
500config BT_CTLR_SYNC_PERIODIC_CTE_TYPE_FILTERING
501	bool "LE Periodic Advertiser filtering by CTE type"
502	depends on BT_CTLR_SYNC_PERIODIC
503	default y
504	help
505	  Enable filtering of periodic advertisements depending on type of
506	  Constant Tone Extension.
507
508config BT_CTLR_ADV_ISO
509	bool "LE Broadcast Isochronous Channel advertising" if !BT_LL_SW_SPLIT
510	depends on BT_BROADCASTER && BT_CTLR_ADV_ISO_SUPPORT
511	select BT_CTLR_ADV_PERIODIC
512	select BT_CTLR_SET_HOST_FEATURE
513	help
514	  Enable support for Bluetooth 5.2 LE Isochronous Advertising in the
515	  Controller.
516
517config BT_CTLR_ADV_ISO
518	bool "LE Broadcast Isochronous Channel advertising [EXPERIMENTAL]" if BT_LL_SW_SPLIT
519
520config BT_CTLR_SYNC_ISO
521	bool "LE Broadcast Isochronous Channel advertising sync" if !BT_LL_SW_SPLIT
522	depends on BT_OBSERVER && BT_CTLR_SYNC_ISO_SUPPORT
523	select BT_CTLR_SYNC_PERIODIC
524	select BT_CTLR_SET_HOST_FEATURE
525	help
526	  Enable support for Bluetooth 5.2 LE Isochronous Advertising sync in
527	  the Controller.
528
529config BT_CTLR_SYNC_ISO
530	bool "LE Broadcast Isochronous Channel advertising sync [EXPERIMENTAL]" if BT_LL_SW_SPLIT
531
532config BT_CTLR_BROADCAST_ISO
533	bool
534	default BT_CTLR_ADV_ISO || BT_CTLR_SYNC_ISO
535
536config BT_CTLR_ADV_ISO_SET
537	int "LE Isochronous Channel advertising sets"
538	depends on BT_CTLR_ADV_ISO
539	range 1 32
540	default 1
541	help
542	  Maximum supported advertising sets.
543
544config BT_CTLR_ADV_ISO_PDU_LEN_MAX
545	int "Maximum Broadcast Isochronous Channel PDU Length"
546	depends on BT_CTLR_ADV_ISO
547	range 27 251
548	default 251
549	help
550	  Maximum Broadcast Isochronous Channel PDU Length.
551
552config BT_CTLR_SYNC_ISO_PDU_LEN_MAX
553	int "Maximum Synchronized Isochronous Channel PDU Length"
554	depends on BT_CTLR_SYNC_ISO
555	range 251 251 if BT_HCI_RAW
556	range 27 251
557	default 251
558	help
559	  Maximum Synchronized Receiver Isochronous Channel PDU Length.
560
561endif # BT_CTLR_ADV_EXT
562
563config BT_CTLR_SET_HOST_FEATURE
564	bool "LE Set Host Feature Command [EXPERIMENTAL]"
565	help
566	  Enables optional LE Set Host Feature Command
567
568config BT_CTLR_CENTRAL_ISO
569	bool "LE Connected Isochronous Stream Central" if !BT_LL_SW_SPLIT
570	depends on BT_CTLR_CENTRAL_ISO_SUPPORT && BT_CENTRAL
571	help
572	  Enable support for Bluetooth 5.2 LE Connected Isochronous Stream
573	  Central role in the Controller.
574
575config BT_CTLR_CENTRAL_ISO
576	bool "LE Connected Isochronous Stream Central [EXPERIMENTAL]" if BT_LL_SW_SPLIT
577	select BT_CTLR_SET_HOST_FEATURE
578
579config BT_CTLR_PERIPHERAL_ISO
580	bool "LE Connected Isochronous Stream Peripheral" if !BT_LL_SW_SPLIT
581	depends on BT_CTLR_PERIPHERAL_ISO_SUPPORT && BT_PERIPHERAL
582	help
583	  Enable support for Bluetooth 5.2 LE Connected Isochronous Stream
584	  Peripheral role in the Controller.
585
586config BT_CTLR_PERIPHERAL_ISO
587	bool "LE Connected Isochronous Stream Peripheral [EXPERIMENTAL]" if BT_LL_SW_SPLIT
588	select BT_CTLR_SET_HOST_FEATURE
589
590config BT_CTLR_CONN_ISO
591	bool
592	default BT_CTLR_CENTRAL_ISO || BT_CTLR_PERIPHERAL_ISO
593
594config BT_CTLR_CONN_ISO_STREAMS
595	int "LE Connected Isochronous Streams"
596	depends on BT_CTLR_CONN_ISO
597	range 1 64
598	default 2
599	help
600	  Maximum supported total number of CISes.
601
602config BT_CTLR_CONN_ISO_GROUPS
603	int "LE Connected Isochronous Groups"
604	depends on BT_CTLR_CONN_ISO
605	range 1 240
606	default 1
607	help
608	  Maximum supported CIGs.
609
610config BT_CTLR_CONN_ISO_STREAMS_PER_GROUP
611	int "LE Connected Isochronous Streams per Group"
612	depends on BT_CTLR_CONN_ISO
613	range 1 31
614	default 2
615	help
616	  Maximum supported CISes per CIG.
617
618config BT_CTLR_ISO
619	bool
620	default BT_CTLR_BROADCAST_ISO || BT_CTLR_CONN_ISO
621
622config BT_CTLR_DTM
623	bool
624	help
625	  Enable support for Direct Test Mode in the Controller.
626
627config BT_CTLR_DTM_HCI
628	bool "Direct Test Mode over HCI"
629	depends on BT_CTLR_DTM_HCI_SUPPORT
630	select BT_CTLR_DTM
631	help
632	  Enable support for Direct Test Mode over the HCI transport.
633
634config BT_CTLR_SMI_RX
635	bool "Stable modulation index - Receiver"
636	depends on BT_CTLR_SMI_SUPPORT
637	help
638	  Enable support for Bluetooth 5.0 SMI RX in the Controller.
639
640config BT_CTLR_SMI_TX
641	bool "Stable modulation index - Transmitter"
642	depends on BT_CTLR_SMI_SUPPORT
643	help
644	  Enable support for Bluetooth 5.0 SMI TX in the Controller.
645
646config BT_CTLR_SMI_TX_SETTING
647	bool "Stable modulation index - Transmitter as setting"
648	depends on BT_CTLR_SMI_TX && BT_CTLR_SETTINGS
649	help
650	  Enable support for Bluetooth 5.0 SMI TX through a system setting.
651
652config BT_CTLR_HCI_CODEC_AND_DELAY_INFO
653	bool "Codecs and controller delay information commands"
654	help
655	  Enable HCI commands to read information about supported
656	  codecs, codec capabilities, and controller delay.
657
658rsource "Kconfig.df"
659rsource "Kconfig.ll_sw_split"
660
661config BT_CTLR_ASSERT_HANDLER
662	bool "Application Defined Assertion Handler"
663	help
664	  This option enables an application-defined sink for the
665	  controller assertion mechanism. This must be defined in
666	  application code as void \"bt_ctlr_assert_handle(char \*, int)\"
667	  and will be invoked whenever the controller code encounters
668	  an unrecoverable error.
669
670config BT_CTLR_TEST
671	bool "Run in-system unit tests"
672	help
673	  Run in-system unit tests
674
675endif # BT_CTLR
676
677config BT_CTLR_DEBUG_PINS_CPUAPP
678	bool "Bluetooth Controller Debug Pins"
679	depends on BOARD_NRF5340DK_NRF5340_CPUAPP
680	help
681	  Route debug GPIO toggling for the BLE Controller. Enable this when
682	  using Bluetooth Controller Debug Pins in co-processor and the main
683	  processor needs to setup and/or route the signals.
684