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