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