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