1# Bluetooth Classic configuration options
2
3# Copyright (c) 2016-2020 Nordic Semiconductor ASA
4# Copyright (c) 2015-2016 Intel Corporation
5# SPDX-License-Identifier: Apache-2.0
6
7menu "Bluetooth Classic Options"
8
9config BT_CLASSIC
10	bool "Bluetooth BR/EDR support [EXPERIMENTAL]"
11	depends on BT_HCI_HOST
12	select BT_PERIPHERAL
13	select BT_CENTRAL
14	select BT_SMP
15	select BT_L2CAP_DYNAMIC_CHANNEL
16	select EXPERIMENTAL
17	help
18	  This option enables Bluetooth BR/EDR support
19
20if BT_CLASSIC
21config BT_BR_MIN_ENC_KEY_SIZE
22	int
23	prompt "Minimum encryption key size accepted in octets" if !BT_SMP_SC_ONLY
24	default BT_SMP_MIN_ENC_KEY_SIZE
25	range 7 16
26	help
27	  This option sets the minimum encryption key size accepted during pairing
28	  for classic.
29
30config BT_MAX_SCO_CONN
31	int "Maximum number of simultaneous SCO connections"
32	default 1
33	range 1 3
34	help
35	  Maximum number of simultaneous Bluetooth synchronous connections
36	  supported. The minimum (and default) number is 1.
37
38config BT_RFCOMM
39	bool "Bluetooth RFCOMM protocol support [EXPERIMENTAL]"
40	select EXPERIMENTAL
41	help
42	  This option enables Bluetooth RFCOMM support
43
44config BT_RFCOMM_L2CAP_MTU
45	int "L2CAP MTU for RFCOMM frames"
46	depends on BT_RFCOMM
47	default BT_BUF_ACL_RX_SIZE
48	range 23 $(INT16_MAX)
49	help
50	  Maximum size of L2CAP PDU for RFCOMM frames.
51	  RX MTU will be truncated to account for the L2CAP PDU header.
52
53config BT_RFCOMM_TX_MAX
54	int "Maximum number of pending TX buffers for RFCOMM"
55	default BT_CONN_TX_MAX
56	range BT_CONN_TX_MAX $(UINT8_MAX)
57	help
58	  Maximum number of pending TX buffers that have an associated
59	  sending buf. Normally this can be left to the default value, which
60	  is equal to the number of session in the stack-internal pool.
61
62config BT_RFCOMM_DLC_STACK_SIZE
63	int "Stack size of DLC for RFCOMM"
64	default 512
65	help
66	  Stack size of DLC for RFCOMM. This is the context from which
67	  all data of upper layer are sent and disconnect
68	  callback to the upper layer. The default value is sufficient
69	  for basic operation, but if the application needs to do
70	  advanced things in its callbacks that require extra stack
71	  space, this value can be increased to accommodate for that.
72
73config BT_HFP_HF
74	bool "Bluetooth Handsfree profile HF Role support [EXPERIMENTAL]"
75	depends on PRINTK
76	select BT_RFCOMM
77	select EXPERIMENTAL
78	help
79	  This option enables Bluetooth HF support
80
81config BT_HFP_AG
82	bool "Bluetooth Handsfree profile AG Role support [EXPERIMENTAL]"
83	depends on PRINTK
84	select BT_RFCOMM
85	select EXPERIMENTAL
86	help
87	  This option enables Bluetooth AG support
88
89if BT_HFP_AG
90config BT_HFP_AG_TX_BUF_COUNT
91	int "Maximum number of TX buffers for HFP AG [EXPERIMENTAL]"
92	default BT_RFCOMM_TX_MAX
93	range BT_RFCOMM_TX_MAX $(UINT8_MAX)
94	help
95	  Maximum number of pending TX buffers that have an associated
96	  sending buf. Normally this can be left to the default value, which
97	  is equal to the number of session in the stack-internal pool.
98
99config BT_HFP_AG_THREAD_STACK_SIZE
100	int "Size of the HFP AG thread stack [EXPERIMENTAL]"
101	default 1024
102	help
103	  Stack size needed for executing thread for HFP AG.
104
105config BT_HFP_AG_THREAD_PRIO
106	# Hidden option for HFP AG thread priority
107	int
108	default 6
109
110config BT_HFP_AG_OUTGOING_TIMEOUT
111	int "Call outgoing timeout value for HFP AG [EXPERIMENTAL]"
112	default 3
113	range 1 10
114	help
115	  The option sets the timeout of call outgoing. If the call does
116	  not switch to alerting state before timeout, it will be
117	  stopped by the HFP AG. The unit is seconds.
118
119config BT_HFP_AG_INCOMING_TIMEOUT
120	int "Incoming call timeout value for HFP AG [EXPERIMENTAL]"
121	default 3
122	range 1 10
123	help
124	  The option sets the timeout of incoming call. If the call does
125	  not switch to ringing state before timeout, it will be
126	  stopped by the HFP AG. The unit is seconds.
127
128config BT_HFP_AG_ALERTING_TIMEOUT
129	int "Call alerting/ringing timeout value for HFP AG [EXPERIMENTAL]"
130	default 60
131	range 10 60
132	help
133	  The option sets the timeout of call alerting/ringing. If the
134	  call is not active before timeout, it will be stopped
135	  by the HFP AG. The unit is seconds.
136
137config BT_HFP_AG_PHONE_NUMBER_MAX_LEN
138	int "Supported max length of phone number for HFP AG [EXPERIMENTAL]"
139	default 32
140	range 1 $(UINT8_MAX)
141	help
142	  Supported max length of phone number for HFP AG.
143
144config BT_HFP_AG_RING_NOTIFY_INTERVAL
145	int "Ring notification interval [EXPERIMENTAL]"
146	default 3
147	help
148	  Ring notification interval if the call is in alert state.
149	  The unit is seconds.
150endif # BT_HFP_AG
151
152config BT_AVDTP
153	bool "Bluetooth AVDTP protocol support [EXPERIMENTAL]"
154	select EXPERIMENTAL
155	help
156	  This option enables Bluetooth AVDTP support
157
158config BT_A2DP
159	bool "Bluetooth A2DP Profile [EXPERIMENTAL]"
160	select BT_AVDTP
161	select EXPERIMENTAL
162	help
163	  This option enables the A2DP profile
164
165if BT_AVDTP
166
167config BT_AVDTP_RTP_VERSION
168	int "Bluetooth AVDTP RTP version"
169	default 2
170	help
171	  This option sets the AVDTP RTP protocol version
172
173endif # BT_AVDTP
174
175if BT_A2DP
176
177config BT_A2DP_SOURCE
178	bool "Bluetooth A2DP Profile Source Function"
179	help
180	  This option enables the A2DP profile source function
181
182config BT_A2DP_SINK
183	bool "Bluetooth A2DP Profile Sink Function"
184	help
185	  This option enables the A2DP profile sink function
186
187endif # BT_A2DP
188
189config BT_AVCTP
190	bool "Bluetooth AVCTP protocol support [EXPERIMENTAL]"
191	select EXPERIMENTAL
192	help
193	  This option enables Bluetooth AVCTP support
194
195config BT_AVRCP
196	bool "Bluetooth AVRCP Profile [EXPERIMENTAL]"
197	select BT_AVCTP
198	select EXPERIMENTAL
199	help
200	  This option enables the AVRCP profile
201
202if BT_AVRCP
203
204config BT_AVRCP_TARGET
205	bool "Bluetooth AVRCP Profile Target Function"
206	help
207	  This option enables the AVRCP profile target function
208
209config BT_AVRCP_CONTROLLER
210	bool "Bluetooth AVRCP Profile Controller Function"
211	help
212	  This option enables the AVRCP profile controller function
213
214endif # BT_AVRCP
215
216config BT_PAGE_TIMEOUT
217	hex "Bluetooth Page Timeout"
218	default 0x2000
219	range 0x0001 0xffff
220	help
221	  This option sets the page timeout value. Value is selected as
222	  (N * 0.625) ms.
223
224config BT_COD
225	hex "Bluetooth Class of Device(CoD)"
226	default 0
227	help
228	  This option sets the class of device.For the list of possible values please
229	  consult the following link:
230	  https://www.bluetooth.com/specifications/assigned-numbers
231
232endif # BT_CLASSIC
233
234endmenu
235