1config BT_BTC_TASK_STACK_SIZE
2    int "Bluetooth event (callback to application) task stack size"
3    depends on BT_BLUEDROID_ENABLED
4    default 3072
5    help
6        This select btc task stack size
7
8choice BT_BLUEDROID_PINNED_TO_CORE_CHOICE
9    prompt "The cpu core which Bluedroid run"
10    depends on BT_BLUEDROID_ENABLED && !FREERTOS_UNICORE
11    help
12        Which the cpu core to run Bluedroid. Can choose core0 and core1.
13        Can not specify no-affinity.
14
15    config BT_BLUEDROID_PINNED_TO_CORE_0
16        bool "Core 0 (PRO CPU)"
17    config BT_BLUEDROID_PINNED_TO_CORE_1
18        bool "Core 1 (APP CPU)"
19        depends on !FREERTOS_UNICORE
20endchoice
21
22config BT_BLUEDROID_PINNED_TO_CORE
23    int
24    depends on BT_BLUEDROID_ENABLED
25    default 0 if BT_BLUEDROID_PINNED_TO_CORE_0
26    default 1 if BT_BLUEDROID_PINNED_TO_CORE_1
27    default 0
28
29config BT_BTU_TASK_STACK_SIZE
30    int "Bluetooth Bluedroid Host Stack task stack size"
31    depends on BT_BLUEDROID_ENABLED
32    default 4096
33    help
34        This select btu task stack size
35
36config BT_BLUEDROID_MEM_DEBUG
37    bool "Bluedroid memory debug"
38    depends on BT_BLUEDROID_ENABLED
39    default n
40    help
41        Bluedroid memory debug
42
43config BT_CLASSIC_ENABLED
44    bool "Classic Bluetooth"
45    depends on BT_BLUEDROID_ENABLED && IDF_TARGET_ESP32
46    default n
47    help
48        For now this option needs "SMP_ENABLE" to be set to yes
49
50config BT_A2DP_ENABLE
51    bool "A2DP"
52    depends on BT_CLASSIC_ENABLED
53    default n
54    help
55        Advanced Audio Distrubution Profile
56
57config BT_SPP_ENABLED
58    bool "SPP"
59    depends on BT_CLASSIC_ENABLED
60    default n
61    help
62        This enables the Serial Port Profile
63
64config BT_L2CAP_ENABLED
65    bool "BT L2CAP"
66    depends on BT_CLASSIC_ENABLED
67    default n
68    help
69        This enables the Logical Link Control and Adaptation Layer Protocol.
70        Only supported classic bluetooth.
71
72config BT_HFP_ENABLE
73    bool "Hands Free/Handset Profile"
74    depends on BT_CLASSIC_ENABLED
75    default n
76
77choice BT_HFP_ROLE
78    prompt "Hands-free Profile Role configuration"
79    depends on BT_HFP_ENABLE
80
81    config BT_HFP_CLIENT_ENABLE
82        bool "Hands Free Unit"
83
84    config BT_HFP_AG_ENABLE
85        bool "Audio Gateway"
86endchoice
87
88choice BT_HFP_AUDIO_DATA_PATH
89    prompt "audio(SCO) data path"
90    depends on BT_HFP_ENABLE
91    help
92        SCO data path, i.e. HCI or PCM. This option is set using API
93        "esp_bredr_sco_datapath_set" in Bluetooth host. Default SCO data
94        path can also be set in Bluetooth Controller.
95
96    config BT_HFP_AUDIO_DATA_PATH_PCM
97        bool "PCM"
98    config BT_HFP_AUDIO_DATA_PATH_HCI
99        bool "HCI"
100endchoice
101
102config BT_HFP_WBS_ENABLE
103    bool "Wide Band Speech"
104    depends on BT_HFP_AUDIO_DATA_PATH_HCI
105    default y
106    help
107        This enables Wide Band Speech. Should disable it when SCO data path is PCM.
108        Otherwise there will be no data transmited via GPIOs.
109
110config BT_HID_ENABLED
111    bool "Classic BT HID"
112    depends on BT_CLASSIC_ENABLED
113    default n
114    help
115        This enables the BT HID Host
116
117choice BT_HID_ROLE
118    prompt "Profile Role configuration"
119    depends on BT_HID_ENABLED
120    config BT_HID_HOST_ENABLED
121        bool "Classic BT HID Host"
122        help
123            This enables the BT HID Host
124
125    config BT_HID_DEVICE_ENABLED
126        bool "Classic BT HID Device"
127        help
128            This enables the BT HID Device
129endchoice
130
131config BT_SSP_ENABLED
132    bool "Secure Simple Pairing"
133    depends on BT_CLASSIC_ENABLED
134    default y
135    help
136        This enables the Secure Simple Pairing. If disable this option,
137        Bluedroid will only support Legacy Pairing
138
139config BT_BLE_ENABLED
140    bool "Bluetooth Low Energy"
141    depends on BT_BLUEDROID_ENABLED
142    default y
143    help
144        This enables Bluetooth Low Energy
145
146config BT_GATTS_ENABLE
147    bool "Include GATT server module(GATTS)"
148    depends on BT_BLE_ENABLED
149    default y
150    help
151        This option can be disabled when the app work only on gatt client mode
152
153config BT_GATTS_PPCP_CHAR_GAP
154    bool "Enable Peripheral Preferred Connection Parameters characteristic in GAP service"
155    depends on BT_GATTS_ENABLE
156    default n
157    help
158        This enables "Peripheral Preferred Connection Parameters" characteristic (UUID: 0x2A04) in GAP service that has
159        connection parameters like min/max connection interval, slave latency and supervision timeout multiplier
160
161config BT_BLE_BLUFI_ENABLE
162    bool "Include blufi function"
163    depends on BT_GATTS_ENABLE
164    default n
165    help
166        This option can be close when the app does not require blufi function.
167
168config BT_GATT_MAX_SR_PROFILES
169    int "Max GATT Server Profiles"
170    depends on BT_GATTS_ENABLE && BT_BLUEDROID_ENABLED
171    range 1 32
172    default 8
173    help
174        Maximum GATT Server Profiles Count
175
176config BT_GATT_MAX_SR_ATTRIBUTES
177    int "Max GATT Service Attributes"
178    depends on BT_GATTS_ENABLE && BT_BLUEDROID_ENABLED
179    range 1 500
180    default 100
181    help
182        Maximum GATT Service Attributes Count
183
184
185choice BT_GATTS_SEND_SERVICE_CHANGE_MODE
186    prompt "GATTS Service Change Mode"
187    default BT_GATTS_SEND_SERVICE_CHANGE_AUTO
188    depends on BT_GATTS_ENABLE
189    help
190        Service change indication mode for GATT Server.
191
192    config BT_GATTS_SEND_SERVICE_CHANGE_MANUAL
193        bool "GATTS manually send service change indication"
194        help
195            Manually send service change indication through API esp_ble_gatts_send_service_change_indication()
196
197    config BT_GATTS_SEND_SERVICE_CHANGE_AUTO
198        bool "GATTS automatically send service change indication"
199        help
200            Let Bluedroid handle the service change indication internally
201
202endchoice
203
204config BT_GATTS_SEND_SERVICE_CHANGE_MODE
205    int
206    depends on BT_GATTS_ENABLE
207    default 0 if BT_GATTS_SEND_SERVICE_CHANGE_AUTO
208    default 1 if BT_GATTS_SEND_SERVICE_CHANGE_MANUAL
209    default 0
210
211config BT_GATTS_ROBUST_CACHING_ENABLED
212    bool "Enable Robust Caching on Server Side"
213    depends on BT_GATTS_ENABLE
214    default n
215    help
216        This option enable gatt robust caching feature on server
217
218config BT_GATTS_DEVICE_NAME_WRITABLE
219    bool "Allow to write device name by GATT clients"
220    depends on BT_GATTS_ENABLE
221    default n
222    help
223        Enabling this option allows remote GATT clients to write device name
224
225config BT_GATTS_APPEARANCE_WRITABLE
226    bool "Allow to write appearance by GATT clients"
227    depends on BT_GATTS_ENABLE
228    default n
229    help
230        Enabling this option allows remote GATT clients to write appearance
231
232config BT_GATTC_ENABLE
233    bool "Include GATT client module(GATTC)"
234    depends on BT_BLE_ENABLED
235    default y
236    help
237        This option can be close when the app work only on gatt server mode
238
239config BT_GATTC_MAX_CACHE_CHAR
240    int "Max gattc cache characteristic for discover"
241    depends on BT_GATTC_ENABLE
242    range 1 500
243    default 40
244    help
245        Maximum GATTC cache characteristic count
246
247config BT_GATTC_CACHE_NVS_FLASH
248    bool "Save gattc cache data to nvs flash"
249    depends on BT_GATTC_ENABLE
250    default n
251    help
252        This select can save gattc cache data to nvs flash
253
254config BT_GATTC_CONNECT_RETRY_COUNT
255    int "The number of attempts to reconnect if the connection establishment failed"
256    depends on BT_GATTC_ENABLE
257    range 0 7
258    default 3
259    help
260        The number of attempts to reconnect if the connection establishment failed
261
262config BT_BLE_SMP_ENABLE
263    bool "Include BLE security module(SMP)"
264    depends on BT_BLE_ENABLED
265    default y
266    help
267        This option can be close when the app not used the ble security connect.
268
269config BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE
270    bool "Slave enable connection parameters update during pairing"
271    depends on BT_BLE_SMP_ENABLE
272    default n
273    help
274        In order to reduce the pairing time, slave actively initiates connection parameters
275        update during pairing.
276
277config BT_STACK_NO_LOG
278    bool "Disable BT debug logs (minimize bin size)"
279    depends on BT_BLUEDROID_ENABLED
280    default n
281    help
282        This select can save the rodata code size
283
284menu "BT DEBUG LOG LEVEL"
285    depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
286
287    choice BT_LOG_HCI_TRACE_LEVEL
288        prompt "HCI layer"
289        default BT_LOG_HCI_TRACE_LEVEL_WARNING
290        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
291        help
292            Define BT trace level for HCI layer
293
294        config BT_LOG_HCI_TRACE_LEVEL_NONE
295            bool "NONE"
296        config BT_LOG_HCI_TRACE_LEVEL_ERROR
297            bool "ERROR"
298        config BT_LOG_HCI_TRACE_LEVEL_WARNING
299            bool "WARNING"
300        config BT_LOG_HCI_TRACE_LEVEL_API
301            bool "API"
302        config BT_LOG_HCI_TRACE_LEVEL_EVENT
303            bool "EVENT"
304        config BT_LOG_HCI_TRACE_LEVEL_DEBUG
305            bool "DEBUG"
306        config BT_LOG_HCI_TRACE_LEVEL_VERBOSE
307            bool "VERBOSE"
308    endchoice
309
310    config BT_LOG_HCI_TRACE_LEVEL
311        int
312        depends on BT_BLUEDROID_ENABLED
313        default 0 if BT_LOG_HCI_TRACE_LEVEL_NONE
314        default 1 if BT_LOG_HCI_TRACE_LEVEL_ERROR
315        default 2 if BT_LOG_HCI_TRACE_LEVEL_WARNING
316        default 3 if BT_LOG_HCI_TRACE_LEVEL_API
317        default 4 if BT_LOG_HCI_TRACE_LEVEL_EVENT
318        default 5 if BT_LOG_HCI_TRACE_LEVEL_DEBUG
319        default 6 if BT_LOG_HCI_TRACE_LEVEL_VERBOSE
320        default 2
321
322    choice BT_LOG_BTM_TRACE_LEVEL
323        prompt "BTM layer"
324        default BT_LOG_BTM_TRACE_LEVEL_WARNING
325        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
326        help
327            Define BT trace level for BTM layer
328
329        config BT_LOG_BTM_TRACE_LEVEL_NONE
330            bool "NONE"
331        config BT_LOG_BTM_TRACE_LEVEL_ERROR
332            bool "ERROR"
333        config BT_LOG_BTM_TRACE_LEVEL_WARNING
334            bool "WARNING"
335        config BT_LOG_BTM_TRACE_LEVEL_API
336            bool "API"
337        config BT_LOG_BTM_TRACE_LEVEL_EVENT
338            bool "EVENT"
339        config BT_LOG_BTM_TRACE_LEVEL_DEBUG
340            bool "DEBUG"
341        config BT_LOG_BTM_TRACE_LEVEL_VERBOSE
342            bool "VERBOSE"
343    endchoice
344
345    config BT_LOG_BTM_TRACE_LEVEL
346        int
347        depends on BT_BLUEDROID_ENABLED
348        default 0 if BT_LOG_BTM_TRACE_LEVEL_NONE
349        default 1 if BT_LOG_BTM_TRACE_LEVEL_ERROR
350        default 2 if BT_LOG_BTM_TRACE_LEVEL_WARNING
351        default 3 if BT_LOG_BTM_TRACE_LEVEL_API
352        default 4 if BT_LOG_BTM_TRACE_LEVEL_EVENT
353        default 5 if BT_LOG_BTM_TRACE_LEVEL_DEBUG
354        default 6 if BT_LOG_BTM_TRACE_LEVEL_VERBOSE
355        default 2
356
357    choice BT_LOG_L2CAP_TRACE_LEVEL
358        prompt "L2CAP layer"
359        default BT_LOG_L2CAP_TRACE_LEVEL_WARNING
360        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
361        help
362            Define BT trace level for L2CAP layer
363
364        config BT_LOG_L2CAP_TRACE_LEVEL_NONE
365            bool "NONE"
366        config BT_LOG_L2CAP_TRACE_LEVEL_ERROR
367            bool "ERROR"
368        config BT_LOG_L2CAP_TRACE_LEVEL_WARNING
369            bool "WARNING"
370        config BT_LOG_L2CAP_TRACE_LEVEL_API
371            bool "API"
372        config BT_LOG_L2CAP_TRACE_LEVEL_EVENT
373            bool "EVENT"
374        config BT_LOG_L2CAP_TRACE_LEVEL_DEBUG
375            bool "DEBUG"
376        config BT_LOG_L2CAP_TRACE_LEVEL_VERBOSE
377            bool "VERBOSE"
378    endchoice
379
380    config BT_LOG_L2CAP_TRACE_LEVEL
381        int
382        depends on BT_BLUEDROID_ENABLED
383        default 0 if BT_LOG_L2CAP_TRACE_LEVEL_NONE
384        default 1 if BT_LOG_L2CAP_TRACE_LEVEL_ERROR
385        default 2 if BT_LOG_L2CAP_TRACE_LEVEL_WARNING
386        default 3 if BT_LOG_L2CAP_TRACE_LEVEL_API
387        default 4 if BT_LOG_L2CAP_TRACE_LEVEL_EVENT
388        default 5 if BT_LOG_L2CAP_TRACE_LEVEL_DEBUG
389        default 6 if BT_LOG_L2CAP_TRACE_LEVEL_VERBOSE
390        default 2
391
392    choice BT_LOG_RFCOMM_TRACE_LEVEL
393        prompt "RFCOMM layer"
394        default BT_LOG_RFCOMM_TRACE_LEVEL_WARNING
395        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
396        help
397            Define BT trace level for RFCOMM layer
398
399        config BT_LOG_RFCOMM_TRACE_LEVEL_NONE
400            bool "NONE"
401        config BT_LOG_RFCOMM_TRACE_LEVEL_ERROR
402            bool "ERROR"
403        config BT_LOG_RFCOMM_TRACE_LEVEL_WARNING
404            bool "WARNING"
405        config BT_LOG_RFCOMM_TRACE_LEVEL_API
406            bool "API"
407        config BT_LOG_RFCOMM_TRACE_LEVEL_EVENT
408            bool "EVENT"
409        config BT_LOG_RFCOMM_TRACE_LEVEL_DEBUG
410            bool "DEBUG"
411        config BT_LOG_RFCOMM_TRACE_LEVEL_VERBOSE
412            bool "VERBOSE"
413    endchoice
414
415    config BT_LOG_RFCOMM_TRACE_LEVEL
416        int
417        depends on BT_BLUEDROID_ENABLED
418        default 0 if BT_LOG_RFCOMM_TRACE_LEVEL_NONE
419        default 1 if BT_LOG_RFCOMM_TRACE_LEVEL_ERROR
420        default 2 if BT_LOG_RFCOMM_TRACE_LEVEL_WARNING
421        default 3 if BT_LOG_RFCOMM_TRACE_LEVEL_API
422        default 4 if BT_LOG_RFCOMM_TRACE_LEVEL_EVENT
423        default 5 if BT_LOG_RFCOMM_TRACE_LEVEL_DEBUG
424        default 6 if BT_LOG_RFCOMM_TRACE_LEVEL_VERBOSE
425        default 2
426
427    choice BT_LOG_SDP_TRACE_LEVEL
428        prompt "SDP layer"
429        default BT_LOG_SDP_TRACE_LEVEL_WARNING
430        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
431        help
432            Define BT trace level for SDP layer
433
434        config BT_LOG_SDP_TRACE_LEVEL_NONE
435            bool "NONE"
436        config BT_LOG_SDP_TRACE_LEVEL_ERROR
437            bool "ERROR"
438        config BT_LOG_SDP_TRACE_LEVEL_WARNING
439            bool "WARNING"
440        config BT_LOG_SDP_TRACE_LEVEL_API
441            bool "API"
442        config BT_LOG_SDP_TRACE_LEVEL_EVENT
443            bool "EVENT"
444        config BT_LOG_SDP_TRACE_LEVEL_DEBUG
445            bool "DEBUG"
446        config BT_LOG_SDP_TRACE_LEVEL_VERBOSE
447            bool "VERBOSE"
448    endchoice
449
450    config BT_LOG_SDP_TRACE_LEVEL
451        int
452        depends on BT_BLUEDROID_ENABLED
453        default 0 if BT_LOG_SDP_TRACE_LEVEL_NONE
454        default 1 if BT_LOG_SDP_TRACE_LEVEL_ERROR
455        default 2 if BT_LOG_SDP_TRACE_LEVEL_WARNING
456        default 3 if BT_LOG_SDP_TRACE_LEVEL_API
457        default 4 if BT_LOG_SDP_TRACE_LEVEL_EVENT
458        default 5 if BT_LOG_SDP_TRACE_LEVEL_DEBUG
459        default 6 if BT_LOG_SDP_TRACE_LEVEL_VERBOSE
460        default 2
461
462    choice BT_LOG_GAP_TRACE_LEVEL
463        prompt "GAP layer"
464        default BT_LOG_GAP_TRACE_LEVEL_WARNING
465        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
466        help
467            Define BT trace level for GAP layer
468
469        config BT_LOG_GAP_TRACE_LEVEL_NONE
470            bool "NONE"
471        config BT_LOG_GAP_TRACE_LEVEL_ERROR
472            bool "ERROR"
473        config BT_LOG_GAP_TRACE_LEVEL_WARNING
474            bool "WARNING"
475        config BT_LOG_GAP_TRACE_LEVEL_API
476            bool "API"
477        config BT_LOG_GAP_TRACE_LEVEL_EVENT
478            bool "EVENT"
479        config BT_LOG_GAP_TRACE_LEVEL_DEBUG
480            bool "DEBUG"
481        config BT_LOG_GAP_TRACE_LEVEL_VERBOSE
482            bool "VERBOSE"
483    endchoice
484
485    config BT_LOG_GAP_TRACE_LEVEL
486        int
487        depends on BT_BLUEDROID_ENABLED
488        default 0 if BT_LOG_GAP_TRACE_LEVEL_NONE
489        default 1 if BT_LOG_GAP_TRACE_LEVEL_ERROR
490        default 2 if BT_LOG_GAP_TRACE_LEVEL_WARNING
491        default 3 if BT_LOG_GAP_TRACE_LEVEL_API
492        default 4 if BT_LOG_GAP_TRACE_LEVEL_EVENT
493        default 5 if BT_LOG_GAP_TRACE_LEVEL_DEBUG
494        default 6 if BT_LOG_GAP_TRACE_LEVEL_VERBOSE
495        default 2
496
497    choice BT_LOG_BNEP_TRACE_LEVEL
498        prompt "BNEP layer"
499        default BT_LOG_BNEP_TRACE_LEVEL_WARNING
500        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
501        help
502            Define BT trace level for BNEP layer
503
504        config BT_LOG_BNEP_TRACE_LEVEL_NONE
505            bool "NONE"
506        config BT_LOG_BNEP_TRACE_LEVEL_ERROR
507            bool "ERROR"
508        config BT_LOG_BNEP_TRACE_LEVEL_WARNING
509            bool "WARNING"
510        config BT_LOG_BNEP_TRACE_LEVEL_API
511            bool "API"
512        config BT_LOG_BNEP_TRACE_LEVEL_EVENT
513            bool "EVENT"
514        config BT_LOG_BNEP_TRACE_LEVEL_DEBUG
515            bool "DEBUG"
516        config BT_LOG_BNEP_TRACE_LEVEL_VERBOSE
517            bool "VERBOSE"
518    endchoice
519
520    config BT_LOG_BNEP_TRACE_LEVEL
521        int
522        depends on BT_BLUEDROID_ENABLED
523        default 0 if BT_LOG_BNEP_TRACE_LEVEL_NONE
524        default 1 if BT_LOG_BNEP_TRACE_LEVEL_ERROR
525        default 2 if BT_LOG_BNEP_TRACE_LEVEL_WARNING
526        default 3 if BT_LOG_BNEP_TRACE_LEVEL_API
527        default 4 if BT_LOG_BNEP_TRACE_LEVEL_EVENT
528        default 5 if BT_LOG_BNEP_TRACE_LEVEL_DEBUG
529        default 6 if BT_LOG_BNEP_TRACE_LEVEL_VERBOSE
530        default 2
531
532    choice BT_LOG_PAN_TRACE_LEVEL
533        prompt "PAN layer"
534        default BT_LOG_PAN_TRACE_LEVEL_WARNING
535        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
536        help
537            Define BT trace level for PAN layer
538
539        config BT_LOG_PAN_TRACE_LEVEL_NONE
540            bool "NONE"
541        config BT_LOG_PAN_TRACE_LEVEL_ERROR
542            bool "ERROR"
543        config BT_LOG_PAN_TRACE_LEVEL_WARNING
544            bool "WARNING"
545        config BT_LOG_PAN_TRACE_LEVEL_API
546            bool "API"
547        config BT_LOG_PAN_TRACE_LEVEL_EVENT
548            bool "EVENT"
549        config BT_LOG_PAN_TRACE_LEVEL_DEBUG
550            bool "DEBUG"
551        config BT_LOG_PAN_TRACE_LEVEL_VERBOSE
552            bool "VERBOSE"
553    endchoice
554
555    config BT_LOG_PAN_TRACE_LEVEL
556        int
557        depends on BT_BLUEDROID_ENABLED
558        default 0 if BT_LOG_PAN_TRACE_LEVEL_NONE
559        default 1 if BT_LOG_PAN_TRACE_LEVEL_ERROR
560        default 2 if BT_LOG_PAN_TRACE_LEVEL_WARNING
561        default 3 if BT_LOG_PAN_TRACE_LEVEL_API
562        default 4 if BT_LOG_PAN_TRACE_LEVEL_EVENT
563        default 5 if BT_LOG_PAN_TRACE_LEVEL_DEBUG
564        default 6 if BT_LOG_PAN_TRACE_LEVEL_VERBOSE
565        default 2
566
567    choice BT_LOG_A2D_TRACE_LEVEL
568        prompt "A2D layer"
569        default BT_LOG_A2D_TRACE_LEVEL_WARNING
570        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
571        help
572            Define BT trace level for A2D layer
573
574        config BT_LOG_A2D_TRACE_LEVEL_NONE
575            bool "NONE"
576        config BT_LOG_A2D_TRACE_LEVEL_ERROR
577            bool "ERROR"
578        config BT_LOG_A2D_TRACE_LEVEL_WARNING
579            bool "WARNING"
580        config BT_LOG_A2D_TRACE_LEVEL_API
581            bool "API"
582        config BT_LOG_A2D_TRACE_LEVEL_EVENT
583            bool "EVENT"
584        config BT_LOG_A2D_TRACE_LEVEL_DEBUG
585            bool "DEBUG"
586        config BT_LOG_A2D_TRACE_LEVEL_VERBOSE
587            bool "VERBOSE"
588    endchoice
589
590    config BT_LOG_A2D_TRACE_LEVEL
591        int
592        depends on BT_BLUEDROID_ENABLED
593        default 0 if BT_LOG_A2D_TRACE_LEVEL_NONE
594        default 1 if BT_LOG_A2D_TRACE_LEVEL_ERROR
595        default 2 if BT_LOG_A2D_TRACE_LEVEL_WARNING
596        default 3 if BT_LOG_A2D_TRACE_LEVEL_API
597        default 4 if BT_LOG_A2D_TRACE_LEVEL_EVENT
598        default 5 if BT_LOG_A2D_TRACE_LEVEL_DEBUG
599        default 6 if BT_LOG_A2D_TRACE_LEVEL_VERBOSE
600        default 2
601
602    choice BT_LOG_AVDT_TRACE_LEVEL
603        prompt "AVDT layer"
604        default BT_LOG_AVDT_TRACE_LEVEL_WARNING
605        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
606        help
607            Define BT trace level for AVDT layer
608
609        config BT_LOG_AVDT_TRACE_LEVEL_NONE
610            bool "NONE"
611        config BT_LOG_AVDT_TRACE_LEVEL_ERROR
612            bool "ERROR"
613        config BT_LOG_AVDT_TRACE_LEVEL_WARNING
614            bool "WARNING"
615        config BT_LOG_AVDT_TRACE_LEVEL_API
616            bool "API"
617        config BT_LOG_AVDT_TRACE_LEVEL_EVENT
618            bool "EVENT"
619        config BT_LOG_AVDT_TRACE_LEVEL_DEBUG
620            bool "DEBUG"
621        config BT_LOG_AVDT_TRACE_LEVEL_VERBOSE
622            bool "VERBOSE"
623    endchoice
624
625    config BT_LOG_AVDT_TRACE_LEVEL
626        int
627        depends on BT_BLUEDROID_ENABLED
628        default 0 if BT_LOG_AVDT_TRACE_LEVEL_NONE
629        default 1 if BT_LOG_AVDT_TRACE_LEVEL_ERROR
630        default 2 if BT_LOG_AVDT_TRACE_LEVEL_WARNING
631        default 3 if BT_LOG_AVDT_TRACE_LEVEL_API
632        default 4 if BT_LOG_AVDT_TRACE_LEVEL_EVENT
633        default 5 if BT_LOG_AVDT_TRACE_LEVEL_DEBUG
634        default 6 if BT_LOG_AVDT_TRACE_LEVEL_VERBOSE
635        default 2
636
637    choice BT_LOG_AVCT_TRACE_LEVEL
638        prompt "AVCT layer"
639        default BT_LOG_AVCT_TRACE_LEVEL_WARNING
640        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
641        help
642            Define BT trace level for AVCT layer
643
644        config BT_LOG_AVCT_TRACE_LEVEL_NONE
645            bool "NONE"
646        config BT_LOG_AVCT_TRACE_LEVEL_ERROR
647            bool "ERROR"
648        config BT_LOG_AVCT_TRACE_LEVEL_WARNING
649            bool "WARNING"
650        config BT_LOG_AVCT_TRACE_LEVEL_API
651            bool "API"
652        config BT_LOG_AVCT_TRACE_LEVEL_EVENT
653            bool "EVENT"
654        config BT_LOG_AVCT_TRACE_LEVEL_DEBUG
655            bool "DEBUG"
656        config BT_LOG_AVCT_TRACE_LEVEL_VERBOSE
657            bool "VERBOSE"
658    endchoice
659
660    config BT_LOG_AVCT_TRACE_LEVEL
661        int
662        depends on BT_BLUEDROID_ENABLED
663        default 0 if BT_LOG_AVCT_TRACE_LEVEL_NONE
664        default 1 if BT_LOG_AVCT_TRACE_LEVEL_ERROR
665        default 2 if BT_LOG_AVCT_TRACE_LEVEL_WARNING
666        default 3 if BT_LOG_AVCT_TRACE_LEVEL_API
667        default 4 if BT_LOG_AVCT_TRACE_LEVEL_EVENT
668        default 5 if BT_LOG_AVCT_TRACE_LEVEL_DEBUG
669        default 6 if BT_LOG_AVCT_TRACE_LEVEL_VERBOSE
670        default 2
671
672    choice BT_LOG_AVRC_TRACE_LEVEL
673        prompt "AVRC layer"
674        default BT_LOG_AVRC_TRACE_LEVEL_WARNING
675        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
676        help
677            Define BT trace level for AVRC layer
678
679        config BT_LOG_AVRC_TRACE_LEVEL_NONE
680            bool "NONE"
681        config BT_LOG_AVRC_TRACE_LEVEL_ERROR
682            bool "ERROR"
683        config BT_LOG_AVRC_TRACE_LEVEL_WARNING
684            bool "WARNING"
685        config BT_LOG_AVRC_TRACE_LEVEL_API
686            bool "API"
687        config BT_LOG_AVRC_TRACE_LEVEL_EVENT
688            bool "EVENT"
689        config BT_LOG_AVRC_TRACE_LEVEL_DEBUG
690            bool "DEBUG"
691        config BT_LOG_AVRC_TRACE_LEVEL_VERBOSE
692            bool "VERBOSE"
693    endchoice
694
695    config BT_LOG_AVRC_TRACE_LEVEL
696        int
697        depends on BT_BLUEDROID_ENABLED
698        default 0 if BT_LOG_AVRC_TRACE_LEVEL_NONE
699        default 1 if BT_LOG_AVRC_TRACE_LEVEL_ERROR
700        default 2 if BT_LOG_AVRC_TRACE_LEVEL_WARNING
701        default 3 if BT_LOG_AVRC_TRACE_LEVEL_API
702        default 4 if BT_LOG_AVRC_TRACE_LEVEL_EVENT
703        default 5 if BT_LOG_AVRC_TRACE_LEVEL_DEBUG
704        default 6 if BT_LOG_AVRC_TRACE_LEVEL_VERBOSE
705        default 2
706
707    choice BT_LOG_MCA_TRACE_LEVEL
708        prompt "MCA layer"
709        default BT_LOG_MCA_TRACE_LEVEL_WARNING
710        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
711        help
712            Define BT trace level for MCA layer
713
714        config BT_LOG_MCA_TRACE_LEVEL_NONE
715            bool "NONE"
716        config BT_LOG_MCA_TRACE_LEVEL_ERROR
717            bool "ERROR"
718        config BT_LOG_MCA_TRACE_LEVEL_WARNING
719            bool "WARNING"
720        config BT_LOG_MCA_TRACE_LEVEL_API
721            bool "API"
722        config BT_LOG_MCA_TRACE_LEVEL_EVENT
723            bool "EVENT"
724        config BT_LOG_MCA_TRACE_LEVEL_DEBUG
725            bool "DEBUG"
726        config BT_LOG_MCA_TRACE_LEVEL_VERBOSE
727            bool "VERBOSE"
728    endchoice
729
730    config BT_LOG_MCA_TRACE_LEVEL
731        int
732        depends on BT_BLUEDROID_ENABLED
733        default 0 if BT_LOG_MCA_TRACE_LEVEL_NONE
734        default 1 if BT_LOG_MCA_TRACE_LEVEL_ERROR
735        default 2 if BT_LOG_MCA_TRACE_LEVEL_WARNING
736        default 3 if BT_LOG_MCA_TRACE_LEVEL_API
737        default 4 if BT_LOG_MCA_TRACE_LEVEL_EVENT
738        default 5 if BT_LOG_MCA_TRACE_LEVEL_DEBUG
739        default 6 if BT_LOG_MCA_TRACE_LEVEL_VERBOSE
740        default 2
741
742    choice BT_LOG_HID_TRACE_LEVEL
743        prompt "HID layer"
744        default BT_LOG_HID_TRACE_LEVEL_WARNING
745        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
746        help
747            Define BT trace level for HID layer
748
749        config BT_LOG_HID_TRACE_LEVEL_NONE
750            bool "NONE"
751        config BT_LOG_HID_TRACE_LEVEL_ERROR
752            bool "ERROR"
753        config BT_LOG_HID_TRACE_LEVEL_WARNING
754            bool "WARNING"
755        config BT_LOG_HID_TRACE_LEVEL_API
756            bool "API"
757        config BT_LOG_HID_TRACE_LEVEL_EVENT
758            bool "EVENT"
759        config BT_LOG_HID_TRACE_LEVEL_DEBUG
760            bool "DEBUG"
761        config BT_LOG_HID_TRACE_LEVEL_VERBOSE
762            bool "VERBOSE"
763    endchoice
764
765    config BT_LOG_HID_TRACE_LEVEL
766        int
767        depends on BT_BLUEDROID_ENABLED
768        default 0 if BT_LOG_HID_TRACE_LEVEL_NONE
769        default 1 if BT_LOG_HID_TRACE_LEVEL_ERROR
770        default 2 if BT_LOG_HID_TRACE_LEVEL_WARNING
771        default 3 if BT_LOG_HID_TRACE_LEVEL_API
772        default 4 if BT_LOG_HID_TRACE_LEVEL_EVENT
773        default 5 if BT_LOG_HID_TRACE_LEVEL_DEBUG
774        default 6 if BT_LOG_HID_TRACE_LEVEL_VERBOSE
775        default 2
776
777    choice BT_LOG_APPL_TRACE_LEVEL
778        prompt "APPL layer"
779        default BT_LOG_APPL_TRACE_LEVEL_WARNING
780        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
781        help
782            Define BT trace level for APPL layer
783
784        config BT_LOG_APPL_TRACE_LEVEL_NONE
785            bool "NONE"
786        config BT_LOG_APPL_TRACE_LEVEL_ERROR
787            bool "ERROR"
788        config BT_LOG_APPL_TRACE_LEVEL_WARNING
789            bool "WARNING"
790        config BT_LOG_APPL_TRACE_LEVEL_API
791            bool "API"
792        config BT_LOG_APPL_TRACE_LEVEL_EVENT
793            bool "EVENT"
794        config BT_LOG_APPL_TRACE_LEVEL_DEBUG
795            bool "DEBUG"
796        config BT_LOG_APPL_TRACE_LEVEL_VERBOSE
797            bool "VERBOSE"
798    endchoice
799
800    config BT_LOG_APPL_TRACE_LEVEL
801        int
802        depends on BT_BLUEDROID_ENABLED
803        default 0 if BT_LOG_APPL_TRACE_LEVEL_NONE
804        default 1 if BT_LOG_APPL_TRACE_LEVEL_ERROR
805        default 2 if BT_LOG_APPL_TRACE_LEVEL_WARNING
806        default 3 if BT_LOG_APPL_TRACE_LEVEL_API
807        default 4 if BT_LOG_APPL_TRACE_LEVEL_EVENT
808        default 5 if BT_LOG_APPL_TRACE_LEVEL_DEBUG
809        default 6 if BT_LOG_APPL_TRACE_LEVEL_VERBOSE
810        default 2
811
812    choice BT_LOG_GATT_TRACE_LEVEL
813        prompt "GATT layer"
814        default BT_LOG_GATT_TRACE_LEVEL_WARNING
815        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
816        help
817            Define BT trace level for GATT layer
818
819        config BT_LOG_GATT_TRACE_LEVEL_NONE
820            bool "NONE"
821        config BT_LOG_GATT_TRACE_LEVEL_ERROR
822            bool "ERROR"
823        config BT_LOG_GATT_TRACE_LEVEL_WARNING
824            bool "WARNING"
825        config BT_LOG_GATT_TRACE_LEVEL_API
826            bool "API"
827        config BT_LOG_GATT_TRACE_LEVEL_EVENT
828            bool "EVENT"
829        config BT_LOG_GATT_TRACE_LEVEL_DEBUG
830            bool "DEBUG"
831        config BT_LOG_GATT_TRACE_LEVEL_VERBOSE
832            bool "VERBOSE"
833    endchoice
834
835    config BT_LOG_GATT_TRACE_LEVEL
836        int
837        depends on BT_BLUEDROID_ENABLED
838        default 0 if BT_LOG_GATT_TRACE_LEVEL_NONE
839        default 1 if BT_LOG_GATT_TRACE_LEVEL_ERROR
840        default 2 if BT_LOG_GATT_TRACE_LEVEL_WARNING
841        default 3 if BT_LOG_GATT_TRACE_LEVEL_API
842        default 4 if BT_LOG_GATT_TRACE_LEVEL_EVENT
843        default 5 if BT_LOG_GATT_TRACE_LEVEL_DEBUG
844        default 6 if BT_LOG_GATT_TRACE_LEVEL_VERBOSE
845        default 2
846
847    choice BT_LOG_SMP_TRACE_LEVEL
848        prompt "SMP layer"
849        default BT_LOG_SMP_TRACE_LEVEL_WARNING
850        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
851        help
852            Define BT trace level for SMP layer
853
854        config BT_LOG_SMP_TRACE_LEVEL_NONE
855            bool "NONE"
856        config BT_LOG_SMP_TRACE_LEVEL_ERROR
857            bool "ERROR"
858        config BT_LOG_SMP_TRACE_LEVEL_WARNING
859            bool "WARNING"
860        config BT_LOG_SMP_TRACE_LEVEL_API
861            bool "API"
862        config BT_LOG_SMP_TRACE_LEVEL_EVENT
863            bool "EVENT"
864        config BT_LOG_SMP_TRACE_LEVEL_DEBUG
865            bool "DEBUG"
866        config BT_LOG_SMP_TRACE_LEVEL_VERBOSE
867            bool "VERBOSE"
868    endchoice
869
870    config BT_LOG_SMP_TRACE_LEVEL
871        int
872        depends on BT_BLUEDROID_ENABLED
873        default 0 if BT_LOG_SMP_TRACE_LEVEL_NONE
874        default 1 if BT_LOG_SMP_TRACE_LEVEL_ERROR
875        default 2 if BT_LOG_SMP_TRACE_LEVEL_WARNING
876        default 3 if BT_LOG_SMP_TRACE_LEVEL_API
877        default 4 if BT_LOG_SMP_TRACE_LEVEL_EVENT
878        default 5 if BT_LOG_SMP_TRACE_LEVEL_DEBUG
879        default 6 if BT_LOG_SMP_TRACE_LEVEL_VERBOSE
880        default 2
881
882    choice BT_LOG_BTIF_TRACE_LEVEL
883        prompt "BTIF layer"
884        default BT_LOG_BTIF_TRACE_LEVEL_WARNING
885        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
886        help
887            Define BT trace level for BTIF layer
888
889        config BT_LOG_BTIF_TRACE_LEVEL_NONE
890            bool "NONE"
891        config BT_LOG_BTIF_TRACE_LEVEL_ERROR
892            bool "ERROR"
893        config BT_LOG_BTIF_TRACE_LEVEL_WARNING
894            bool "WARNING"
895        config BT_LOG_BTIF_TRACE_LEVEL_API
896            bool "API"
897        config BT_LOG_BTIF_TRACE_LEVEL_EVENT
898            bool "EVENT"
899        config BT_LOG_BTIF_TRACE_LEVEL_DEBUG
900            bool "DEBUG"
901        config BT_LOG_BTIF_TRACE_LEVEL_VERBOSE
902            bool "VERBOSE"
903    endchoice
904
905    config BT_LOG_BTIF_TRACE_LEVEL
906        int
907        depends on BT_BLUEDROID_ENABLED
908        default 0 if BT_LOG_BTIF_TRACE_LEVEL_NONE
909        default 1 if BT_LOG_BTIF_TRACE_LEVEL_ERROR
910        default 2 if BT_LOG_BTIF_TRACE_LEVEL_WARNING
911        default 3 if BT_LOG_BTIF_TRACE_LEVEL_API
912        default 4 if BT_LOG_BTIF_TRACE_LEVEL_EVENT
913        default 5 if BT_LOG_BTIF_TRACE_LEVEL_DEBUG
914        default 6 if BT_LOG_BTIF_TRACE_LEVEL_VERBOSE
915        default 2
916
917    choice BT_LOG_BTC_TRACE_LEVEL
918        prompt "BTC layer"
919        default BT_LOG_BTC_TRACE_LEVEL_WARNING
920        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
921        help
922            Define BT trace level for BTC layer
923
924        config BT_LOG_BTC_TRACE_LEVEL_NONE
925            bool "NONE"
926        config BT_LOG_BTC_TRACE_LEVEL_ERROR
927            bool "ERROR"
928        config BT_LOG_BTC_TRACE_LEVEL_WARNING
929            bool "WARNING"
930        config BT_LOG_BTC_TRACE_LEVEL_API
931            bool "API"
932        config BT_LOG_BTC_TRACE_LEVEL_EVENT
933            bool "EVENT"
934        config BT_LOG_BTC_TRACE_LEVEL_DEBUG
935            bool "DEBUG"
936        config BT_LOG_BTC_TRACE_LEVEL_VERBOSE
937            bool "VERBOSE"
938    endchoice
939
940    config BT_LOG_BTC_TRACE_LEVEL
941        int
942        depends on BT_BLUEDROID_ENABLED
943        default 0 if BT_LOG_BTC_TRACE_LEVEL_NONE
944        default 1 if BT_LOG_BTC_TRACE_LEVEL_ERROR
945        default 2 if BT_LOG_BTC_TRACE_LEVEL_WARNING
946        default 3 if BT_LOG_BTC_TRACE_LEVEL_API
947        default 4 if BT_LOG_BTC_TRACE_LEVEL_EVENT
948        default 5 if BT_LOG_BTC_TRACE_LEVEL_DEBUG
949        default 6 if BT_LOG_BTC_TRACE_LEVEL_VERBOSE
950        default 2
951
952    choice BT_LOG_OSI_TRACE_LEVEL
953        prompt "OSI layer"
954        default BT_LOG_OSI_TRACE_LEVEL_WARNING
955        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
956        help
957            Define BT trace level for OSI layer
958
959        config BT_LOG_OSI_TRACE_LEVEL_NONE
960            bool "NONE"
961        config BT_LOG_OSI_TRACE_LEVEL_ERROR
962            bool "ERROR"
963        config BT_LOG_OSI_TRACE_LEVEL_WARNING
964            bool "WARNING"
965        config BT_LOG_OSI_TRACE_LEVEL_API
966            bool "API"
967        config BT_LOG_OSI_TRACE_LEVEL_EVENT
968            bool "EVENT"
969        config BT_LOG_OSI_TRACE_LEVEL_DEBUG
970            bool "DEBUG"
971        config BT_LOG_OSI_TRACE_LEVEL_VERBOSE
972            bool "VERBOSE"
973    endchoice
974
975    config BT_LOG_OSI_TRACE_LEVEL
976        int
977        depends on BT_BLUEDROID_ENABLED
978        default 0 if BT_LOG_OSI_TRACE_LEVEL_NONE
979        default 1 if BT_LOG_OSI_TRACE_LEVEL_ERROR
980        default 2 if BT_LOG_OSI_TRACE_LEVEL_WARNING
981        default 3 if BT_LOG_OSI_TRACE_LEVEL_API
982        default 4 if BT_LOG_OSI_TRACE_LEVEL_EVENT
983        default 5 if BT_LOG_OSI_TRACE_LEVEL_DEBUG
984        default 6 if BT_LOG_OSI_TRACE_LEVEL_VERBOSE
985        default 2
986
987    choice BT_LOG_BLUFI_TRACE_LEVEL
988        prompt "BLUFI layer"
989        default BT_LOG_BLUFI_TRACE_LEVEL_WARNING
990        depends on BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG
991        help
992            Define BT trace level for BLUFI layer
993
994        config BT_LOG_BLUFI_TRACE_LEVEL_NONE
995            bool "NONE"
996        config BT_LOG_BLUFI_TRACE_LEVEL_ERROR
997            bool "ERROR"
998        config BT_LOG_BLUFI_TRACE_LEVEL_WARNING
999            bool "WARNING"
1000        config BT_LOG_BLUFI_TRACE_LEVEL_API
1001            bool "API"
1002        config BT_LOG_BLUFI_TRACE_LEVEL_EVENT
1003            bool "EVENT"
1004        config BT_LOG_BLUFI_TRACE_LEVEL_DEBUG
1005            bool "DEBUG"
1006        config BT_LOG_BLUFI_TRACE_LEVEL_VERBOSE
1007            bool "VERBOSE"
1008    endchoice
1009
1010    config BT_LOG_BLUFI_TRACE_LEVEL
1011        int
1012        depends on BT_BLUEDROID_ENABLED
1013        default 0 if BT_LOG_BLUFI_TRACE_LEVEL_NONE
1014        default 1 if BT_LOG_BLUFI_TRACE_LEVEL_ERROR
1015        default 2 if BT_LOG_BLUFI_TRACE_LEVEL_WARNING
1016        default 3 if BT_LOG_BLUFI_TRACE_LEVEL_API
1017        default 4 if BT_LOG_BLUFI_TRACE_LEVEL_EVENT
1018        default 5 if BT_LOG_BLUFI_TRACE_LEVEL_DEBUG
1019        default 6 if BT_LOG_BLUFI_TRACE_LEVEL_VERBOSE
1020        default 2
1021
1022endmenu #BT DEBUG LOG LEVEL
1023
1024config BT_ACL_CONNECTIONS
1025    int "BT/BLE MAX ACL CONNECTIONS(1~9)"
1026    depends on BT_BLUEDROID_ENABLED
1027    range 1 9
1028    default 4
1029    help
1030        Maximum BT/BLE connection count. The ESP32-C3/S3 chip supports a maximum of 10 instances,
1031        including ADV, SCAN and connections. The ESP32-C3/S3 chip can connect up to 9 devices if
1032        ADV or SCAN uses only one. If ADV and SCAN are both used, The ESP32-C3/S3 chip is connected
1033        to a maximum of 8 devices. Because Bluetooth cannot reclaim used instances once ADV or SCAN
1034        is used.
1035
1036config BT_MULTI_CONNECTION_ENBALE
1037    bool "Enable BLE multi-conections"
1038    depends on BT_BLUEDROID_ENABLED
1039    default y
1040    help
1041        Enable this option if there are multiple connections
1042
1043config BT_ALLOCATION_FROM_SPIRAM_FIRST
1044    bool "BT/BLE will first malloc the memory from the PSRAM"
1045    depends on BT_BLUEDROID_ENABLED
1046    default n
1047    help
1048        This select can save the internal RAM if there have the PSRAM
1049
1050config BT_BLE_DYNAMIC_ENV_MEMORY
1051    bool "Use dynamic memory allocation in BT/BLE stack"
1052    depends on BT_BLUEDROID_ENABLED
1053    default n
1054    help
1055        This select can make the allocation of memory will become more flexible
1056
1057config BT_BLE_HOST_QUEUE_CONG_CHECK
1058    bool "BLE queue congestion check"
1059    depends on BT_BLUEDROID_ENABLED
1060    default n
1061    help
1062        When scanning and scan duplicate is not enabled, if there are a lot of adv packets around
1063        or application layer handling adv packets is slow, it will cause the controller memory
1064        to run out. if enabled, adv packets will be lost when host queue is congested.
1065
1066config BT_SMP_ENABLE
1067    bool
1068    depends on BT_BLUEDROID_ENABLED
1069    default BT_CLASSIC_ENABLED || BT_BLE_SMP_ENABLE
1070
1071config BT_BLE_ACT_SCAN_REP_ADV_SCAN
1072    bool "Report adv data and scan response individually when BLE active scan"
1073    depends on BT_BLUEDROID_ENABLED && BT_BLE_ENABLED
1074    default n
1075    help
1076        Originally, when doing BLE active scan, Bluedroid will not report adv to application layer
1077        until receive scan response. This option is used to disable the behavior. When enable this option,
1078        Bluedroid will report adv data or scan response to application layer immediately.
1079
1080        # Memory reserved at start of DRAM for Bluetooth stack
1081
1082config BT_BLE_ESTAB_LINK_CONN_TOUT
1083    int "Timeout of BLE connection establishment"
1084    depends on BT_BLUEDROID_ENABLED
1085    range 1 60
1086    default 30
1087    help
1088        Bluetooth Connection establishment maximum time, if connection time exceeds this value, the connection
1089        establishment fails, ESP_GATTC_OPEN_EVT or ESP_GATTS_OPEN_EVT is triggered.
1090
1091config BT_MAX_DEVICE_NAME_LEN
1092    int "length of bluetooth device name"
1093    depends on BT_BLUEDROID_ENABLED
1094    range 32 248
1095    default 32
1096    help
1097        Bluetooth Device name length shall be no larger than 248 octets, If the broadcast data cannot contain
1098        the complete device name, then only the shortname will be displayed, the rest parts that can't fit in
1099        will be truncated.
1100
1101config BT_BLE_RPA_SUPPORTED
1102    bool "Update RPA to Controller"
1103    depends on BT_BLUEDROID_ENABLED && !SOC_BLE_DEVICE_PRIVACY_SUPPORTED
1104    default n
1105    help
1106        This enables controller RPA list function.
1107        For ESP32, ESP32 only support network privacy mode. If this option is enabled, ESP32 will only accept
1108        advertising packets from peer devices that contain private address, HW will not receive the advertising
1109        packets contain identity address after IRK changed. If this option is disabled, address resolution will
1110        be performed in the host, so the functions that require controller to resolve address in the white list
1111        cannot be used. This option is disabled by default on ESP32, please enable or disable this option according
1112        to your own needs.
1113
1114        For other BLE chips, devices support network privacy mode and device privacy mode,
1115        users can switch the two modes according to their own needs. So this option is enabled by default.
1116
1117config BT_BLE_RPA_TIMEOUT
1118    int "Timeout of resolvable private address"
1119    depends on BT_BLUEDROID_ENABLED
1120    range 1 3600
1121    default 900
1122    help
1123        This set RPA timeout of Controller and Host.
1124        Default is 900 s (15 minutes). Range is 1 s to 1 hour (3600 s).
1125
1126config BT_BLE_50_FEATURES_SUPPORTED
1127    bool "Enable BLE 5.0 features"
1128    depends on (BT_BLUEDROID_ENABLED && (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || SOC_ESP_NIMBLE_CONTROLLER))
1129    default y
1130    help
1131        This enables BLE 5.0 features, this option only support esp32c3/esp32s3 chip
1132
1133config BT_BLE_42_FEATURES_SUPPORTED
1134    bool "Enable BLE 4.2 features"
1135    depends on (BT_BLUEDROID_ENABLED && (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || SOC_ESP_NIMBLE_CONTROLLER))
1136    default n
1137    help
1138        This enables BLE 4.2 features.
1139